These are chat archives for LaravelRUS/chat

2nd
Mar 2015
Maxim
@Big-Shark
Mar 02 2015 06:35
Привет, есть кто?
slider23
@slider23
Mar 02 2015 06:37
Привет
Maxim
@Big-Shark
Mar 02 2015 06:38
@slider23 Что лучше, примерное такой массив
return [
    'components' => [
        'authManager' => [
            'class' => 'yii\rbac\DbManager',
            'cache' => 'cache',   // <---- вот так
        ],
        'cache' => [
            'class' => 'yii\caching\ApcCache',
        ]
        // ...
    ],
]
или
return [
    'components' => [
        'authManager' => function($IoC) {
            $class = new yii\rbac\DbManager();
            $class->setCache($IoC['cache']);
            return  $class;
        ],
        'cache' => function($IoC) {
            $class = new yii\caching\ApcCache();
            return  $class;
        ],
        // ...
    ],
]
slider23
@slider23
Mar 02 2015 06:46
не знаю :)
Maxim
@Big-Shark
Mar 02 2015 06:47
@slider23 как бы сделал ты?
Роман Сохарев
@greabock
Mar 02 2015 06:50
@Big-Shark на мой субъективный взгляд, если это конфиг, то там должны быть примитивы.
Maxim
@Big-Shark
Mar 02 2015 07:16
@greabock то есть первый вариант?
Роман Сохарев
@greabock
Mar 02 2015 07:17
ну да
Maxim
@Big-Shark
Mar 02 2015 07:18
@greabock когда их всего 2, то да, а когда их штук 10-20, вот тут уже проблеммы) точней не проблеммы, а сложность восприятия, хотя это только мое мнение
Роман Сохарев
@greabock
Mar 02 2015 07:20
у меня наоборот сложность восприятия замыкания вызывают =) Видимо, это дело вкуса
Maxim
@Big-Shark
Mar 02 2015 07:25
@greabock тут просто еще видать работает моя неновисть к асоциативным массивам с строгими ключами)
Dinar Garipov
@garf
Mar 02 2015 07:40
Всем привет.
Не обнаружилось ли часом новых критических проблем в коммитах? Можно ли обновиться? =)
LaravelButler

Приветствуем Вас, @webdevid, в нашем дружном чате
В чате запрещена: реклама, спам, нецензурная лексика. Чат не место для оскорблений и выяснения отношений между участниками. За нарушение – Бан!

Русскоязычное сообщество Laravel
Самая свежая документация по Laravel 5
Документация по Laravel 4.2
Официальный сайт Laravel
Группа Вконтакте
А так же:
G+, Facebook, Twitter, GitHub

⇒ Перед тем как написать сообщение, пожалуйста, ознакомьтесь с разметкой Markdown ( Ctrl+Shift+M (Windows) Ctrl+Alt+M (Linux) Ctrl+Cmd+M (Mac) )

Evgeniy
@Ruzarh
Mar 02 2015 08:32
Всем привет. А есть какое нибудь описание что меняется от версии к версии ? (например в минорном обновлении)
Константин Брызгалин
@constb
Mar 02 2015 08:43
@Ruzarh нет, но на гитхабе можно сделать сравнение двух тэгов, оно показывает коммиты, которые между ними произошли, и дифф.
Orel
@2byte
Mar 02 2015 08:52
А гульп зависимости подтягивает less например @import ?
LaravelButler

Приветствуем Вас, @Ri0z, в нашем дружном чате
В чате запрещена: реклама, спам, нецензурная лексика. Чат не место для оскорблений и выяснения отношений между участниками. За нарушение – Бан!

Русскоязычное сообщество Laravel
Самая свежая документация по Laravel 5
Документация по Laravel 4.2
Официальный сайт Laravel
Группа Вконтакте
А так же:
G+, Facebook, Twitter, GitHub

⇒ Перед тем как написать сообщение, пожалуйста, ознакомьтесь с разметкой Markdown ( Ctrl+Shift+M (Windows) Ctrl+Alt+M (Linux) Ctrl+Cmd+M (Mac) )

Maxim Lezhnev (Felix)
@Ri0z
Mar 02 2015 09:00
Всем привет, наткнулся на проблему с Валидатором и UploadedFile загрузчиком сивфони. Суть такая, когда проходит валидация то срабатывает метот isValid в классе UploadedFile, но после выполнения функции move файл перемешается и при следующем вызове функции isValid валидация не проходит.
Кто сталкивался ?
Brezhnev Ivan
@vanchelo
Mar 02 2015 09:04
надо так
$file = Input::file('some')->move();
когда ты делаешь move ссылка на файл не меняется
Orel
@2byte
Mar 02 2015 09:05
@vanchelo гульп тянет зависимости?
Brezhnev Ivan
@vanchelo
Mar 02 2015 09:05
соотв. ссылка старая а файла нет
нужно результат метода move присвоить переменной
@2byte понятия не имею)
что значит тянет?
Orel
@2byte
Mar 02 2015 09:06
@vanchelo ну ты же гульпишь )
slider23
@slider23
Mar 02 2015 09:06
@2byte этим не гульп занимается, а less-плагин
sass тянет
Brezhnev Ivan
@vanchelo
Mar 02 2015 09:06
какие зависимости?
Orel
@2byte
Mar 02 2015 09:07
@slider23 а с урлами на изображения ничего не делает ?
Brezhnev Ivan
@vanchelo
Mar 02 2015 09:08
есть плагины которые подтягиюват
или в base64 кодируют фотки
Orel
@2byte
Mar 02 2015 09:08
@vanchelo не, надо бы рядом с выходным файлом images класть, думаю так лучше
Brezhnev Ivan
@vanchelo
Mar 02 2015 09:09
ищи плагин
Orel
@2byte
Mar 02 2015 09:10
Может его нету вообще
Brezhnev Ivan
@vanchelo
Mar 02 2015 09:12
должен быть
mastfreaky
@mastfreaky
Mar 02 2015 09:12
Привет. Как можно задать значение в модели и сразу отправить в базу?
Что-то вроде этого: 'update test set amount = amount + value;'
Orel
@2byte
Mar 02 2015 09:13
@mastfreaky $model->increment('amount', 20)
Brezhnev Ivan
@vanchelo
Mar 02 2015 09:13
инкремент юзать)
mastfreaky
@mastfreaky
Mar 02 2015 09:14
Значение может меняться.
Orel
@2byte
Mar 02 2015 09:14
@mastfreaky $model->increment('amount', $increment) )
Maxim Lezhnev (Felix)
@Ri0z
Mar 02 2015 09:17
@vanchelo уточню использую laravel 5. при использовании функции move он переносит файл из темпа в пользовательский таргет
mastfreaky
@mastfreaky
Mar 02 2015 09:19
@2byte, спасибо. Я сначала подумал, что нужно схему менять. Потому что не нашёл этого метода в хэлпере.
Maxim Lezhnev (Felix)
@Ri0z
Mar 02 2015 09:19
@vanchelo 241 строка в Symfony\Component\HttpFoundation\File\UploadedFile; if (!@move_uploaded_file($this->getPathname(), $target)) {
Brezhnev Ivan
@vanchelo
Mar 02 2015 09:19
@Ri0z я выше написал что делать
Orel
@2byte
Mar 02 2015 09:20
@mastfreaky а в хелперах его и не будет )
Brezhnev Ivan
@vanchelo
Mar 02 2015 09:20
покажи свой код
@Ri0z мне известно что делает метод move =))
mastfreaky
@mastfreaky
Mar 02 2015 09:22
@2byte, почему?
Brezhnev Ivan
@vanchelo
Mar 02 2015 09:23
$file = $file->move(public_path('uploads/documents/'), $originalName . '.' . $extension);
папка существует?
Maxim Lezhnev (Felix)
@Ri0z
Mar 02 2015 09:24
@vanchelo и что это даст если $validator->fails() стал true
да
Brezhnev Ivan
@vanchelo
Mar 02 2015 09:24
права на папку есть?
Maxim Lezhnev (Felix)
@Ri0z
Mar 02 2015 09:24
есть
Orel
@2byte
Mar 02 2015 09:25
@mastfreaky ну потому что это ORM Eloquent вот там и ищи все для бд
Brezhnev Ivan
@vanchelo
Mar 02 2015 09:25
но файл не появляется?
Alexander Popov
@ruelephant
Mar 02 2015 09:25
что тут у вас?
сеансы телепатии и массового гипноза? Опять?
Maxim Lezhnev (Felix)
@Ri0z
Mar 02 2015 09:25
упс забыл написать что файл грузится а вот модель не сохраняет запись !
mastfreaky
@mastfreaky
Mar 02 2015 09:26
@2byte, понял. Спасибо ещё раз.
Brezhnev Ivan
@vanchelo
Mar 02 2015 09:27
что в правилах?
Maxim Lezhnev (Felix)
@Ri0z
Mar 02 2015 09:27
@vanchelo ещё уточню, файл сам загружается а данные в базу не поподают так как валидация не проходит. $this->documents->create($data);
Brezhnev Ivan
@vanchelo
Mar 02 2015 09:27
на что валидатор ругается?
Maxim Lezhnev (Felix)
@Ri0z
Mar 02 2015 09:27
protected $rules = array(
'file' => 'mimes:doc,docx,pdf,zip,rar,xls,xlsx,jpg,jpeg,png,bmp',
);
он ругается на поле c файлом
Brezhnev Ivan
@vanchelo
Mar 02 2015 09:28
что тип не соответствует?
Maxim Lezhnev (Felix)
@Ri0z
Mar 02 2015 09:28
да
LaravelButler

Приветствуем Вас, @vbarinov, в нашем дружном чате
В чате запрещена: реклама, спам, нецензурная лексика. Чат не место для оскорблений и выяснения отношений между участниками. За нарушение – Бан!

Русскоязычное сообщество Laravel
Самая свежая документация по Laravel 5
Документация по Laravel 4.2
Официальный сайт Laravel
Группа Вконтакте
А так же:
G+, Facebook, Twitter, GitHub

⇒ Перед тем как написать сообщение, пожалуйста, ознакомьтесь с разметкой Markdown ( Ctrl+Shift+M (Windows) Ctrl+Alt+M (Linux) Ctrl+Cmd+M (Mac) )

Brezhnev Ivan
@vanchelo
Mar 02 2015 09:29
не пробовал оставить один тип?
Maxim Lezhnev (Felix)
@Ri0z
Mar 02 2015 09:29
@vanchelo слушай, непробывал
Brezhnev Ivan
@vanchelo
Mar 02 2015 09:29
mimes:jpeg
попробуй
Maxim Lezhnev (Felix)
@Ri0z
Mar 02 2015 09:29
@vanchelo при отладке я дошёл до ошибке The file "o-rly-copy.jpg" was not uploaded due to an unknown error.
Brezhnev Ivan
@vanchelo
Mar 02 2015 09:29
и загрузить валидный jpeg
в логах эта ошибка?
Maxim Lezhnev (Felix)
@Ri0z
Mar 02 2015 09:30
@vanchelo такая же ошибка
нет в логах её нету
эту ошибку что то обрабатывает
Brezhnev Ivan
@vanchelo
Mar 02 2015 09:31
у тебя два раза валидатор проверяет данные?
Maxim Lezhnev (Felix)
@Ri0z
Mar 02 2015 09:31
второй раз я для отладки поставил
Brezhnev Ivan
@vanchelo
Mar 02 2015 09:32
$validator = Validator::make($data, $rules);
а зачем два раза Request::all()?
Maxim Lezhnev (Felix)
@Ri0z
Mar 02 2015 09:32
если второй убрать он будет уходить на добавление данных но их не добавит
Brezhnev Ivan
@vanchelo
Mar 02 2015 09:32
два раза его накладно использовать
Maxim Lezhnev (Felix)
@Ri0z
Mar 02 2015 09:33
а это косметика
я для понятности написал вам
у меня чуть чуть подругому
Alexander Popov
@ruelephant
Mar 02 2015 09:33
ну вот сделай минимальный не рабочий пример, и спрашивай
телепаты в отпуске
Maxim Lezhnev (Felix)
@Ri0z
Mar 02 2015 09:34
@ruelephant к телепатам не обращаюсь
Alexander Popov
@ruelephant
Mar 02 2015 09:34
а зря
я чуствую у вас сущность в виде гномика
Maxim Lezhnev (Felix)
@Ri0z
Mar 02 2015 09:34
:D
Brezhnev Ivan
@vanchelo
Mar 02 2015 09:36
а какой у тебя сервер?
Maxim Lezhnev (Felix)
@Ri0z
Mar 02 2015 09:36
PHP 5.5.19-1+deb.sury.org~precise+1 ubuntu
Brezhnev Ivan
@vanchelo
Mar 02 2015 09:37
я имел ввиду веб сервер)
посмотри логи сервера
Maxim Lezhnev (Felix)
@Ri0z
Mar 02 2015 09:37
Apache/2.4.10 (Ubuntu)
Brezhnev Ivan
@vanchelo
Mar 02 2015 09:37
может памяти мало выделено под загрузку файла
Maxim Lezhnev (Felix)
@Ri0z
Mar 02 2015 09:38
файл то грузится
он валидатцию не пропускает и в базу запись не поподает
Brezhnev Ivan
@vanchelo
Mar 02 2015 09:38

The file "o-rly-copy.jpg" was not uploaded due to an unknown error.

а это откуда?

Maxim Lezhnev (Felix)
@Ri0z
Mar 02 2015 09:38
отлавил
Alexander Popov
@ruelephant
Mar 02 2015 09:38
@Ri0z вам бы в разведку...
Maxim Lezhnev (Felix)
@Ri0z
Mar 02 2015 09:39
@ruelephant вам бы на радио )
Brezhnev Ivan
@vanchelo
Mar 02 2015 09:39
поставь 'file' => 'required|mimes:jpeg'
т.е. сделать файл обязательным
Maxim Lezhnev (Felix)
@Ri0z
Mar 02 2015 09:40
The file must be a file of type: jpeg.
один хер
Brezhnev Ivan
@vanchelo
Mar 02 2015 09:40
ну вот
у тебя стоит finfo экстеншин для пхп
Maxim Lezhnev (Felix)
@Ri0z
Mar 02 2015 09:40
файл загрузился а ошибку выдал
Brezhnev Ivan
@vanchelo
Mar 02 2015 09:40
я понял
Maxim Lezhnev (Felix)
@Ri0z
Mar 02 2015 09:41
так как первая валидатция прошла а вторая нет
Brezhnev Ivan
@vanchelo
Mar 02 2015 09:41
вторая и не пройдет
т.к. ты файл переместил
а в реквесте осталась старая ссылка на него
Maxim Lezhnev (Felix)
@Ri0z
Mar 02 2015 09:41
да все верно.
Brezhnev Ivan
@vanchelo
Mar 02 2015 09:42
что верно? =)
Alexander Popov
@ruelephant
Mar 02 2015 09:42
все
if (ALL === TRUE) { }
Brezhnev Ivan
@vanchelo
Mar 02 2015 09:44
вторая валидация у тебя для отладки
если первая валидация проходит нормально
то всё должно работать
если не работает именно запись в базу то надо смотреть именно этот момент
у модели указан массив fillable?
Maxim Lezhnev (Felix)
@Ri0z
Mar 02 2015 09:45
@vanchelo finfo имеется. fillable да имеется
Brezhnev Ivan
@vanchelo
Mar 02 2015 09:46
так а на что он ругается?
Maxim Lezhnev (Felix)
@Ri0z
Mar 02 2015 09:46
моет дело в том что правила $rules находятся в модели Document >?
Brezhnev Ivan
@vanchelo
Mar 02 2015 09:46
да не важно
Maxim Lezhnev (Felix)
@Ri0z
Mar 02 2015 09:47
Так он не ругается а просто не пишет в базу и всё
Brezhnev Ivan
@vanchelo
Mar 02 2015 09:47
вот
и в логах пусто?
Maxim Lezhnev (Felix)
@Ri0z
Mar 02 2015 09:47
пусто
Brezhnev Ivan
@vanchelo
Mar 02 2015 09:47
если попробовать руками указать все данные
$document = $this->documents->newInstance()
у тебя это репозиторий или модель?
Maxim Lezhnev (Felix)
@Ri0z
Mar 02 2015 09:48
ша попробую
модель
Brezhnev Ivan
@vanchelo
Mar 02 2015 09:48
на базу права установлены?
в .env
Maxim Lezhnev (Felix)
@Ri0z
Mar 02 2015 09:48
да
другие модель нормально отрабатывают
Brezhnev Ivan
@vanchelo
Mar 02 2015 09:49
ок
Alexander Popov
@ruelephant
Mar 02 2015 09:49
народ я предлагаю пойти вам в личку
всеравно уже все нить потеряли проблемы
Brezhnev Ivan
@vanchelo
Mar 02 2015 09:49
понял в чем косяк
@Ri0z create статический
к нему нельзя обращаться через $model->create
public static function create(array $attributes)
    {
        $model = new static($attributes);

        $model->save();

        return $model;
    }
только через двоеточие
Maxim Lezhnev (Felix)
@Ri0z
Mar 02 2015 09:51
@vanchelo опа, тогда его нужно пеереопледелить в модели и вызывать как статику
Brezhnev Ivan
@vanchelo
Mar 02 2015 09:51
$this->documents->newInstance($data)->save()
Maxim Lezhnev (Felix)
@Ri0z
Mar 02 2015 09:53
@vanchelo и так не сработало
code public static function boot()
{
parent::boot();
    foreach(array('creating', 'updating') as $event)
    {
        static::$event(function(BaseModel $model)
        {
            return $model->validate();
        });
    }
}
у меня ещё вот такое есть
Brezhnev Ivan
@vanchelo
Mar 02 2015 09:55
а что у тебя в validate?
валидация не проходит?
Maxim Lezhnev (Felix)
@Ri0z
Mar 02 2015 09:56
$model->validate(); false приходит
Brezhnev Ivan
@vanchelo
Mar 02 2015 09:56
должен true
Maxim Lezhnev (Felix)
@Ri0z
Mar 02 2015 09:56
ага
Brezhnev Ivan
@vanchelo
Mar 02 2015 09:56
поэтому не пишет
зачем два раза проверять?
и вообще вынеси валидацию в реквест
FormRequest
контроллер будет красивше)
Maxim Lezhnev (Felix)
@Ri0z
Mar 02 2015 09:57
Ну тоже думал уже
Brezhnev Ivan
@vanchelo
Mar 02 2015 09:58
artisan make:request CreateModelRequest
например)
отойду на время)
Maxim Lezhnev (Felix)
@Ri0z
Mar 02 2015 09:58
Ага спасибо попытались )
Реализую отпишусь что да как
Brezhnev Ivan
@vanchelo
Mar 02 2015 09:59
ковыряй валидацию в модели
вообще я бы там не true false возвращал а exception
Maxim Lezhnev (Felix)
@Ri0z
Mar 02 2015 09:59
ну тоже верно
Brezhnev Ivan
@vanchelo
Mar 02 2015 09:59
throw new Что-то пошло не так с созданием модели ()
тогда тебе легче будет рулить что случилось
Maxim Lezhnev (Felix)
@Ri0z
Mar 02 2015 10:00
это ещё остатки от pingpong-labs admin
Brezhnev Ivan
@vanchelo
Mar 02 2015 10:00
)
Maxim Lezhnev (Felix)
@Ri0z
Mar 02 2015 10:00
мигрировал выпилил большую часть его
Brezhnev Ivan
@vanchelo
Mar 02 2015 10:00
в ларике уже как стандарт кидать исключения
есть же и для валидатора готовое
кидаешь массив с ошибками
он редиректит на предыдущую страницу
Maxim Lezhnev (Felix)
@Ri0z
Mar 02 2015 10:01
=) лан шас буду переписывать )
не подскажешь название исключения для валидатора ?
Alexander Popov
@ruelephant
Mar 02 2015 10:18
народ я тут подрубаю свою библиотеку, в app/services (LA5). Как кашерно сделать хранение коннекта к ней?
там хост и порт пока что
нужно именно конфигурацию где то скинуть
Denis Isaychenko
@Rhincodon
Mar 02 2015 10:19
в env() скинь :)
Alexander Popov
@ruelephant
Mar 02 2015 10:19
хочу объявить singleton в providers/appService
ну без основного конфига как то не кашер
а как работает система конфигураций, вот например я еще бы файлик добавил
только где его прописать
и как сделать что бы его сенкции были доступны из $app
м?
This message was deleted
Brezhnev Ivan
@vanchelo
Mar 02 2015 10:22
создаешь файл в config
обращаешься Config::get('file_name.section_or_key')
нигде его прописывать не надо
Alexander Popov
@ruelephant
Mar 02 2015 10:23
а что за $app в $this->app->singleton?
кормится
Brezhnev Ivan
@vanchelo
Mar 02 2015 10:24
не понял
app это контейнер
Alexander Popov
@ruelephant
Mar 02 2015 10:25
$this->app->singleton вторым параметром принимает замыкаение
Brezhnev Ivan
@vanchelo
Mar 02 2015 10:25
не обязательно
Alexander Popov
@ruelephant
Mar 02 2015 10:25
так вот у замыкаения есть первый аргумент $app
Brezhnev Ivan
@vanchelo
Mar 02 2015 10:25
может принимать и строку
Alexander Popov
@ruelephant
Mar 02 2015 10:25
он вроде бы как содержит тоже конфигурацию
Brezhnev Ivan
@vanchelo
Mar 02 2015 10:25
может и ничего не принимать
$app всё содержит
т.к. это контейнер
$app['config']['file_name.key']
$app['auth']->user()
Alexander Popov
@ruelephant
Mar 02 2015 10:26
так может надо из него тянуть? меня вызов функции как то напрягает
Brezhnev Ivan
@vanchelo
Mar 02 2015 10:26
и т.д.
Alexander Popov
@ruelephant
Mar 02 2015 10:26
что там внутри хз
Brezhnev Ivan
@vanchelo
Mar 02 2015 10:26
тяни из него
суть не меняется
под капотом он всё равно обращается к репозиторию конфига
что вообще тебе нужно?
Alexander Popov
@ruelephant
Mar 02 2015 10:27
вынести два параметра инициализации в конфиг
Brezhnev Ivan
@vanchelo
Mar 02 2015 10:27
так вынеси
Alexander Popov
@ruelephant
Mar 02 2015 10:27
когда я инициализирую "чужую" библиотеку
в signleton
Brezhnev Ivan
@vanchelo
Mar 02 2015 10:29
<?php

$this->app->singleton('App\Classes\MyService', function ($app) {
    return new App\Classes\MyService($app['config']['my_service.host'], $app['config']['my_service.port']);
});
$this->app->singleton('App\Classes\MyService', function ($app) {
    return new App\Classes\MyService(
        $app['config']['my_service.host'],
        $app['config']['my_service.port']
    );
});

$this->app->bind('my-service', 'App\Classes\MyService');
можно и так
чтобы можно было и в конструктор передать и как сервис дернуть
app('my-service')
Alexander Popov
@ruelephant
Mar 02 2015 10:32
а это даст как сервис?
если ты создаешь singleton же, он через make идет насколько знаю
Brezhnev Ivan
@vanchelo
Mar 02 2015 10:33
и function __construct(App\Classes\MyService $myService) {}
нет
через make идет если ты юзаешь DI ларика
когда ты пишешь new App\Classes\MyService
ни через какой make не идет
Alexander Popov
@ruelephant
Mar 02 2015 10:34
это понятно, но если сделать new App\Classes\MyService он вообще мимо singleton сходит до класса напрямую
Brezhnev Ivan
@vanchelo
Mar 02 2015 10:34
да
я это и написал выше
Alexander Popov
@ruelephant
Mar 02 2015 10:35
ну это не нужно
я хочу его как singleton именно только вызывать
Brezhnev Ivan
@vanchelo
Mar 02 2015 10:35
я тебе выше дал два примера
мало?
class MyController extends Controller {

    function __construct(App\Classes\MyService $myService) {}

}
Alexander Popov
@ruelephant
Mar 02 2015 10:35
просто пример 2 немного дополняет пример 1, у них начало то одинаковое
Brezhnev Ivan
@vanchelo
Mar 02 2015 10:36
ниче не дополняет
Alexander Popov
@ruelephant
Mar 02 2015 10:36
ну как не дополняет? в обоих случаих идет регистрация singleton
просто по втором еще и бинд кидается
Brezhnev Ivan
@vanchelo
Mar 02 2015 10:36
да
видн нужен чтобы юзать сервис не через конструктор
а через app('my-service')
можешь его убрать если не собираешься так юзать
Alexander Popov
@ruelephant
Mar 02 2015 10:37
я даже не могу представить когда нужно использовать его в таком виде
Brezhnev Ivan
@vanchelo
Mar 02 2015 10:38
масса вариантов
Alexander Popov
@ruelephant
Mar 02 2015 10:38
лишний раз только в глобал накинули
вызов
Brezhnev Ivan
@vanchelo
Mar 02 2015 10:38
какой глобал?
Alexander Popov
@ruelephant
Mar 02 2015 10:38
ну app это же функция, глобальная
Brezhnev Ivan
@vanchelo
Mar 02 2015 10:38
App::make('my-service')
$this->app['my-service']
$this->app->make('my-service')
не так удобен App::make('App\Classes\MyService')
Alexander Popov
@ruelephant
Mar 02 2015 10:39
App::make('my-service') тоже глобальный вызов
Brezhnev Ivan
@vanchelo
Mar 02 2015 10:39
блин
Alexander Popov
@ruelephant
Mar 02 2015 10:40
App же глобальное
Brezhnev Ivan
@vanchelo
Mar 02 2015 10:40
str_replace тоже глобальный
Alexander Popov
@ruelephant
Mar 02 2015 10:40
ну никто не спорит особо
Brezhnev Ivan
@vanchelo
Mar 02 2015 10:40
открою тебе секрет, в ларавел все фасады глобальные
Alexander Popov
@ruelephant
Mar 02 2015 10:40
спасибо кэп
Brezhnev Ivan
@vanchelo
Mar 02 2015 10:40
причем App\Classes\MyService тоже глобальный))
в namespace Classes =)
Alexander Popov
@ruelephant
Mar 02 2015 10:41
я просто говорю что не считаю нужным юзать что-то из "глобального" регистратора когда можно дотянутся через конструктор
Brezhnev Ivan
@vanchelo
Mar 02 2015 10:41
всё относительно)
это уже дело твоё
я так не считаю
Oleg
@tremor-od
Mar 02 2015 10:45
а шаблонизатор blade switch case не поддерживает?
Brezhnev Ivan
@vanchelo
Mar 02 2015 10:45
да
switch в шаблонах плохо
Alexander Popov
@ruelephant
Mar 02 2015 10:47
а singleton по правилам хорошего тона прямо в этом же неймеспейсе создают?
Brezhnev Ivan
@vanchelo
Mar 02 2015 10:47
?
Alexander Popov
@ruelephant
Mar 02 2015 10:48
ну в твоем примере - $this->app->singleton('App\Classes\MyService'
Brezhnev Ivan
@vanchelo
Mar 02 2015 10:48
да
Alexander Popov
@ruelephant
Mar 02 2015 10:48
а может в \ засунуть crazy
Brezhnev Ivan
@vanchelo
Mar 02 2015 10:48
куда?
Alexander Popov
@ruelephant
Mar 02 2015 10:48
$this->app->singleton('MyService'
в основной namespace
Brezhnev Ivan
@vanchelo
Mar 02 2015 10:49
если у тебя он лежит в глобале можно
Alexander Popov
@ruelephant
Mar 02 2015 10:49
кто он?
Brezhnev Ivan
@vanchelo
Mar 02 2015 10:49
класс
Alexander Popov
@ruelephant
Mar 02 2015 10:49
класс лежит в app\services\myClass.php
Brezhnev Ivan
@vanchelo
Mar 02 2015 10:50
ты понимаешь что если ты засунешь MyService с не полным NS то лара просто создаст новый инстанс класса при рефлексии конструктора
потому как классы все имеют полные пути
FQN
Alexander Popov
@ruelephant
Mar 02 2015 10:50
ммм
Brezhnev Ivan
@vanchelo
Mar 02 2015 10:50
а если же ты в конструкторе укажешь MyService $class
то тоже не заведется
Alexander Popov
@ruelephant
Mar 02 2015 10:51
пачему?
Brezhnev Ivan
@vanchelo
Mar 02 2015 10:51
памату
Alexander Popov
@ruelephant
Mar 02 2015 10:51
у него же алиас такой будет
Brezhnev Ivan
@vanchelo
Mar 02 2015 10:51
алиас где?
Alexander Popov
@ruelephant
Mar 02 2015 10:51
AppServiceProvider->register
Brezhnev Ivan
@vanchelo
Mar 02 2015 10:51
я поразумеваю что ты use MyClass юзаешь
register регает сервис провайдер
Alexander Popov
@ruelephant
Mar 02 2015 10:52
ну с use не прокатит
Brezhnev Ivan
@vanchelo
Mar 02 2015 10:52
короче возьми поэксперементируй))
Alexander Popov
@ruelephant
Mar 02 2015 10:53
register регает как раз все что внутри сервиспровайдера
singleton и бинды
Brezhnev Ivan
@vanchelo
Mar 02 2015 10:53
пипец(
Alexander Popov
@ruelephant
Mar 02 2015 10:54
"сервиспровайдеры" регистрируются в providers
основного конфига
Brezhnev Ivan
@vanchelo
Mar 02 2015 10:54
ты можешь их регат где угодно $this->app->register('MyServiceProvider')
App::register('MyServiceProvider')
а не только прописыванием в конфиге
Alexander Popov
@ruelephant
Mar 02 2015 10:55
это понятно, но в документации рекомендуют именно в конфиг
я пока следую ману и не отьезжают в левые леса
Brezhnev Ivan
@vanchelo
Mar 02 2015 10:56
там так и написано?
Alexander Popov
@ruelephant
Mar 02 2015 10:56
иначе можно мозгом уехать
Brezhnev Ivan
@vanchelo
Mar 02 2015 10:56
нее
Alexander Popov
@ruelephant
Mar 02 2015 10:57
что нет?
ты кидаешься в крайности "а тут можно так вызвать", я специально абстрагируюсь по максимуму от таких возможностей
пишу минимально рабочий код
Brezhnev Ivan
@vanchelo
Mar 02 2015 10:58
это не крайности
а API
Alexander Popov
@ruelephant
Mar 02 2015 10:58
в данный момент он не нужен
Brezhnev Ivan
@vanchelo
Mar 02 2015 10:59
если бы так нельзя было делать, метод $app->register закрыли бы от паблика
Alexander Popov
@ruelephant
Mar 02 2015 10:59
это для "специальных" задач, где нужна оптимизация тонкая
ты еще вспомни про метод provides() который есть у каждого провайдера
и даже так можно регистрировать новых провайдеров
Oleg
@tremor-od
Mar 02 2015 11:01
а я так понял что если в провайдере оставить
$this->app->bind
то при вызове App::make то в конструкторе вычисления будут идти заново всегда,верно?
Alexander Popov
@ruelephant
Mar 02 2015 11:01
@tremor-od ну да, если такое не надо юзай singleton
Oleg
@tremor-od
Mar 02 2015 11:02
наконец-то увидел толк от синглтона)))
Alexander Popov
@ruelephant
Mar 02 2015 11:03
@vanchelo я понимаю что ты давно с фрейворком сидишь уже, но не надо на простые вопросы отвечать "а тут еще и так можно сделать" это пораждает вопросы "а правильно ли я делаю или это просто дополнительная возможность"
Brezhnev Ivan
@vanchelo
Mar 02 2015 11:04
почему не правильно?
Alexander Popov
@ruelephant
Mar 02 2015 11:04
и такая каша в голове начинается, пытаешься то упроситить
@vanchelo потому что, обычно есть только 1 возможность "правильная" для конкретных задач, остальное все микроскопом гвозди
например для задача А, "передача только в конструкторе" и точка
каждый раз публикация дополнительных ходов вызывает прогон в мозгу целыго вороха "тестов" на правильность уже реализованного решения
NelinD
@NelinD
Mar 02 2015 11:07
@ruelephant @vanchelo проще говоря срабатывает вариант "чо-то я очкую"=)
Alexander Popov
@ruelephant
Mar 02 2015 11:07
в Yii например нет контейнеров в таком понятии, там другая идеология
грубо говорят, на канал приходят люди с простыми вопросами "а почему ветер дует" и им тут выливаю про "квантовую механику"
надо поспокойнее так сказать, без глубококопания для домохозяек :)
это к @vanchelo
Роман Сохарев
@greabock
Mar 02 2015 11:13

Почему вот это падает?

        $this->app->singleton(InstallManager::class, function($app)
        {
            return $app->make(InstallManager::class);
        });

при том, падает совсем.
без ошибок, без логов - просто:
"Прекращена работа программы CLI"

Alexander Popov
@ruelephant
Mar 02 2015 11:13
@greabock первый аргумент у singleton глянь, и причем тут make?
return new там
первый аргумент там строка, название "алиаса"
Роман Сохарев
@greabock
Mar 02 2015 11:16
так, допустим понял, оно зацикливается.
Alexander Popov
@ruelephant
Mar 02 2015 11:16
в InstallManager::class у тебя что содержится?
Роман Сохарев
@greabock
Mar 02 2015 11:16
заглушка - пустой класс
Alexander Popov
@ruelephant
Mar 02 2015 11:16
экземпляр?
или просто название?
Роман Сохарев
@greabock
Mar 02 2015 11:18
return new - не проканает, мне нужно зависимости разрешить в InsatallManager (сейчас там пусто, но будут)
ай все...
я забаранил
запутался просто
всё ок
Роман Сохарев
@greabock
Mar 02 2015 11:28
вообще, я все верно изложил
но почему-то не канает
оно уходит в цикл
точнее в рекурсию глубокую
Alexander Popov
@ruelephant
Mar 02 2015 11:29
ты уверен что make допустимо внутри?
@vanchelo в студию!
Роман Сохарев
@greabock
Mar 02 2015 11:30
допустимо
просто там как получается
ты пытаешься сделать мейк. он обращается к контейнеру, а внутри опять к контейнеру
и тд
$insatallManager = $this->app->make(InstallManager::class);

$this->app->instance(InstallManager::class, $insatallManager);
вот так правильно делать

но если имена контейнера и содержимого разные, то все ок.

Например:

   $this->app->singleton(InstallManagerInterface::class, function($app)
   {
         return $app->make(InstallManager::class);
   });

отработает на отлично

Роман Сохарев
@greabock
Mar 02 2015 11:37
это все тонкость такая. Если контейнер не определен, то он попытается найти класс с таким именем, как у контейнера. Однако контейнер уже определен, и внутри он обращается уже не к классу а пытается опять извлечь контейнер и снова и снова...
Mihail
@sektor-sumy
Mar 02 2015 11:50
ребят кто работает с одеском, простите за оффтоп, такая беда пропал аккаунт, пытаюсь зайти не получается хочу выслать пароль пишет что такого Юзера не находит, может кто в курсе что делать.
Orel
@2byte
Mar 02 2015 11:54
@sektor-sumy ну раз не существует, выходит удален ?)
Mihail
@sektor-sumy
Mar 02 2015 11:55
таки да, только вот на днях я в него заходил
на Крым опять что ли санкции наложили блин
Alexander Popov
@ruelephant
Mar 02 2015 11:55
крым наш, наяш, ваш, наш
Mihail
@sektor-sumy
Mar 02 2015 11:56
хех))
Alexander Popov
@ruelephant
Mar 02 2015 11:58
@sektor-sumy ну тебя скорее всего забанили, город надо было на москву менять :)
Mihail
@sektor-sumy
Mar 02 2015 11:59
у меня там вообще Одесса была
Orel
@2byte
Mar 02 2015 11:59
О ну темболее ) Видишь какие отношения сейчас )
Denis Isaychenko
@Rhincodon
Mar 02 2015 12:00
Может они просекли что город меняют люди и по IP начали банить :)
вообще Крым же это Украина, чё это они вдруг
Mihail
@sektor-sumy
Mar 02 2015 12:01
та у меня изначально была Одесса я там жил и акк регил тоже там
Alexander Popov
@ruelephant
Mar 02 2015 12:02
@Rhincodon "Крим" это украина, а Крым это Россия :)
Denis Isaychenko
@Rhincodon
Mar 02 2015 12:02
@sektor-sumy ну они может посмотрели по текущим логам IP
Alexander Popov
@ruelephant
Mar 02 2015 12:03
да заведите новый аккаунт
Mihail
@sektor-sumy
Mar 02 2015 12:04
жалко там отработанные часы, тесты и т.д.
Alexander Popov
@ruelephant
Mar 02 2015 12:04
ну напиши в поддержку, им оно тоже не надо
договорись с людьми с рф на них переоформи
у меня брат сейчас вот на меня реселлер аккаунт перенес с доменами
а вообще они Абосанкционировались уже, скоро отменят
LaravelButler

Приветствуем Вас, @chonpz28, в нашем дружном чате
В чате запрещена: реклама, спам, нецензурная лексика. Чат не место для оскорблений и выяснения отношений между участниками. За нарушение – Бан!

Русскоязычное сообщество Laravel
Самая свежая документация по Laravel 5
Документация по Laravel 4.2
Официальный сайт Laravel
Группа Вконтакте
А так же:
G+, Facebook, Twitter, GitHub

⇒ Перед тем как написать сообщение, пожалуйста, ознакомьтесь с разметкой Markdown ( Ctrl+Shift+M (Windows) Ctrl+Alt+M (Linux) Ctrl+Cmd+M (Mac) )

Max
@roquie
Mar 02 2015 12:10
@vanchelo в продолжении вчерашней темы https://toster.ru/q/195885 ) может тут понятнее ))
Brezhnev Ivan
@vanchelo
Mar 02 2015 12:28
@Roquie ты никак не успокоишься? =)
Orel
@2byte
Mar 02 2015 12:31
))
Alexander Popov
@ruelephant
Mar 02 2015 12:39
ping?
всмысле что все затихли то
Denis Isaychenko
@Rhincodon
Mar 02 2015 12:45
64 bytes from all icmp_seq=0 ttl=53 time=6034.970 ms
64 bytes from all icmp_seq=0 ttl=53 time=34.970 ms
64 bytes from all icmp_seq=0 ttl=53 time=34.970 ms
64 bytes from all icmp_seq=0 ttl=53 time=34.970 ms
Alexander Popov
@ruelephant
Mar 02 2015 12:45
превышен интервал ожидания для запроса
превышен интервал ожидания для запроса
превышен интервал ожидания для запроса
LaravelButler

Приветствуем Вас, @Godod, в нашем дружном чате
В чате запрещена: реклама, спам, нецензурная лексика. Чат не место для оскорблений и выяснения отношений между участниками. За нарушение – Бан!

Русскоязычное сообщество Laravel
Самая свежая документация по Laravel 5
Документация по Laravel 4.2
Официальный сайт Laravel
Группа Вконтакте
А так же:
G+, Facebook, Twitter, GitHub

⇒ Перед тем как написать сообщение, пожалуйста, ознакомьтесь с разметкой Markdown ( Ctrl+Shift+M (Windows) Ctrl+Alt+M (Linux) Ctrl+Cmd+M (Mac) )

Vladislav Kolesnikov
@externuz
Mar 02 2015 12:47
Ребят. Подскажите, пожалуйста. У вас много времени не займет. Есть таблица item, есть category. Хочу вывести к какой категории какая единица принадлежит. Один item принадлежит одной category, но одной category принадлежит много item. Как это сделать в Eloquent? Мне почему то виделось так:
<?php namespace App;

use Illuminate\Database\Eloquent\Model;

class Item extends Model {

    public function category()
    {
        return $this->hasOne('App\Category');
    }

}
This message was deleted
Но видимо я совсем не прав, делать надо как-то по другому. Потому что Laravel ищет categories.item_id в базе
Alexander Popov
@ruelephant
Mar 02 2015 12:49
это связь называется BELONGS_TO
не знаю как у вас
в Yii есть
Brezhnev Ivan
@vanchelo
Mar 02 2015 12:49
return $this->belongsTo('App\Category');
Alexander Popov
@ruelephant
Mar 02 2015 12:49
ну вот ванчело подсказал
Vladislav Kolesnikov
@externuz
Mar 02 2015 12:49
@vanchelo уже разобрался, спасибо все равно! ;-)
@ruelephant и Вам спасибо!
Alexander Popov
@ruelephant
Mar 02 2015 12:52
@vanchelo а еще раз, если зарегить только singleton то он доступен только в конструкторе?
Brezhnev Ivan
@vanchelo
Mar 02 2015 12:52
везде
Alexander Popov
@ruelephant
Mar 02 2015 12:53
везде это даже через app::make?
зачем ты тогда делал бинд, помнишь во втором примере
JhaoDa
@jhaoda
Mar 02 2015 12:53
Синглтон всего лишь указывает на то, что надо возвращать однажды созданный инстанс
Brezhnev Ivan
@vanchelo
Mar 02 2015 12:54
даже в app::make
бинд я указал для того чтобы в app::make не писать полное имя класса
Vladislav Kolesnikov
@externuz
Mar 02 2015 12:54
Ребят, а как в laravel можно объеденить две коллекции?
Brezhnev Ivan
@vanchelo
Mar 02 2015 12:54
мне удобнее app::make('service')
чем app::make('App\Classes\Service')
Alexander Popov
@ruelephant
Mar 02 2015 12:55
понятно
Brezhnev Ivan
@vanchelo
Mar 02 2015 12:55
@externuz merge
Vladislav Kolesnikov
@externuz
Mar 02 2015 12:55
@vanchelo спс
Alexander Popov
@ruelephant
Mar 02 2015 12:55
а там обязательно полный путь в singleton? иначе я как понял по use не взлетит
NelinD
@NelinD
Mar 02 2015 12:55
@vanchelo я вначале подумал ты git рекомендуешь=)
Alexander Popov
@ruelephant
Mar 02 2015 12:55
первым парметром
Brezhnev Ivan
@vanchelo
Mar 02 2015 12:55
$collection->merge($collection2)
@ruelephant если укажешь не полный путь то в конструкторе не будет работать
Alexander Popov
@ruelephant
Mar 02 2015 12:56
это справедливо и для обычных биндингов?
или только в singleton такая болезнь?
Brezhnev Ivan
@vanchelo
Mar 02 2015 12:57
для всего
Alexander Popov
@ruelephant
Mar 02 2015 12:57
ясненько
Brezhnev Ivan
@vanchelo
Mar 02 2015 12:57
как ты себе представляешь автоматом чтобы оно кинуло?
только если ты так будешь делать new SomeClass($app['service'])
Alexander Popov
@ruelephant
Mar 02 2015 12:57
ну это изврат
JhaoDa
@jhaoda
Mar 02 2015 12:58
Чот я не понимаю — откуда мысли, что бинд и синглтон различаются в таких деталях?
Brezhnev Ivan
@vanchelo
Mar 02 2015 12:58
хз)
это одно и тоже)
даже если код метода глянуть можно это понять
бинд связывает интерфейс с реализацией обычно
для того чтобы абстрагироваться в своих сервисах от конкретной реализации
пишут function __construct(IPeopleRepository $repository)
и биндят bind('IPeopleRepository', 'EloquentPeopleRepository')
JhaoDa
@jhaoda
Mar 02 2015 13:01
Ааа, он же юишник...
Brezhnev Ivan
@vanchelo
Mar 02 2015 13:02
серьезно?
Alexander Popov
@ruelephant
Mar 02 2015 13:02
а это преступление? :)
Brezhnev Ivan
@vanchelo
Mar 02 2015 13:03
нее
это следствие
Alexander Popov
@ruelephant
Mar 02 2015 13:03
чего? :)
Brezhnev Ivan
@vanchelo
Mar 02 2015 13:03
твоих вопросов
причина и следствие
Alexander Popov
@ruelephant
Mar 02 2015 13:03
ну начинается
Brezhnev Ivan
@vanchelo
Mar 02 2015 13:03
че не понятно)
Alexander Popov
@ruelephant
Mar 02 2015 13:04
я уже говорил что LA третий день как вижу
Brezhnev Ivan
@vanchelo
Mar 02 2015 13:04
и заканчивается)
Alexander Popov
@ruelephant
Mar 02 2015 13:04
мне приходится ударными темпами туда переходить
NelinD
@NelinD
Mar 02 2015 13:04
@ruelephant ты тут уже минимум неделю тусуешься
Brezhnev Ivan
@vanchelo
Mar 02 2015 13:04
а тебя кто-то осуждает?
щас гляну сколько он тусутеся)
бот помнит)
JhaoDa
@jhaoda
Mar 02 2015 13:04
Ага, видит третий день, а советы раздает вторую неделю, минимум
Alexander Popov
@ruelephant
Mar 02 2015 13:04
@NelinD это была образная фраза :)
@jhaoda ну то что я понял, я советую. В меру так сказать компетенции
Brezhnev Ivan
@vanchelo
Mar 02 2015 13:05
печаль, бот не видит) я колонки дат не создал
Alexander Popov
@ruelephant
Mar 02 2015 13:05
бгг
NelinD
@NelinD
Mar 02 2015 13:05
ходють тут абстракциёнисты, а потом рояли пропадають=)
Brezhnev Ivan
@vanchelo
Mar 02 2015 13:05
в базе уже 913 юзверей
Alexander Popov
@ruelephant
Mar 02 2015 13:06
бот ведет статистику сколько slider репрессировал?
Brezhnev Ivan
@vanchelo
Mar 02 2015 13:06
неа
Alexander Popov
@ruelephant
Mar 02 2015 13:06
из 913
жаль
а то стреляют тут всякие по подвалам, и даже дело не подошьют
Роман Сохарев
@greabock
Mar 02 2015 13:11
этот ругиппопотам тут не меньше полумесяца уже ))
Alexander Popov
@ruelephant
Mar 02 2015 13:12
явка провалена
пошел горшки переставлять
Brezhnev Ivan
@vanchelo
Mar 02 2015 13:12
@greabock читал http://habrahabr.ru/post/61524/ ?
Роман Сохарев
@greabock
Mar 02 2015 13:13
@vanchelo это пост из воздуха
Alexander Popov
@ruelephant
Mar 02 2015 13:14
обзор на обзор какой то
о чем пост то?
NelinD
@NelinD
Mar 02 2015 13:16
@ruelephant о трехбуквенных сочетаниях
Alexander Popov
@ruelephant
Mar 02 2015 13:17
хабр уже не торт
Роман Сохарев
@greabock
Mar 02 2015 13:19
@ruelephant ага статья шестилетней давности
Alexander Popov
@ruelephant
Mar 02 2015 13:19
да он давно не торт
торт 3 дня хранится, там уже давно кекс
Роман Сохарев
@greabock
Mar 02 2015 13:19
он никода тортом и не был. Это САЙТ
Alexander Popov
@ruelephant
Mar 02 2015 13:20
сайт-торт, сайт-малина
Роман Сохарев
@greabock
Mar 02 2015 13:20
Но статья конечно водяная... "наша револющионная херня неведомой конструкции основана на новейших технологиях. В ее изготовлении используются такие материалы как: резина, дерево. А еще про нее можно книжки почитать."
че б``ть?
Alexander Popov
@ruelephant
Mar 02 2015 13:21
господи @greabock выдыхай уже, что ты наагрился то
Роман Сохарев
@greabock
Mar 02 2015 13:22
наагрился?
вовсе нет
если ты про мат, то это не тебе было
Alexander Popov
@ruelephant
Mar 02 2015 13:23
ты с матом акуратно, а то слайдер проснется дело сошьет
Роман Сохарев
@greabock
Mar 02 2015 13:24
Мне не за что шить
Brezhnev Ivan
@vanchelo
Mar 02 2015 13:24
2015-03-02_152331.png
Orel
@2byte
Mar 02 2015 13:24
Старичкам простительно )
Brezhnev Ivan
@vanchelo
Mar 02 2015 13:24
это все которых бот поймал)
Роман Сохарев
@greabock
Mar 02 2015 13:25
да при чем тут "простительно"? я же зацензурил
да и сказано это было для театральности а не со злости
@vanchelo слишком много бахблагов
Orel
@2byte
Mar 02 2015 13:26
@vanchelo толпа ларавелщиков )
Brezhnev Ivan
@vanchelo
Mar 02 2015 13:26
2015-03-02_152558.png
Alexander Popov
@ruelephant
Mar 02 2015 13:26
@vanchelo отсеки аваторы которые стандартные
Brezhnev Ivan
@vanchelo
Mar 02 2015 13:26
надо бота научить сообщать о блахе)
как отсечь?
Alexander Popov
@ruelephant
Mar 02 2015 13:27
нейронная сеть :)
Brezhnev Ivan
@vanchelo
Mar 02 2015 13:27
спс
жду скрипты
Alexander Popov
@ruelephant
Mar 02 2015 13:27
на самом деле проще, там только 2 цвета используются
Orel
@2byte
Mar 02 2015 13:27
Блаха не определить
Alexander Popov
@ruelephant
Mar 02 2015 13:28
возьми палитру просто
если в ней 2 цвета это выкинуть
Brezhnev Ivan
@vanchelo
Mar 02 2015 13:28
делать мне больше нечего)
ты этим и займись(
Alexander Popov
@ruelephant
Mar 02 2015 13:28
ну или нейронную сеть
обучим по бырому
Brezhnev Ivan
@vanchelo
Mar 02 2015 13:28
что ж ты такой умный)
Orel
@2byte
Mar 02 2015 13:29
Это надо по активности отслеживать, кто не активен уже давно, delete
Alexander Popov
@ruelephant
Mar 02 2015 13:30
кстати там 7 птиц одинаковых
Brezhnev Ivan
@vanchelo
Mar 02 2015 13:30
кэп)
Alexander Popov
@ruelephant
Mar 02 2015 13:30
это что боты приперлись?
Brezhnev Ivan
@vanchelo
Mar 02 2015 13:30
это благ
Orel
@2byte
Mar 02 2015 13:30
@ruelephant Не знаешь Блаха?
Alexander Popov
@ruelephant
Mar 02 2015 13:30
нет
Баха знаю
Orel
@2byte
Mar 02 2015 13:30
@ruelephant -> его стена )
Alexander Popov
@ruelephant
Mar 02 2015 13:31
я его стена? :)
Роман Сохарев
@greabock
Mar 02 2015 13:33
@ruelephant посмотри банлист справа
Orel
@2byte
Mar 02 2015 13:33
@ruelephant он вначале веселился тут как мог, тогда бана не было, его предупреждали, потом бан появился, последний раз предупредили, потом забанили, и вот он постоянно возвращался, регал новые аки, сначало нормально общается, потом снова расходится и в бан )
Alexander Popov
@ruelephant
Mar 02 2015 13:34
эпично
Orel
@2byte
Mar 02 2015 13:34
Ну я думаю он еще придет )
Alexander Popov
@ruelephant
Mar 02 2015 13:34
вы бы его по маске замели :)
Orel
@2byte
Mar 02 2015 13:35
Да, но он потом догадается в чем дело)
Alexander Popov
@ruelephant
Mar 02 2015 13:37
надо написать блах детектор
значит
Orel
@2byte
Mar 02 2015 13:37
Да его и так сразу видно по разговору )
Alexander Popov
@ruelephant
Mar 02 2015 13:38
нейронную сеть, и обучить по логам
будет ставить блах очки :)
набрал 100 очков - приз
Brezhnev Ivan
@vanchelo
Mar 02 2015 13:38
ты уже написал?
Egor Smetansky
@goryny4
Mar 02 2015 13:38
блаха муха!
Alexander Popov
@ruelephant
Mar 02 2015 13:39
конечно, но я буду ждать ваших реализаций
Orel
@2byte
Mar 02 2015 13:39
А у ванчелы есть бан ?
Роман Сохарев
@greabock
Mar 02 2015 13:39
ага
Orel
@2byte
Mar 02 2015 13:39
И у тебя?
Brezhnev Ivan
@vanchelo
Mar 02 2015 13:39
у меня нет бана)
NelinD
@NelinD
Mar 02 2015 13:40
This message was deleted
Brezhnev Ivan
@vanchelo
Mar 02 2015 13:40
я бы с вами не общался
Роман Сохарев
@greabock
Mar 02 2015 13:40
хахахах
Alexander Popov
@ruelephant
Mar 02 2015 13:40
да ладно тебе, стена палит
ты забанил блаха второго
птицу цвета ультрамарин :)
Brezhnev Ivan
@vanchelo
Mar 02 2015 13:43
права банить у меня есть
а бана нет
Orel
@2byte
Mar 02 2015 13:43
Мне вот тут ответили https://github.com/laravel/framework/issues/7219#issuecomment-76518333 но я ничего не могу понять, что они хотят предложить мне
Alexander Popov
@ruelephant
Mar 02 2015 13:44
кстати я подумал, из "галерей аватарок" можно складывать надписи
из более контрасных так сказать
Brezhnev Ivan
@vanchelo
Mar 02 2015 13:45
ждем
Orel
@2byte
Mar 02 2015 13:46
@ruelephant Ага ждем слово Laravel из аватарок
Alexander Popov
@ruelephant
Mar 02 2015 13:46
:)
лень писать грабер аваторок
Brezhnev Ivan
@vanchelo
Mar 02 2015 13:46
а то пока мы слышим только "напиши нейросеть, надо сделать, сделай"
@2byte ерунду ты какую-то вытворяешь
Orel
@2byte
Mar 02 2015 13:47
@vanchelo :smile:
Brezhnev Ivan
@vanchelo
Mar 02 2015 13:47
почему не юзаешь например App::make('Spad\Controllers\User\UserController')->callAction('getIndex')
Роман Сохарев
@greabock
Mar 02 2015 13:47
@2byte ты не тем занимаешься, можно сделать проще же
Brezhnev Ivan
@vanchelo
Mar 02 2015 13:48
вообще сам подход деревянный
и попахивает
Роман Сохарев
@greabock
Mar 02 2015 13:48
да не в этом дело
там просто тоже нужна нейросеть
Orel
@2byte
Mar 02 2015 13:48
:smile:
Brezhnev Ivan
@vanchelo
Mar 02 2015 13:48
ахаха
Alexander Popov
@ruelephant
Mar 02 2015 13:49
:)
Brezhnev Ivan
@vanchelo
Mar 02 2015 13:49
да @greabock без неё вообще никак)
Alexander Popov
@ruelephant
Mar 02 2015 13:49
а я всегда говорил! где то она да и пригодится
Orel
@2byte
Mar 02 2015 13:49
@vanchelo при вызове callAction у меня заработает замыкание в фильтре? )
Brezhnev Ivan
@vanchelo
Mar 02 2015 13:49
какая лара?
Orel
@2byte
Mar 02 2015 13:49
4.2
Brezhnev Ivan
@vanchelo
Mar 02 2015 13:50
неа
попробуй фильтр классом написать
Orel
@2byte
Mar 02 2015 13:51
Ну видишь мне надо разные контроллеры вызвать, кроме как достать их из контейнера в голову ничего больше не пришло
Brezhnev Ivan
@vanchelo
Mar 02 2015 13:51
$this->beforFilter('Filter@method')
Orel
@2byte
Mar 02 2015 13:51
@vanchelo я хочу замыкание
Brezhnev Ivan
@vanchelo
Mar 02 2015 13:51
а я хочу БМВ
Orel
@2byte
Mar 02 2015 13:52
@vanchelo Кстати пробовал метод, но только текущего класса $this->beforFilter('@method') но так же не работало
@vanchelo Я тоже
Brezhnev Ivan
@vanchelo
Mar 02 2015 13:52
покажи трейс ошибки
Orel
@2byte
Mar 02 2015 13:54
Call to a member function filter() on a non-object
Brezhnev Ivan
@vanchelo
Mar 02 2015 13:54
это не трейс
Orel
@2byte
Mar 02 2015 13:55
Выключил вмвар, приду обязательно покажу
Alexander Popov
@ruelephant
Mar 02 2015 13:55
да да, он всем покажет
Sleeping Owl
@sleeping-owl
Mar 02 2015 14:04
@2byte можно от этой ошибки избавиться небольшим костылем в контроллере:
public function __construct(\Illuminate\Routing\Router $router)
{
    $this->setRouter($router);
    $this->beforeFilter(function ()
    {

    });
}
Brezhnev Ivan
@vanchelo
Mar 02 2015 14:05
@sleeping-owl а у контроллера нет такого метода
Alexander Popov
@ruelephant
Mar 02 2015 14:06
сову разбудили
Brezhnev Ivan
@vanchelo
Mar 02 2015 14:07
@sleeping-owl @2byte же за 4.2 пишет
а этот метод появился только в 5-ке
Sleeping Owl
@sleeping-owl
Mar 02 2015 14:07
этот метод зависит от версии, в 4.2 он setFilterer назывался
Alexander Popov
@ruelephant
Mar 02 2015 14:07
блин, пора уже теги к сообщениям добавить
или отдельный канал под 5 заводить
Brezhnev Ivan
@vanchelo
Mar 02 2015 14:08
@sleeping-owl так ты так и напиши) а то @2byte придет и будет опять жаловаться что и так не работает =)
ага
/**
     * Set the route filterer implementation.
     *
     * @param  \Illuminate\Routing\RouteFiltererInterface  $filterer
     * @return void
     */
    public static function setFilterer(RouteFiltererInterface $filterer)
    {
        static::$filterer = $filterer;
    }
Alexander Popov
@ruelephant
Mar 02 2015 14:10
блин когда уже будем писать тип возращаемого значения
public void static function
красота же
<CustomType> test = $class->method(); // В случаи не CustomType стреляемся
Brezhnev Ivan
@vanchelo
Mar 02 2015 14:13
дверь в мир Java открыта)
Alexander Popov
@ruelephant
Mar 02 2015 14:14
я кстати недавно видел jPHP
Brezhnev Ivan
@vanchelo
Mar 02 2015 14:14
и?
Alexander Popov
@ruelephant
Mar 02 2015 14:14
компилятор php в java байткод
Brezhnev Ivan
@vanchelo
Mar 02 2015 14:14
мы в курсе
Alexander Popov
@ruelephant
Mar 02 2015 14:16
интересно LA5 откомпилируется
Brezhnev Ivan
@vanchelo
Mar 02 2015 14:16
попробуй
lafafm
@lafafm
Mar 02 2015 14:24

Доброе время суток

На днях заметил одну проблему с ларой
При загрузке страницы проц загружаеться на 70-100% и страница грузиться секунд 5, при том что на странице только несколько выборок через Eloquent
Проц загружает httpd

Не подскажете куда смотреть? И может в конфиге серфера что не так..

Maxim
@Big-Shark
Mar 02 2015 14:32
https://hexlet.d3.ru/comments/677698/ очень крутая статься про фазы обучения программированию)
Alexander Popov
@ruelephant
Mar 02 2015 14:32
с хабры перепост
сволочи!
Maxim
@Big-Shark
Mar 02 2015 14:33
@ruelephant хз, на хабре не видел, а это мне друг скинул)
Denis Isaychenko
@Rhincodon
Mar 02 2015 14:35
на хабре хуже отформатировано и вроде статья короче
или то кажется из-за шрифта
LaravelButler

Приветствуем Вас, @unseen1111, в нашем дружном чате
В чате запрещена: реклама, спам, нецензурная лексика. Чат не место для оскорблений и выяснения отношений между участниками. За нарушение – Бан!

Русскоязычное сообщество Laravel
Самая свежая документация по Laravel 5
Документация по Laravel 4.2
Официальный сайт Laravel
Группа Вконтакте
А так же:
G+, Facebook, Twitter, GitHub

⇒ Перед тем как написать сообщение, пожалуйста, ознакомьтесь с разметкой Markdown ( Ctrl+Shift+M (Windows) Ctrl+Alt+M (Linux) Ctrl+Cmd+M (Mac) )

Sleeping Owl
@sleeping-owl
Mar 02 2015 14:37
подскажите как вы решаете проблему с фасадами, когда нужно найти место, где он определяется? потому что я это всегда делаю полунаугад блуждая по директориям
Maxim
@Big-Shark
Mar 02 2015 14:37
@sleeping-owl просто поиск по проекту, и потом отрываем пути где это может быть, и там сразу видно
@sleeping-owl ну или если очень много таким мест, то ищем именно class Name
@sleeping-owl ну это мои глупые варианты)
Sleeping Owl
@sleeping-owl
Mar 02 2015 14:38
именно не класс нужный, а где он в IoC положен был. то есть в каком-то сервис-провайдере видимо, но его найти тоже нужно
Maxim
@Big-Shark
Mar 02 2015 14:38
@sleeping-owl в ларе 5 вообще перестал юзать фасады, както в метод запросить класс легче)
@sleeping-owl ааа, ну тогда как вариант только ->set('Name' ну или типа того)
Sleeping Owl
@sleeping-owl
Mar 02 2015 14:40
в том-то и проблема, что методов ведь не один, то есть приходится найти как этот класс забинден внутри а потом просто по проекту искать строку. но удобства в этом нет
Brezhnev Ivan
@vanchelo
Mar 02 2015 14:40
я юзаю Ctrl+Shift+F по laravel/framework
Sleeping Owl
@sleeping-owl
Mar 02 2015 14:41
понятно, грустно
Brezhnev Ivan
@vanchelo
Mar 02 2015 14:42
да
надо Jetbrains пинать в этом направлении
может плагин сделают
или ide-helper юзать
в 90% случаев он помогает
Sleeping Owl
@sleeping-owl
Mar 02 2015 14:46
я считаю, что само наличие такого хелпера, говорит о проблеме в движке
Brezhnev Ivan
@vanchelo
Mar 02 2015 14:47
не юзать фасады, юзать контракты при наличии
я в 5-ке еще не разу фасады не юзал
slider23
@slider23
Mar 02 2015 15:54
"RT @altmind: китайская мудрость гласит - если долго сидеть на берегу реки, можно увидеть как проплывает труп фреймворка который вы так долго хотели изучить"
Alexander Popov
@ruelephant
Mar 02 2015 15:54
ахаха
Роман Сохарев
@greabock
Mar 02 2015 16:00
@vanchelo как ты думаешь, стандартные контроллеры авторизации и прочего нужно в человеческий вид привести?
потому что "из коробки" они ужасны
Alexander Popov
@ruelephant
Mar 02 2015 16:00
нет ибо это святотатство
их касалась рука бога
Роман Сохарев
@greabock
Mar 02 2015 16:00
@ruelephant ты о чем вообще?
Alexander Popov
@ruelephant
Mar 02 2015 16:00
сжечь его!
@greabock это был тонкий наезд на некого Taylor
Роман Сохарев
@greabock
Mar 02 2015 16:02
ну я хз, как он там это задумывал. Но контроллеры из коробки отвратительны
Alexander Popov
@ruelephant
Mar 02 2015 16:02
я и говорю
еретик
Роман Сохарев
@greabock
Mar 02 2015 16:03
нет, это я еретик, ибо лару форкаю
Alexander Popov
@ruelephant
Mar 02 2015 16:03
O_o
NO!
зачем тебе понадобилось устроить такой гемор?
Роман Сохарев
@greabock
Mar 02 2015 16:04
да успокойся во фрейм никто не лезет. Просто папку app перелопачу под модульную структуру )
Alexander Popov
@ruelephant
Mar 02 2015 16:05
да перелопатили уже в девелопе
ждите 5.1
уже скоро выйдет, этой весной
Vlad Barinov
@vbarinov
Mar 02 2015 16:06
Всем привет
Maksim (Ellrion) Platonov
@Ellrion
Mar 02 2015 16:06
@greabock а можно конкретный пример "отвратительности" контроллера?
Роман Сохарев
@greabock
Mar 02 2015 16:06
@ruelephant ну видел я девелоп и что? Все тоже самое. При чем там модули вообще?
@vbarinov доброго
Vlad Barinov
@vbarinov
Mar 02 2015 16:07
Кто-нибудь юзал очереди с тяжёлыми shell командами в L5? Что использовали (beanstalkd/supervisord..)?
Роман Сохарев
@greabock
Mar 02 2015 16:08
@Ellrion неименованные роуты, и переделать ничего нельзя ибо это трейт.
Alexander Popov
@ruelephant
Mar 02 2015 16:08
@greabock там же был богомерзкий Registrar
его если не ошибаюсь выпилили
@greabock https://github.com/laravel/laravel/tree/develop/app ты это смотрел?
да там не модульная структура, но уже не такой ужас как я разгребал на альфе
JhaoDa
@jhaoda
Mar 02 2015 16:16
@vbarinov supervisord это монитор для демонов типа beanstalkd
Vlad Barinov
@vbarinov
Mar 02 2015 16:17
@jhaoda я понимаю, мне интересно, как на практике это будет работать
JhaoDa
@jhaoda
Mar 02 2015 16:18
Ну как, нормально работало.
Тяжести мы не гоняли, так — отправка мыла, генерация отчётов
Alexander Popov
@ruelephant
Mar 02 2015 16:19
меня как то смущает работа с чем то длиннее 5 секунд по выполнению с пыха
JhaoDa
@jhaoda
Mar 02 2015 16:19
Ты утомил уже, гражданин с волосатым хоботом
Alexander Popov
@ruelephant
Mar 02 2015 16:20
да я не про вас
JhaoDa
@jhaoda
Mar 02 2015 16:20
К психологу сходи, штоле
Смущает его...
Alexander Popov
@ruelephant
Mar 02 2015 16:20
конечно смущает, я уже накушался генерации pdf в однопоточном режим из php
и прочего так сказать "качества"
особенно в крупных корпорациях: "нам надо написать прокси сервер, а вот же идет замечательный web-php программист давайте его попросим"
вылавливают и давай свои эротические фантазии излагать
Viktor Grachev
@azuron
Mar 02 2015 16:23
This message was deleted
Alexander Popov
@ruelephant
Mar 02 2015 16:24
С/java разработчики, ну то дорого их дергать, мы быстро тут всего то прототип на коленочки, ну на пол строчички, ТФУ!
[/человек измученный нарзаном]
Vlad Barinov
@vbarinov
Mar 02 2015 16:25
@jhaoda Норм, попробую это связку. Ещё вопросик: если я запускаю shell скрипт из php (exec()), на него распространяются ограничения по памяти для php?
Alexander Popov
@ruelephant
Mar 02 2015 16:26
ах да! люди пишут парсинг twitter на php, в X потоков/процессов на сервер. Пытаются в realtime ленту забрать и проанализировать.
JhaoDa
@jhaoda
Mar 02 2015 16:26
@vbarinov не проверял
Alexander Popov
@ruelephant
Mar 02 2015 16:26
это случаем не ваш случай?
Vlad Barinov
@vbarinov
Mar 02 2015 16:28
тут у меня редактор виртуальных туров, нужно 50+ МП панорамы резать krpano :)
Alexander Popov
@ruelephant
Mar 02 2015 16:29
господи
все еще более запущено чем я ожидал
Viktor Grachev
@azuron
Mar 02 2015 16:29

Добрый вечер! Подскажите пожалуйста если я пишу авторизацию и в фильтре ставлю правило фильтрации менеджеров и админов:

Route::filter('admin', function()
{
    $user = Sentry::getUser();
    $admin = Sentry::findGroupByName('Admins');

    if (!$user->inGroup($admin)) return Redirect::to('/')->with('global-success', 'Вы не являетесь Администратором сайта!');
});

Route::filter('manager', function()
{
    $user = Sentry::getUser();
    $users = Sentry::findGroupByName('Managers');

    if (!$user->inGroup($users)) return Redirect::to('/')->with('global-success', 'Вы не являетесь Менеджером сайта!');
});

а в роутах делаю группы одинаковых роутов:

Route::group(['before' => 'auth|admin'], function()
{
Route::get('admin', 'AdminController@getDash');
});

Route::group(['before' => 'auth|manager'], function()
{
    Route::get('admin', 'AdminController@getDash');
});

Меня выкидывает на форму логина, пишет что я не являюсь менеджером. Я так понимаю делать одинаковые роуты для разных групп пользователей плохо?

надо называть роуты по разному?
Alexander Popov
@ruelephant
Mar 02 2015 16:30
@vbarinov насколько я помню, там можно несколько очередей завести в менеджере
@vbarinov попробуй завести отдельную очередь и туда слить вызовы своего krpano
Vlad Barinov
@vbarinov
Mar 02 2015 16:31
@ruelephant спасибо, буду пробовать
@azuron не пробовал именовать маршруты?
Route::get('admin', ['as' => 'admindash', 'uses' => 'AdminController@getDash']);
Viktor Grachev
@azuron
Mar 02 2015 16:37
@vbarinov Те если написать так будет более правильно?
Route::group(['before' => 'auth|admin'], function()
{
Route::get('admin', ['as' => 'admindash', 'uses' => 'AdminController@getDash']);
});

Route::group(['before' => 'auth|manager'], function()
{
    Route::get('admin', ['as' => 'admindash', 'uses' => 'AdminController@getDash']);
});
@vbarinov так не работает, выкидывает на логин
JhaoDa
@jhaoda
Mar 02 2015 16:41
@azuron ну ты сам подумай, блин
Сначала отрабатывает роутер, который уже применит фильтры
То, то ты пишешь в обратном порядке — фильтр, а внутри роут — всего лишь для удобства
Viktor Grachev
@azuron
Mar 02 2015 16:42
@jhaoda вся проблема в одинаковых роутах))
@azuron так я же фильтрую группу роутов как я понял ['before' => 'auth|admin'] или не так это работает
поменял названия роутов и все пошло нормально)) всем спасибо!
JhaoDa
@jhaoda
Mar 02 2015 16:46
@azuron внутри это хранится, если примитивно, как [роут => 'фильтр1|фильтр2']
Viktor Grachev
@azuron
Mar 02 2015 16:48
@jhaoda ага я понял про фильтры, а подскажите пожалуйста нельзя же называть роуты одинаково для разных групп пользователей?
JhaoDa
@jhaoda
Mar 02 2015 16:48
@azuron в роутере ларавель нет такого понятия — группа пользователей
Viktor Grachev
@azuron
Mar 02 2015 16:49
@jhaoda я понимаю просто как я выше писал пример так же нельзя делать? меня просто выкидывает на логин всегда если одинаковые роуты у админа и менеджера
JhaoDa
@jhaoda
Mar 02 2015 16:50
@azuron ты два раза описал один и тот же роут, второй раз заменяет первый
У тебя должен быть один роут и один более умный фильтр
Viktor Grachev
@azuron
Mar 02 2015 16:53
@jhaoda ага теперь понял в чем проблема сначала я захожу в групповые роуты админа вижу роут Route::get('admin', ['as' => 'admindash', 'uses' => 'AdminController@getDash']);
далее иду в групповые роуты менеджера и там вижу такой же роут и мнея фильр проверяет являюсь ли я менеджером. Поскольку я не менеджер меня выкидывает на форму логина. Извиняюсь если не правильно называю термины)
JhaoDa
@jhaoda
Mar 02 2015 16:53
@azuron нет, первая группа у тебя вообще не работает
Viktor Grachev
@azuron
Mar 02 2015 16:54
@jhaoda почему проверка сразу идет во второй группе?
JhaoDa
@jhaoda
Mar 02 2015 16:54
Грубо говоря, ты написал: А = 10. Следом опять написал: А = 20.
Чему будет равно А в итоге?
Viktor Grachev
@azuron
Mar 02 2015 16:55
20))
JhaoDa
@jhaoda
Mar 02 2015 16:55
Ну и вот
не элегантно, но идея ясна
Viktor Grachev
@azuron
Mar 02 2015 16:55
@jhaoda понял спасибо за объяснения и терпение)) я просто пытаюсь понять логику фильтрации роутов)
JhaoDa
@jhaoda
Mar 02 2015 16:56
@vbarinov вообще не об этом речь
Хотя нет, об этом, но отдалённо
Viktor Grachev
@azuron
Mar 02 2015 16:57
просто меня коллега убеждает что роуты могут называться одинаково, поэтому я и решил спросить у более опытных товарищей
JhaoDa
@jhaoda
Mar 02 2015 16:58
@azuron фильтры можно писать и в конструкторе контроллера, понимаешь? Т.е. в любом случае сначала отработает роутер, найдет контроллер, и только потом будет применять фильтры, если они описаны
Группы роутов сделаны просто для удобства, что бы ты не писал фильтры на каждый роут руками. Но смысл групп именно в этом
Viktor Grachev
@azuron
Mar 02 2015 16:59
@jhaoda оо спасибо я не знал порядок действия фильтров и роутов! А вот про конструктор и написание в нем фильтров я много читал и видел массу примеров.
JhaoDa
@jhaoda
Mar 02 2015 16:59
@azuron роуты могу назваться одинаково, да
Viktor Grachev
@azuron
Mar 02 2015 17:00
@jhaoda но они же будут заменять друг друга как вы сказали выше
JhaoDa
@jhaoda
Mar 02 2015 17:00
Но название роута и полное его описание — разные вещи
@azuron
    Route::get('login',  ['as' => 'auth.login', 'uses' => 'AuthController@showLogin']);
    Route::post('login', ['as' => 'auth.login', 'uses' => 'AuthController@login']);
Viktor Grachev
@azuron
Mar 02 2015 17:02
@jhaoda так это же 2 разных роута по идее. Post и Get
@jhaoda я так понимаю 2 Get роута не могут иметь одинаковое название?
JhaoDa
@jhaoda
Mar 02 2015 17:02
@azuron но называются-то они одинаково?
Viktor Grachev
@azuron
Mar 02 2015 17:04
@jhaoda ну да верно))
Brezhnev Ivan
@vanchelo
Mar 02 2015 17:15
@azuron смысла нет так называть)
достаточно один из двух одинаковых роутов обозвать
LaravelButler

Приветствуем Вас, @topwebmaster, в нашем дружном чате
В чате запрещена: реклама, спам, нецензурная лексика. Чат не место для оскорблений и выяснения отношений между участниками. За нарушение – Бан!

Русскоязычное сообщество Laravel
Самая свежая документация по Laravel 5
Документация по Laravel 4.2
Официальный сайт Laravel
Группа Вконтакте
А так же:
G+, Facebook, Twitter, GitHub

⇒ Перед тем как написать сообщение, пожалуйста, ознакомьтесь с разметкой Markdown ( Ctrl+Shift+M (Windows) Ctrl+Alt+M (Linux) Ctrl+Cmd+M (Mac) )

Dmitro
@topwebmaster
Mar 02 2015 17:19
Подскажите, кириллица в url роутов L5 есть какие-то особенности?
JhaoDa
@jhaoda
Mar 02 2015 17:20
@vanchelo по твоему разумению, репозиториии типа UserRepository надо биндить или синглтонить?
Вроде как нафиг им каждый раз инстанцироваться?
Brezhnev Ivan
@vanchelo
Mar 02 2015 17:21
конечно
я так и делаю
не знаю почему нигде это не отражено
JhaoDa
@jhaoda
Mar 02 2015 17:22
@vanchelo синглтонить. т.е
Brezhnev Ivan
@vanchelo
Mar 02 2015 17:22
везде просто биндят интерфейс с реализацией, но не уточняют что репозиторий может быть в единственном экземпляре на всё приложение
точнее я думаю что должен быть в ед. числе
JhaoDa
@jhaoda
Mar 02 2015 17:24
@vanchelo даже на Культе биндят
Brezhnev Ivan
@vanchelo
Mar 02 2015 17:25
биндить конечно нужно, если планируешь менять хранилище
JhaoDa
@jhaoda
Mar 02 2015 17:25
Менять на лету?
Роман Сохарев
@greabock
Mar 02 2015 17:25
На самом деле, он как будто бы и не должен быть ни в каком числе. Он должен просто быть. Как если бы это был класс с только статическими методами.
Brezhnev Ivan
@vanchelo
Mar 02 2015 17:25
@jhaoda не, не на лету
JhaoDa
@jhaoda
Mar 02 2015 17:25
@vanchelo а зачем тогда биндить?
Brezhnev Ivan
@vanchelo
Mar 02 2015 17:26
для того чтобы если ты решил через месяц сменить хранилище, ты только в сервис провайдер изменил биндинг на другой и везде работает
т.к. ты передавал везде в качестве зависимостей интерфейс
JhaoDa
@jhaoda
Mar 02 2015 17:26
@vanchelo бррр... я про bind и singleton
Brezhnev Ivan
@vanchelo
Mar 02 2015 17:26
так и я про них
JhaoDa
@jhaoda
Mar 02 2015 17:27
Ну я и говорю — singleton правильней
Brezhnev Ivan
@vanchelo
Mar 02 2015 17:27
да
JhaoDa
@jhaoda
Mar 02 2015 17:27
bind вообще тут не нужен
Brezhnev Ivan
@vanchelo
Mar 02 2015 17:27
ага
JhaoDa
@jhaoda
Mar 02 2015 17:28
Если только в зависимости от каких-то условия менять класс-реализацию
Brezhnev Ivan
@vanchelo
Mar 02 2015 17:28
если мы не засинглоним у нас будет 1+ экземпляров
JhaoDa
@jhaoda
Mar 02 2015 17:28
Ну, типа, для простого юзера такой реп, а если админ, то другой реп
Хотя синтетика какая-то...
Роман Сохарев
@greabock
Mar 02 2015 17:29
у меня кстати это вызывает некоторый диссонанс... как это, сменить репозиторий? Их что кто-то делает, эти репозитории? В том смысле, что они вроде своими руками пишутся...
Brezhnev Ivan
@vanchelo
Mar 02 2015 17:29
сменить в смысле например мускул на монгу
написал новый реп
старый остался
LaravelButler

Приветствуем Вас, @SliderVM, в нашем дружном чате
В чате запрещена: реклама, спам, нецензурная лексика. Чат не место для оскорблений и выяснения отношений между участниками. За нарушение – Бан!

Русскоязычное сообщество Laravel
Самая свежая документация по Laravel 5
Документация по Laravel 4.2
Официальный сайт Laravel
Группа Вконтакте
А так же:
G+, Facebook, Twitter, GitHub

⇒ Перед тем как написать сообщение, пожалуйста, ознакомьтесь с разметкой Markdown ( Ctrl+Shift+M (Windows) Ctrl+Alt+M (Linux) Ctrl+Cmd+M (Mac) )

SliderVM
@SliderVM
Mar 02 2015 17:31
Добрый вечер!
Brezhnev Ivan
@vanchelo
Mar 02 2015 17:31
привет
Alexander Popov
@ruelephant
Mar 02 2015 17:31
Добрый вечер!
SliderVM
@SliderVM
Mar 02 2015 17:32
Пытаюсь сделать авторизацию через Steam на Laravel 5. Думаю использовать вот эту https://gitorious.org/lightopenid библиотеку. Возник вопрос куда её подложить в проекте? Изучать Laravel только начал
Alexander Popov
@ruelephant
Mar 02 2015 17:33
app/services
регистрируешь в провайдере /app/providers/appProvider....
JhaoDa
@jhaoda
Mar 02 2015 17:33
@SliderVM а может взять Socialite и провайдер для Стима?
Alexander Popov
@ruelephant
Mar 02 2015 17:35
@SliderVM
SliderVM
@SliderVM
Mar 02 2015 17:35
Ну если есть готовое решение, то это вообще прекрасно :)
Alexander Popov
@ruelephant
Mar 02 2015 17:36
@SliderVM я тебе подсказал уже как твоей интегрировать :)
все просто, регай singleton в AppServiceProvider, либу закидывай в app/Services
JhaoDa
@jhaoda
Mar 02 2015 17:37
@ruelephant т.е. Socialite это для лохов?
Alexander Popov
@ruelephant
Mar 02 2015 17:37
@jhaoda я просто показываю альтернативу :)
вопрос то был куда класть
а не что использовать
SliderVM
@SliderVM
Mar 02 2015 17:38
А где почитать про Socialite ?
slider23
@slider23
Mar 02 2015 17:38
https://gitorious.org/lightopenid - это же просто Oauth-либа , не конкретно для стима ? Есть же от лиги замечательных программистов пакет для oauth
Alexander Popov
@ruelephant
Mar 02 2015 17:39
@SliderVM я полагаю https://github.com/laravel/socialite
только тсс!
SliderVM
@SliderVM
Mar 02 2015 17:39
@slider23 Так да, это просто либа, а авторизацию самому писать
slider23
@slider23
Mar 02 2015 17:39
Вот провайдеры для socialite https://github.com/SocialiteProviders
Но стима там нет
JhaoDa
@jhaoda
Mar 02 2015 17:39
@SliderVM ты не поверишь, но в официальной доке почитать — http://laravel.com/docs/5.0/authentication
Alexander Popov
@ruelephant
Mar 02 2015 17:40
ШОК! Теперь и на русском — http://laravel.su/docs/5.0/authentication
SliderVM
@SliderVM
Mar 02 2015 17:40
Стоп OAuth и OpenId это же разные вещи... Нет?
JhaoDa
@jhaoda
Mar 02 2015 17:41
Меня глаза обманули, штоле? Видел же у https://github.com/SocialiteProviders провайдер для Стима
@SliderVM разные, но так ли это важно?
SliderVM
@SliderVM
Mar 02 2015 17:42
Ну, так Socialite только OAuth поддерживает, а у Стима OpenId
Роман Сохарев
@greabock
Mar 02 2015 17:42
ущипните меня... как оно в основу попало-то??
<?php namespace Illuminate\Foundation;

use Illuminate\Support\Collection;

class Inspiring {

    /**
     * Get an inspiring quote.
     *
     * Taylor & Dayle made this commit from Jungfraujoch. (11,333 ft.)
     *
     * @return string
     */
    public static function quote()
    {
        return Collection::make([

            'When there is no desire, all things are at peace. - Laozi',
            'Simplicity is the ultimate sophistication. - Leonardo da Vinci',
            'Simplicity is the essence of happiness. - Cedric Bledsoe',
            'Smile, breathe, and go slowly. - Thich Nhat Hanh',
            'Simplicity is an acquired taste. - Katharine Gerould',

        ])->random();
    }

}
Alexander Popov
@ruelephant
Mar 02 2015 17:43
ущепнул @greabock
Роман Сохарев
@greabock
Mar 02 2015 17:43
@ruelephant не заигрывай
Brezhnev Ivan
@vanchelo
Mar 02 2015 17:43
@greabock ты стареешь)
Роман Сохарев
@greabock
Mar 02 2015 17:43
в смысле?
Brezhnev Ivan
@vanchelo
Mar 02 2015 17:43
оно там с начала времен
JhaoDa
@jhaoda
Mar 02 2015 17:44
Вот сдомиты, OAuth-то удалил всего-то в январе
Роман Сохарев
@greabock
Mar 02 2015 17:44
@vanchelo да хоть сколько, хренали оно там делает? ))
slider23
@slider23
Mar 02 2015 17:45
"Taylor & Dayle made this commit from Jungfraujoch. (11,333 ft.)"
Alexander Popov
@ruelephant
Mar 02 2015 17:45
@greabock это цитатки для заглушки стандартной
slider23
@slider23
Mar 02 2015 17:45
Это коммит-талисман
Без него фреймворк потеряет магию.
JhaoDa
@jhaoda
Mar 02 2015 17:46
Ну или считай, что это пример
Роман Сохарев
@greabock
Mar 02 2015 17:46
@ruelephant да ладно?
SliderVM
@SliderVM
Mar 02 2015 17:46
Ну так как лучше делать авторизацию через Стим?
Alexander Popov
@ruelephant
Mar 02 2015 17:47
а мы станем миллионерами отвечая на вопросы? нет? Тогда не интересно :(
SliderVM
@SliderVM
Mar 02 2015 17:47
Эх :(
JhaoDa
@jhaoda
Mar 02 2015 17:47
@SliderVM дык никак, кроме как через OpenID
slider23
@slider23
Mar 02 2015 17:53
@SliderVM В laravel в папке app хранятся классы в неймспейсе. Кладешь там в любое место этот класс https://gitorious.org/lightopenid , прописываешь ему соответствующий месту неймспейс, и всё, можешь везде в контроллерах по этому неймспейсу юзать
$openid = new \Path\To\LightOpenID();
@vbarinov норм работает php на тяжелых cli-тасках. Очередь тут ни при чем, можно любую юзать. Я юзал редис.
cli-php имеет свой php.ini , там смотри ограничение по памяти и прочее
SliderVM
@SliderVM
Mar 02 2015 18:02
@slider23 Спасиб, буду пробовать
Alexander Popov
@ruelephant
Mar 02 2015 18:02
господи два слайдера, у меня в глазах рябит
Alexander Popov
@ruelephant
Mar 02 2015 18:47
народ а магия с иньекцией работает только в конструкторе контролера?
или в любом методе тоже
Denis Isaychenko
@Rhincodon
Mar 02 2015 18:52
в любом методе тоже
JhaoDa
@jhaoda
Mar 02 2015 18:54
Я промолчу, что это в доках написано
А, не промолчал :)
Alexander Popov
@ruelephant
Mar 02 2015 18:54
не промолчал
ай яй яй
Alexander Popov
@ruelephant
Mar 02 2015 19:01
хм
сделал public function index(\LmsApi\Services\EventSource $source)
только он singleton игнорирует, пытается класс напрямую загрузить
а там три параметры инициализации в конструкторе, в AppServiceProvider::register они то есть, а напрямую он получает фиг
неймеспейс он прописан в <?php namespace LmsApi\Services; на файле библиотеке
хм, походу из за регистра символов
пых то понимает ПыРЫЖки, а эта тупка ищет по строгому соотвествию
JhaoDa
@jhaoda
Mar 02 2015 19:06
@ruelephant ну значит закосячил где-то
Alexander Popov
@ruelephant
Mar 02 2015 19:06
я уже объяснил где косяк
при регистрации singleton он чуствительный к регистру названия класса
чуть что и он сразу не видит
JhaoDa
@jhaoda
Mar 02 2015 19:07
:)
Alexander Popov
@ruelephant
Mar 02 2015 19:07
а вот пыху до лампочки в каком регистре написан класс
JhaoDa
@jhaoda
Mar 02 2015 19:07
Слушай, жги помедленней
Alexander Popov
@ruelephant
Mar 02 2015 19:07
singleton проехал, и он полез напрямую его
вот такая вот печальная история
Artur Gafurov
@assurrussa
Mar 02 2015 19:09
Читаю ваши коменты и дивы даюсь это вы так шутите видимо или я не доконца понимаю, или к юмору не привык к вашему))) (может просто новичок). Ощущение такое что Ларавел после всего прочитанного не выдерживает больших проектов или средних и типо надо жутко долго настраивать. ))) да кстати на ларавеле большие проекты делать вообще возможно?
.....
Alexander Popov
@ruelephant
Mar 02 2015 19:09
не обращай внимание
Artur Gafurov
@assurrussa
Mar 02 2015 19:09
,,,,
Alexander Popov
@ruelephant
Mar 02 2015 19:10
но это не решение из коробки
особенно если до этого не сталкивался
JhaoDa
@jhaoda
Mar 02 2015 19:10
Ларавель нельзя настраивать, ибо это не CMS
Alexander Popov
@ruelephant
Mar 02 2015 19:11
под настройкой он имеет введу кодинг окружения
погрузка библиотек и пр
JhaoDa
@jhaoda
Mar 02 2015 19:11
Я предлагаю не додумывать за других, что они имеют ввиду
Artur Gafurov
@assurrussa
Mar 02 2015 19:11
@jhaoda ну как бы очведомлен спасибо
JhaoDa
@jhaoda
Mar 02 2015 19:11
Ибо опыт показывает, что они такое могут себе навоображать, шоппц
Alexander Popov
@ruelephant
Mar 02 2015 19:12
а вставлять в каждое место вот такие вызовы - use \LmsApi\Services\eventSource as EventClient;
Artur Gafurov
@assurrussa
Mar 02 2015 19:12
Я не до конца понимаю о чем ты город окружение я имел ввиду и саму среду и там где она будет лежать и т.д.
Alexander Popov
@ruelephant
Mar 02 2015 19:12
это норм? для сокращения
а то колбасы эти в методах убивают
Artur Gafurov
@assurrussa
Mar 02 2015 19:12
Город = говоришь*
JhaoDa
@jhaoda
Mar 02 2015 19:13
@assurrussa можно нажать стрелочку вверх и отредактировать сообщение
@ruelephant это норм
Alexander Popov
@ruelephant
Mar 02 2015 19:13
а если это по всему коду? может централизовано как то можно?
Artur Gafurov
@assurrussa
Mar 02 2015 19:13
Простите новичок))) давно я в чатах не сидел
Alexander Popov
@ruelephant
Mar 02 2015 19:14
глобальный use O_o
JhaoDa
@jhaoda
Mar 02 2015 19:14
@assurrussa я не понимаю, что ты подразумеваешь под окружением, средой и «где она будет лежать»
Brezhnev Ivan
@vanchelo
Mar 02 2015 19:14
=)
Alexander Popov
@ruelephant
Mar 02 2015 19:14
я там слышал какие то алиасы есть
JhaoDa
@jhaoda
Mar 02 2015 19:14
@ruelephant слушай, тебе, может, ментально очиститься надо после Yii?
А то ты как завернёшь чо...
Alexander Popov
@ruelephant
Mar 02 2015 19:15
предлагаешь пойти по монастырям? :)
JhaoDa
@jhaoda
Mar 02 2015 19:15
Или по бабам, я не настаиваю
Что лучше чистит
Alexander Popov
@ruelephant
Mar 02 2015 19:15
я и так уже недели сижу вот так O_O
и читаю этот дзен с нуля
я же очень долго сидел на Yii, это годы
Brezhnev Ivan
@vanchelo
Mar 02 2015 19:16
и как он тебе?
Alexander Popov
@ruelephant
Mar 02 2015 19:16
тесно для крупных проектов
Brezhnev Ivan
@vanchelo
Mar 02 2015 19:17
мне он че-то не нравится
Alexander Popov
@ruelephant
Mar 02 2015 19:17
структура так зажимает, что прямо незнаешь куда еще можно класс прилипить
есть скажем компоненты, но они сука грузяться только из папки app/components и баста
подпапки уже не суппорт
если надо несколько классов, приходится лепить в одном файле
Artur Gafurov
@assurrussa
Mar 02 2015 19:18
Мм мм... Ну где лежать - хостинг, окружение это все что окружает ларавел библиотеки подключенные внутренние и внешние. Среда это типо операционка, мощность потребления, переполнения памяти и настройка всмысле защиты.
Alexander Popov
@ruelephant
Mar 02 2015 19:18
роуты полная магия, я убился
JhaoDa
@jhaoda
Mar 02 2015 19:18
@assurrussa зачем это всё?
Artur Gafurov
@assurrussa
Mar 02 2015 19:19
))))))) @jhaoda ну я же написал в начале что прочитав ваши коменты диву дался))
JhaoDa
@jhaoda
Mar 02 2015 19:19
@assurrussa мы разве это обсуждали?
Alexander Popov
@ruelephant
Mar 02 2015 19:19
 /* Base level */
                    array('rest/<controller>/default/collection',                           'pattern'=>'restapi/<controller:\w+>', 'verb'=>'GET'),
                    array('rest/<controller>/default/create',                               'pattern'=>'restapi/<controller:\w+>', 'verb'=>'POST'),
                    array('rest/<controller>/default/update',                               'pattern'=>'restapi/<controller:\w+>', 'verb'=>'PUT'),
                    array('rest/<controller>/default/delete',                               'pattern'=>'restapi/<controller:\w+>/<level1Id:\w+>', 'verb'=>'DELETE'),
                    array('rest/<controller>/default/view',                                 'pattern'=>'restapi/<controller:\w+>/<level1Id:\w+>', 'verb'=>'GET'),
                    array('rest/<controller>/default/update',                               'pattern'=>'restapi/<controller:\w+>/<level1Id:\w+>', 'verb'=>'PUT'),
                    /* level 1 */
                    array('rest/<Level1>/<controller>/default/collection',                  'pattern'=>'restapi/<Level1:\w+>/<level1Id:\w+>/<controller:\w+>', 'verb'=>'GET'),
                    array('rest/<Level1>/<controller>/default/create',                      'pattern'=>'restapi/<Level1:\w+>/<level1Id:\w+>/<controller:\w+>', 'verb'=>'POST'),
                    array('rest/<Level1>/<controller>/default/update',                      'pattern'=>'restapi/<Level1:\w+>/<level1Id:\w+>/<controller:\w+>', 'verb'=>'PUT'),
                    array('rest/<Level1>/<controller>/default/delete',                      'pattern'=>'restapi/<Level1:\w+>/<level1Id:\w+>/<controller:\w+>/<level2Id:\w+>', 'verb'=>'DELETE'),
                    array('rest/<Level1>/<controller>/default/view',                        'pattern'=>'restapi/<Level1:\w+>/<level1Id:\w+>/<controller:\w+>/<level2Id:\w+>', 'verb'=>'GET'),
                    array('rest/<Level1>/<controller>/default/update',                      'pattern'=>'restapi/<Level1:\w+>/<level1Id:\w+>/<controller:\w+>/<level2Id:\w+>', 'verb'=>'PUT'),
                    /* level 2 */
                    array('rest/<Level1>/<Level2>/<controller>/default/collection',         'pattern'=>'restapi/<Level1:\w+>/<level1Id:\w+>/<Level2:\w+>/<level2Id:\w+>/<controller:\w+>', 'verb'=>'GET'),
                    array('rest/<Level1>/<Level2>/<controller>/default/create',             'pattern'=>'restapi/<Level1:\w+>/<level1Id:\w+>/<Level2:\w+>/<level2Id:\w+>/<controller:\w+>', 'verb'=>'POST'),
                    array('rest/<Level1>/<Level2>/<controller>/default/delete',             'pattern'=>'restapi/<Level1:\w+>/<level1Id:\w+>/<Level2:\w+>/<level2Id:\w+>/<controller:\w+>/<level3Id:\w+>', 'verb'=>'DELETE'),
                    array('rest/<Level1>/<Level2>/<controller>/default/view',               'pattern'=>'restapi/<Level1:\w+>/<level1Id:\w+>/<Level2:\w+>/<level2Id:\w+>/<controller:\w+>/<level3Id:\w+>', 'verb'=>'GET'),
                    array('rest/<Level1>/<Level2>/<controller>/default/update',             'pattern'=>'restapi/<Level1:\w+>/<level1Id:\w+>/<Level2:\w+>/<level2Id:\w+>/<controller:\w+>/<level3Id:\w+>', 'verb'=>'PUT'),
                    /* level 3 */
 array('rest/<Level1>/<Level2>/<Level3>/<controller>/default/collection','pattern'=>'restapi/<Level1:\w+>/<level1Id:\w+>/<Level2:\w+>/<level2Id:\w+>/<Level3:\w+>/<level3Id:\w+>/<controller:\w+>', 'verb'=>'GET'),
                    array('rest/<Level1>/<Level2>/<Level3>/<controller>/default/create',    'pattern'=>'restapi/<Level1:\w+>/<level1Id:\w+>/<Level2:\w+>/<level2Id:\w+>/<Level3:\w+>/<level3Id:\w+>/<controller:\w+>', 'verb'=>'POST'),
                    array('rest/<Level1>/<Level2>/<Level3>/<controller>/default/delete',    'pattern'=>'restapi/<Level1:\w+>/<level1Id:\w+>/<Level2:\w+>/<level2Id:\w+>/<Level3:\w+>/<level3Id:\w+>/<controller:\w+>/<level4Id:\w+>', 'verb'=>'DELETE'),
                    array('rest/<Level1>/<Level2>/<Level3>/<controller>/default/view',      'pattern'=>'restapi/<Level1:\w+>/<level1Id:\w+>/<Level2:\w+>/<level2Id:\w+>/<Level3:\w+>/<level3Id:\w+>/<controller:\w+>/<level4Id:\w+>', 'verb'=>'GET'),
                    array('rest/<Level1>/<Level2>/<Level3>/<controller>/default/update',    'pattern'=>'restapi/<Level1:\w+>/<level1Id:\w+>/<Level2:\w+>/<level2Id:\w+>/<Level3:\w+>/<level3Id:\w+>/<controller:\w+>/<level4Id:\w+>', 'verb'=>'PUT'),
Artur Gafurov
@assurrussa
Mar 02 2015 19:20
Ну я прочитал за последние 3 часа комментарии быстренько)))
Alexander Popov
@ruelephant
Mar 02 2015 19:20
вот как в Yii restfull контролер поддерживается :)
JhaoDa
@jhaoda
Mar 02 2015 19:20
@ruelephant у тебя ус отклеился
Alexander Popov
@ruelephant
Mar 02 2015 19:20
это main конфиг
это я еще не весь роут скопировал
slider23
@slider23
Mar 02 2015 19:21
@assurrussa на laravel можно писать большие приложения, он для этого вполне ок.
JhaoDa
@jhaoda
Mar 02 2015 19:21
Святые байты, хорошо что это мимо меня прошло
Alexander Popov
@ruelephant
Mar 02 2015 19:22
ну и все в таком стиле
жеско прибито гвоздями
slider23
@slider23
Mar 02 2015 19:23
Да, я несколько раз пытался перейти на Yii - но не мог на нём писать и все тут. Все раздражало.
Alexander Popov
@ruelephant
Mar 02 2015 19:23
ну он хорош под некоторые простые проекты
не надо думать над структурой
slider23
@slider23
Mar 02 2015 19:23
Ну я и видел, что он в целом ок, и народ на нём работает.
Но сам работать не мог, хоть убей.
Alexander Popov
@ruelephant
Mar 02 2015 19:23
читаешь мануал, и там уже все разжевано, что куда прибито
как только что-то надо кустомизировать пошло шаманство
slider23
@slider23
Mar 02 2015 19:23
Ушел на кохану вместо него.
Которая благополучно померла
И я переключился на laravel
Alexander Popov
@ruelephant
Mar 02 2015 19:24
R.I.P. помянем Kohana
slider23
@slider23
Mar 02 2015 19:24
Думаю, тут уже надолго.
Alexander Popov
@ruelephant
Mar 02 2015 19:25
но знаешь, проблема в Kohana в том что там криворукие люди в состоянии "исправить" структуру
я помню как я увидел тот ужас что они там сделали
выхватил кольт 45 калибра и застрелил
попытался объяснить ужас положения
JhaoDa
@jhaoda
Mar 02 2015 19:27

Ребята, а как правильно подружить репозитории со скоупами? Допустим, есть у меня такая штука:

// drafts() это скоуп
$articles = Article::drafts()->with('categories')->orderBy('created_at', 'DESC')->get();

если переписывать на репы, то жестко зашивать все условия?

Вообще, по логике, репа же не может вернуть QueryBuilder, например, вместо коллекции моделей?
Alexander Popov
@ruelephant
Mar 02 2015 19:32
а где почитать про репы?
и чем от моделей отличаются
JhaoDa
@jhaoda
Mar 02 2015 19:33
Если мне надо отсортировать статьи либо так, либо сяк, то что, два метода создавать — ArticleRepo->getDraftsDesc() и ArticleRepo->getDraftsAsc()?
Или один с параметром — ArticleRepo->getDrafts($sortDesc=true)?
Artur Gafurov
@assurrussa
Mar 02 2015 19:35
Есть смысл заморачиваться по статитстике кол-во запросов в БД и т.д.?
JhaoDa
@jhaoda
Mar 02 2015 19:37
@assurrussa сформулируй вопрос чётче.
Каких запросов, от кого?
Artur Gafurov
@assurrussa
Mar 02 2015 19:38
Самой страницы
JhaoDa
@jhaoda
Mar 02 2015 19:38
@assurrussa какой страницы?
Artur Gafurov
@assurrussa
Mar 02 2015 19:40
При загрузке страницы выводить такую статистику где нить в футере типо сколько запросов в бд , загрузка страницы и т.д.
JhaoDa
@jhaoda
Mar 02 2015 19:41
@assurrussa я не понимаю, о чем ты. Если ты сам хочешь на это смотреть, то поставь дебагбар. Если надо посетителям показывать, то делай сам.
Alexander Popov
@ruelephant
Mar 02 2015 19:42
ураааа, зарплата пришла
я за спиртом
иначе тут не разберешься
Artur Gafurov
@assurrussa
Mar 02 2015 19:43
До этого работал с Modx там приходилось заморачиваться на этот вопрос. с фреймворками в первые работаю, поэтому этот вопрос ещё и лежит)))))
Alexander Popov
@ruelephant
Mar 02 2015 19:43
@assurrussa не заморачивайся, для проектов средней руки хватит и обычных
которые там автоматом генерируются
JhaoDa
@jhaoda
Mar 02 2015 19:44
@ruelephant там ничего не генерируется автоматом
Alexander Popov
@ruelephant
Mar 02 2015 19:45
@jhaoda когда ты используешь ORM, генерирует
JhaoDa
@jhaoda
Mar 02 2015 19:45
@ruelephant это не Yii
@ruelephant нет, не генерирует
Alexander Popov
@ruelephant
Mar 02 2015 19:45
$user = User::find(1);
а тут я написал руками что-то? Нет я вызвал "магию" которая за меня сформировала запрос
JhaoDa
@jhaoda
Mar 02 2015 19:46
@ruelephant ты щас о чем вообще?
Alexander Popov
@ruelephant
Mar 02 2015 19:46
если бы там были прописанные связи, оно бы и join сгенерировало
JhaoDa
@jhaoda
Mar 02 2015 19:46
@ruelephant человек хочет ЛОГИ запросов смотреть
Alexander Popov
@ruelephant
Mar 02 2015 19:47
да не хочет он
JhaoDa
@jhaoda
Mar 02 2015 19:47
Сколько их было, какие
Ты уже дважды утомил, слушай
Alexander Popov
@ruelephant
Mar 02 2015 19:47
у него вопрос о другом, нужно ли при использовании ORM вручную следить насколько он "оптимально" сгененировал связи
JhaoDa
@jhaoda
Mar 02 2015 19:47
@ruelephant ты читать умеешь?
Alexander Popov
@ruelephant
Mar 02 2015 19:47
конечно
JhaoDa
@jhaoda
Mar 02 2015 19:48
Херово умеешь, видать
Artur Gafurov
@assurrussa
Mar 02 2015 19:48
Я. Оба варианта имел ввиду))))
Alexander Popov
@ruelephant
Mar 02 2015 19:48
у тебя просто слабо развита телепатия :)
они говорят одно, но понимать то надо другое
поскольку они сами не могу сформулировать.
JhaoDa
@jhaoda
Mar 02 2015 19:49
Хз, мне не платят за телепатию
Max
@roquie
Mar 02 2015 19:49
@ruelephant вот ты в точку, сам себя знаю )
JhaoDa
@jhaoda
Mar 02 2015 19:49
Я увидел четко сформулированную мысль: «При загрузке страницы выводить такую статистику где нить в футере типо сколько запросов в бд , загрузка страницы»
Где здесь про оптимальность связей — хз
Alexander Popov
@ruelephant
Mar 02 2015 19:50
@jhaoda я просто понимаю, что человек использовал такое говно как modx. Там действительно можно отгрести, нельзя положиться на систему даже в простых случаях
JhaoDa
@jhaoda
Mar 02 2015 19:50
Короче, телепайте дальше
Alexander Popov
@ruelephant
Mar 02 2015 19:50
его вопрос заключается в следующем, можно ли использовать стандартный ORM и не думать что упадет Mysql
после 1 рекурсивного select по всей базе
как это бывает в таких магических движка как битрикс и ко
я как понимаю ты не работал с ними?
простоя выборка "выбрать все из таблицы" через стандартный API (аналог "моделей") может обернуться в 17 SQL запросов по 6 JOIN в каждом