These are chat archives for LaravelRUS/chat

1st
May 2014
Алексей Данчин
@Aleksey-Danchin
May 01 2014 05:57 UTC
Ребят, что не так с этим angular
<!doctype html>
<html lang="en" ng-app='SOO'>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <div ng-controller='someController'>
        <p>{{someDate}}</p>
    </div>
    <script src="http://code.jquery.com/jquery-2.1.0.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0-beta.7/angular.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0-beta.7/angular-route.min.js"></script>
    <script>
        $(function(){
            var app = app.module('SOO', ['ngRoute']);
            app.controller('someController', function($scope){
                $scope.someDate = 'Ok, all good!';
            })
        })
    </script>
</body>
</html>
Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.3.0-beta.7/$injector/modulerr?p0=SOO&p1=Error…s.org%2F1.3.0-beta.7%2F%24injector%2Fnomod%3Fp0%3DSOO%0A%20%20%20%20at%20E...<omitted>...2)
Алексей Данчин
@Aleksey-Danchin
May 01 2014 06:19 UTC
Выяснил что не так
Angular initializes automatically upon DOMContentLoaded event or when the angular.js script is evaluated if at that time document.readyState is set to 'complete'. At this point Angular looks for the ng-app directive which designates your application root.
RomM1
@RomM1
May 01 2014 09:23 UTC

Не получается зарегистрировать репозиторий: Class 'Repositories\Offer\OfferServiceProvider' not found

В composer.json прописан "app/vendor", сами файлы репозитория лежат в "app\vendor\Repositories\Offer\". namespace Repositories\Offer;

Регистрирую $this->app::bind('Repositories\Offer\IOfferRepository', 'Repositories\Offer\EloquentOfferRepository');

Brezhnev Ivan
@vanchelo
May 01 2014 09:36 UTC
покажи composer.json
RomM1
@RomM1
May 01 2014 09:37 UTC
code
Brezhnev Ivan
@vanchelo
May 01 2014 09:37 UTC
$this->app::bind('Repositories\Offer\IOfferRepository'
у тебя тут или опечатка или ошибка
почему IOffer
IOffer - интерфейс
Brezhnev Ivan
@vanchelo
May 01 2014 09:40 UTC
а где секция psr-0 или psr-4 ?
в autoload я вижу только "classmap":
у тебя вот такая структура ?
app/vendor/Repositories/Offer
RomM1
@RomM1
May 01 2014 09:42 UTC
Да
Brezhnev Ivan
@vanchelo
May 01 2014 09:44 UTC
This message was deleted
"psr-4": {"Repositories\\Offer\\": "app/vendor/Repositories/Offer"}
или
"psr-0": {"Repositories\\Offer": "app/vendor/"}
RomM1
@RomM1
May 01 2014 10:16 UTC
Прописал, теперь "ReflectionException Class IOfferRepository does not exist", хотя класс лежит где надо и назван правильно
Brezhnev Ivan
@vanchelo
May 01 2014 10:19 UTC
composer dumpautoload сделал?
RomM1
@RomM1
May 01 2014 10:22 UTC
Да
Brezhnev Ivan
@vanchelo
May 01 2014 10:23 UTC
может ошибся где?
или опечатка
RomM1
@RomM1
May 01 2014 10:23 UTC
Сейчас еще раз перепроверю, возможно ошибся
Brezhnev Ivan
@vanchelo
May 01 2014 10:25 UTC
сделай скрин дерева папок, и верхушку реализованного интерфейса который хочешь забиндить
RomM1
@RomM1
May 01 2014 10:51 UTC
alt
alt
Brezhnev Ivan
@vanchelo
May 01 2014 10:52 UTC
а сама реализация?
RomM1
@RomM1
May 01 2014 10:52 UTC
alt
Brezhnev Ivan
@vanchelo
May 01 2014 10:53 UTC
и файлы названы правильно?
RomM1
@RomM1
May 01 2014 10:59 UTC

Да. В app провайдер прописан

'Repositories\Offer\OfferServiceProvider',

Сама регистрация

<?php namespace Repositories\Offer;

use Illuminate\Support\ServiceProvider;

class OfferServiceProvider extends ServiceProvider {

    public function register()
    {
        $this->app->bind('Repositories\Offer\IOfferRepository', 'Repositories\Offer\EloquentOfferRepository');
    }
}
Brezhnev Ivan
@vanchelo
May 01 2014 11:02 UTC
а дальше ты в контроллере что делаешь?
RomM1
@RomM1
May 01 2014 11:03 UTC
class OfferController extends BaseController {

    public function __construct(IOfferRepository $offer)
    {
        $this->offer = $offer;
    }
Brezhnev Ivan
@vanchelo
May 01 2014 11:05 UTC
а почему не полное название с namespace?
тогда тебе и биндить надо как
$this->app->bind('IOfferRepository', 'Repositories\Offer\EloquentOfferRepository');
вот он и ругается что IOffer не найден
public function __construct(Repositories\Offer\IOfferRepository $offer)
выбирай как тебе по душе)
Brezhnev Ivan
@vanchelo
May 01 2014 11:15 UTC
либо use Repositories\Offer\IOfferRepository а в конструкторе function __construct(IOfferRepository $offer)
RomM1
@RomM1
May 01 2014 11:16 UTC
alt
Brezhnev Ivan
@vanchelo
May 01 2014 11:16 UTC
ааа, так это модель, напиши в начеле use \Offer
у тебя ж модели лежат в app/models?
RomM1
@RomM1
May 01 2014 11:17 UTC
Да
Brezhnev Ivan
@vanchelo
May 01 2014 11:18 UTC
тогда сделай в EloquentOffer как я написал
RomM1
@RomM1
May 01 2014 11:18 UTC
Все, поехало. Спасибо!
Brezhnev Ivan
@vanchelo
May 01 2014 11:18 UTC
пожалуйста)
RomM1
@RomM1
May 01 2014 11:21 UTC
Нет. AbstractRepository полезная штука, сейчас прикручу
Alexander Egorov
@Amegatron
May 01 2014 16:07 UTC
Laracasts сглючил конкретно ... реактивировал подписку на месяц ... а списал за год ...
Джеффри не отвечает пока на письмо
Maxim
@Big-Shark
May 01 2014 22:24 UTC
Сурово