These are chat archives for LaravelRUS/chat

10th
Aug 2015
berpcor
@berpcor
Aug 10 2015 03:07
Как проще всего сделать счетчик для данных (модель бд), переданных во view?
yuriy
@omadonex
Aug 10 2015 06:03
Всем привет! Подскажите плиз, можно ли защищать роуты, которые используются для ajax-запросов с помощью middleware? Например я хочу, чтобы по конкретному роуту мог отсылать ajax-запрос только администратор. Как вообще правильно это делается?
Const
@umren
Aug 10 2015 06:28
@omadonex если ответишь себе на вопрос что такое ajax запрос и чем он отличается от обычного то сам догадаешься
yuriy
@omadonex
Aug 10 2015 06:31
да я уже прикинул, что миддлеваре не прокатит, надо видно на стороне сервака уже проверки делать
Роман Сохарев
@greabock
Aug 10 2015 06:38
@omadonex ты уж прости, но хреново ты прикинул =)
Middleware создан (в числе прочего) именно для того, чтобы отсекать подобные вещи
yuriy
@omadonex
Aug 10 2015 06:44
@greabock @umren блин мужики :) ну помогите разобраться е-мае, хватит уже троллить нуба
Роман Сохарев
@greabock
Aug 10 2015 06:44
Ну вот смотри
у тебя же есть middleware auth ?
yuriy
@omadonex
Aug 10 2015 06:45
да
Роман Сохарев
@greabock
Aug 10 2015 06:45
Он проверяет на авторизацию
почему бы не сделать точно такой же, в котором проверялась бы роль?
и им защищать соответствующие маршруты
Намек прозрачен? =)
isUndefined
@isUndefined
Aug 10 2015 06:47
@greabock @omadonex https://github.com/bestmomo/laravel5-example такой пример подойдет для развития знаний?
yuriy
@omadonex
Aug 10 2015 06:47
This message was deleted
в принципе понял
Роман Сохарев
@greabock
Aug 10 2015 06:49
@isUndefined для написания блога пойдет
yuriy
@omadonex
Aug 10 2015 06:49
ща пробовать буду спасибо
isUndefined
@isUndefined
Aug 10 2015 06:50
@greabock а если брать отдельные модули? роли, админка, и вообще все с 0... :)
Роман Сохарев
@greabock
Aug 10 2015 06:50
@omadonex
<?php namespace App\User\Http\Middleware;

use Illuminate\Contracts\Auth\Guard;
use Closure;
use Redirect;
use Illuminate\Http\Request;

class HasRole {

    /**
     * Реализация Guard
     *
     * @var Guard
     */
    protected $auth;

    /**
     * Создание нового объекта-фильтра
     *
     * @param  Guard  $auth
     */
    public function __construct(Guard $auth)
    {
        $this->auth = $auth;
    }

    /**
     * Обработка входящего запроса
     *
     * @param  Request $request
     * @param  Closure $next
     * @return mixed
     */
    public function handle(Request $request, Closure $next)
    {

        $role = $request->route()->getAction()['role']; //foo.bar

        if ( ! $this->auth->user()->hasRole($role) )
        {
            if ($request->ajax())
            {
                return response('Forbidden.', 403);
            }

            return Redirect::route('user::frontend.visitor.login');

        }

        return $next($request);
    }
}
@omadonex ну а реализацию hasRole() Метода модели, ты уж как ни будь сам накатаешь =)
yuriy
@omadonex
Aug 10 2015 06:52
у меня есть этот миддлеваре
просто он не проверял аякс запросы
Роман Сохарев
@greabock
Aug 10 2015 06:53
а, ну ок
yuriy
@omadonex
Aug 10 2015 06:53
только я не вижу реальных отличий, а у меня не работает :(
<?php namespace App\Http\Middleware;

use Closure;

class CheckRole {

    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        // Get the required roles from the route
        $roles = $this->getRequiredRoleForRoute($request->route());

        // Check if a role is required for the route, and
        // if so, ensure that the user has that role.
        if($request->user()->hasRole($roles) || !$roles)
        {
            return $next($request);
        }
        abort(404);
    }

    private function getRequiredRoleForRoute($route)
    {
        $actions = $route->getAction();
        return isset($actions['roles']) ? $actions['roles'] : null;
    }

}
Роман Сохарев
@greabock
Aug 10 2015 06:54
@isUndefined ну про модульную структуру я вот здесь немного писал https://gist.github.com/greabock/48787baab768b519f21c
yuriy
@omadonex
Aug 10 2015 06:55
ааа наверное все таки из за гварда
и auth
Rustam Vorontsov
@Rmfordev
Aug 10 2015 06:55
поэтому я не юзаю, авторизацию из коробки =)
Роман Сохарев
@greabock
Aug 10 2015 06:56
@Rmfordev потому, что кодишь на yii? XD
Rustam Vorontsov
@Rmfordev
Aug 10 2015 06:56
@greabock ыы, не юи это в прошлом)
Роман Сохарев
@greabock
Aug 10 2015 06:57
@Rmfordev а твоя ава говорит, что всё еще впереди =)
Rustam Vorontsov
@Rmfordev
Aug 10 2015 06:57
@greabock ну мне наверн лучше знать =)
Роман Сохарев
@greabock
Aug 10 2015 06:58
@Rmfordev пути Господни, как известно, неисповедимы...
я вот и думать не думал, а полтора месяца на CI проковырялся...
Artur Gafurov
@assurrussa
Aug 10 2015 06:59
@Rmfordev незнаю что там не нравится, у меня пока проблем не возникало со стандартной авторизацией)
Rustam Vorontsov
@Rmfordev
Aug 10 2015 06:59
вот такой костыль для начала https://gist.github.com/Rmfordev/eb1db1f58b83dff6bb17
а роли и прочее, эт ерунда
кстате если про юи, то там как раз хорошая зависимость ролей, если нужно =)
Роман Сохарев
@greabock
Aug 10 2015 07:01
@Rmfordev не показывай никому такое больше =)
Rustam Vorontsov
@Rmfordev
Aug 10 2015 07:01
@greabock а что такое?
yuriy
@omadonex
Aug 10 2015 07:03
@greabock не работает :)
Роман Сохарев
@greabock
Aug 10 2015 07:03
Ну для может себя покатит. А вот показывать - я бы не стал. Потому что написано не очень.
yuriy
@omadonex
Aug 10 2015 07:03
Route::group(['middleware' => ['auth']], function() {
    Route::group(['middleware' => ['role']], function() {
        Route::group(['roles' => [Role::ROOT, Role::ADMIN, Role::EMAIL_EDITOR, Role::PHONE_EDITOR]], function () {
            Route::post('/api/person/edit', 'ApiController@personEdit');
        });
    });
});
Роман Сохарев
@greabock
Aug 10 2015 07:05
@omadonex http://laravel.com/docs/5.1/middleware#middleware-parameters
вот тебе из офф доки пример.
@Rmfordev начнем с того, что куча ошибок в док блоках. А кроме того - это же статика. Совсем не в духе laravel
yuriy
@omadonex
Aug 10 2015 07:06
нене я согласен что все должно работать, у меня все норм работает на роутах, которые не связаны с аякс запросами.
Роман Сохарев
@greabock
Aug 10 2015 07:07
@omadonex даже и не знаю чем тебе помочь. И чем отвечает лара на аякс запросы?
Просто пропускает? Или в чем там дело?
Rustam Vorontsov
@Rmfordev
Aug 10 2015 07:08
@greabock да класс писался 5 мин, для того чтоб не использовать авторизацию из коробки, по поводу статики, я лучше буду юзать статику, чем фасад
Роман Сохарев
@greabock
Aug 10 2015 07:09
кроче, твой код слишком Kohana
Artur Gafurov
@assurrussa
Aug 10 2015 07:10
@omadonex у тебя csrf проверяется при ajax?
yuriy
@omadonex
Aug 10 2015 07:14
я добавил роут в исключение в проверке VerifyCsrfToken
ща мне кажется у меня где-то глупая ошибка закралась
должно все работать же
Роман Сохарев
@greabock
Aug 10 2015 07:15
не надо в исключения VerifyCsrfToken роуты добавлять, если это не внешнее апи - завязывайте=))
yuriy
@omadonex
Aug 10 2015 07:16
при формировании аякс запроса надо в параметрах токен передавать?
Artur Gafurov
@assurrussa
Aug 10 2015 07:16
@omadonex добавь в заголовок CsrfToken, для Ajax запроса
yuriy
@omadonex
Aug 10 2015 07:17
ок
yuriy
@omadonex
Aug 10 2015 07:22
вроде все заработало
@assurrussa ток я не пойму как это сделать
Куда вот это писать
$.ajaxSetup({ headers: { 'csrftoken' : '{{ csrf_token() }}' } });
Artur Gafurov
@assurrussa
Aug 10 2015 07:24
@omadonex можно туда же где и идет отправка ajax
yuriy
@omadonex
Aug 10 2015 07:25
у меня то файл common.js он не понимает blade
Artur Gafurov
@assurrussa
Aug 10 2015 07:26
@omadonex
  $(function () {
        $.ajaxSetup({
            headers: {
                'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content')
            }
        });
          $('.todo').post();
        });
yuriy
@omadonex
Aug 10 2015 07:26
@assurrussa ааа, и в страничку вставить мета тэг?
Artur Gafurov
@assurrussa
Aug 10 2015 07:28
@omadonex ну а как по твоему должен узнать токен js в отдельном файле?
NelinD
@NelinD
Aug 10 2015 07:28
@omadonex а что за проект ты натягиваешь?
yuriy
@omadonex
Aug 10 2015 07:29
у меня несколько проектов есть
сейчас я делаю справочник телефонов и электронной почты сотрудников
@assurrussa спасибо!
Alexander Popov
@ruelephant
Aug 10 2015 07:46
еретики!
на пых канале JS код
NelinD
@NelinD
Aug 10 2015 07:59
@ruelephant не богохульствуй, а то асмом приложу
Anton Shelestov
@shelestovas
Aug 10 2015 08:05
Народ всем привет.
можете подсказать что за ошибка такая?
local.ERROR: exception 'Symfony\Component\Debug\Exception\FatalErrorException' with message 'XCache: Cannot init' in Unknown:0
ruelephant @ruelephant погуглил строчку и понял ДЗЕН
Alexander Popov
@ruelephant
Aug 10 2015 08:23
@NelinD давай
потереби мои регистры, о да
NoViKoFF
@AndrewNovikof
Aug 10 2015 09:04
Всем добрый день. Никто не знает, метод touch(); в Eloquent работает в статических методах аля:
Project::where('id', $project_id)->touch();
У меня не хочет просто сволочь такая)
Alexander Popov
@ruelephant
Aug 10 2015 09:07
а что пишет?
NoViKoFF
@AndrewNovikof
Aug 10 2015 09:07
Что такое, даже так не работает:
$project = new Project();
$project->where('id', $project_id)->touch();
Alexander Popov
@ruelephant
Aug 10 2015 09:07
а что пишет то
NoViKoFF
@AndrewNovikof
Aug 10 2015 09:08
Что то вроде
exception 'BadMethodCallException' with message 'Call to undefined method и тд
JhaoDa
@jhaoda
Aug 10 2015 09:08
@deller21 т.е. ты не знаешь, что такое XCache?
Alexander Popov
@ruelephant
Aug 10 2015 09:08
@jhaoda хуже, он не умеет читать
NoViKoFF
@AndrewNovikof
Aug 10 2015 09:09
@ruelephant Хотя документация говорит что пользуйтесь Тачем наздоровье)
Alexander Popov
@ruelephant
Aug 10 2015 09:09
touch метод модели
NoViKoFF
@AndrewNovikof
Aug 10 2015 09:10
@ruelephant и что я делаю не так?)
Alexander Popov
@ruelephant
Aug 10 2015 09:10
ударьте меня кто нить, но вроде бы where возращает уже bulder
This message was deleted
@jhaoda я прав? :)
Maksim (Ellrion) Platonov
@Ellrion
Aug 10 2015 09:11
@AndrewNovikof а разве это не метод релейшена вообще?
NoViKoFF
@AndrewNovikof
Aug 10 2015 09:12
@ruelephant мне нужно строчку обновить, полюбому where нужен
или я дурак
Maksim (Ellrion) Platonov
@Ellrion
Aug 10 2015 09:12
тебе надо сначало получить модель а потом обновить
Alexander Popov
@ruelephant
Aug 10 2015 09:12
touch причем тут?
NoViKoFF
@AndrewNovikof
Aug 10 2015 09:13
красивый инструмент, что бы не писать "обнови мне такое то поле, таким то объектом времени")))
Alexander Popov
@ruelephant
Aug 10 2015 09:13
bool touch() -Update the model's update timestamp.
ВНИМАНИЕ!
обновляет только timestamp в базе, все
NoViKoFF
@AndrewNovikof
Aug 10 2015 09:14
@ruelephant Этого я и хочу добиться, чтобы он мне обновил таймстемп
Все, я понял
Anton Shelestov
@shelestovas
Aug 10 2015 09:15
@jhaoda я новичек в laravel(
JhaoDa
@jhaoda
Aug 10 2015 09:15
@deller21 а при чем тут ларавель? Ты знаешь, что такое XCache или нет?
Alexander Popov
@ruelephant
Aug 10 2015 09:15
@AndrewNovikof ты модель то нормально сделал?
JhaoDa
@jhaoda
Aug 10 2015 09:16
@deller21 если нет, то почему не погуглил?
Alexander Popov
@ruelephant
Aug 10 2015 09:16
не просто класс объявил
NoViKoFF
@AndrewNovikof
Aug 10 2015 09:17
@ruelephant Да все нормально сделал, даже филейбл поля перечислил в массиве, а не через "*"...
Alexander Popov
@ruelephant
Aug 10 2015 09:17
@jhaoda я после двух недель отпуска уже все забыл :)
рули рулем
Maksim (Ellrion) Platonov
@Ellrion
Aug 10 2015 09:19
@AndrewNovikof просто нужно Project::find($project_id)->touch();
но это два запроса в базу
Alexander Popov
@ruelephant
Aug 10 2015 09:20
шито?
@AndrewNovikof Project::where('id', $project_id)->first()->touch();
пробуй
Maksim (Ellrion) Platonov
@Ellrion
Aug 10 2015 09:22
а чему тебе мой вариант не устроил? @ruelephant
NoViKoFF
@AndrewNovikof
Aug 10 2015 09:22
@ruelephant так сработало)
Но стоит подумать, что это 2 запроса
Alexander Popov
@ruelephant
Aug 10 2015 09:23
@AndrewNovikof а ты хотел и на пенек сесть и косарь не отдать? :)
это же ОРМ, оно тупое
NoViKoFF
@AndrewNovikof
Aug 10 2015 09:23
Может стоит обойтись одним тупым апдейтом
Alexander Popov
@ruelephant
Aug 10 2015 09:23
без признаков телепатии
@AndrewNovikof запрос копеешный
будешь вставлять сырые апдейты, тебе предадут анафеме
NoViKoFF
@AndrewNovikof
Aug 10 2015 09:24
@ruelephant Так то да) Всем Спасибо!
:smile:
Alexander Popov
@ruelephant
Aug 10 2015 09:24
@Ellrion потому что следующим шагом будет попытка потрогать что-то не по праймери кей
Boobs::model()->where('size', '>=', 3)->first()->touch()
NoViKoFF
@AndrewNovikof
Aug 10 2015 09:26
@Ellrion твой бы вариант тут тоже зашел, спасибо)
Maksim (Ellrion) Platonov
@Ellrion
Aug 10 2015 09:26
@ruelephant где он это написал? он привел кусок кода где делает where по id, я логично указал на более короткую запись
Alexander Popov
@ruelephant
Aug 10 2015 09:27
@Ellrion он это не написал, но я то понимаю что они попробуют сделать следующим шагом
новичкам надо давать более общие примеры
"специальные" оптимизации, это следующий шаг
Maksim (Ellrion) Platonov
@Ellrion
Aug 10 2015 09:28
ну тут как посмотреть. в его примере, новечку надо было указать на коректный метод взятия модели по праймари кей
Alexander Popov
@ruelephant
Aug 10 2015 09:28
должен ходить теам лидер по офису и давать палкой по спине
а не в чатике :)
NoViKoFF
@AndrewNovikof
Aug 10 2015 09:29
@Ellrion @ruelephant хватит холи вара, код ради кода - это такое))
Alexander Popov
@ruelephant
Aug 10 2015 09:31
код ради кода пораждает код, который подраждает код - во славу кода!
Anton Shelestov
@shelestovas
Aug 10 2015 09:31
@jhaoda почитал про кеш... в доках laravel написано что лучше использовать APC, в конфиге указал 'default' => env('CACHE_DRIVER', 'apc'), и что-то изменений вообще нет(
Alexander Popov
@ruelephant
Aug 10 2015 09:32
NOOOOO!
@deller21 это дефолтное значени
настоящие значение смотри в .env
Anton Shelestov
@shelestovas
Aug 10 2015 09:32
и там указал apc
JhaoDa
@jhaoda
Aug 10 2015 09:32
@deller21 а у тебя вообще стоит APC, что ты его указал?
Maksim (Ellrion) Platonov
@Ellrion
Aug 10 2015 09:33
Да это не в кеше лары дело вообще
Anton Shelestov
@shelestovas
Aug 10 2015 09:33
CACHE_DRIVER=apc
Maksim (Ellrion) Platonov
@Ellrion
Aug 10 2015 09:33
и не в самой ларе
JhaoDa
@jhaoda
Aug 10 2015 09:33
Именно
Maksim (Ellrion) Platonov
@Ellrion
Aug 10 2015 09:33
у тебя пыха сконфигана плохо
Alexander Popov
@ruelephant
Aug 10 2015 09:33
пыха виновата!
Anton Shelestov
@shelestovas
Aug 10 2015 09:33
значит хостер, что-то навернул там?
у себя
Alexander Popov
@ruelephant
Aug 10 2015 09:33
конечно, хостер виноват!
дождись полнолунья, и наведи порчу на тех поддержку по телефону
Anton Shelestov
@shelestovas
Aug 10 2015 09:34
умник
заработало кстати
apc
Alexander Popov
@ruelephant
Aug 10 2015 09:35
и в чем были грабли? :)
Anton Shelestov
@shelestovas
Aug 10 2015 09:35
если честно хз( с настройками может быть
Alexander Popov
@ruelephant
Aug 10 2015 09:36
@deller21 ты понимашь что мы не телепаты, и описание из вида "помогите!!!!! Зелененькое в красненько должно быть синенькое!!!!11"
не ведут к конструктивному решению проблемы
Anton Shelestov
@shelestovas
Aug 10 2015 09:36
а это ведет к решению? "дождись полнолунья, и наведи порчу на тех поддержку по телефону"
я выше написал что за ошибка у меня была, что в логах писалось и просто совет спросил
а не решение требовал
Alexander Popov
@ruelephant
Aug 10 2015 09:40
шо то я не увидел
Anton Shelestov
@shelestovas
Aug 10 2015 09:43
ну значит печально, гугли тогда как все говорят)
Alexander Popov
@ruelephant
Aug 10 2015 09:44
попингуй
Anton Shelestov
@shelestovas
Aug 10 2015 09:44
ip не знаю
Alexander Popov
@ruelephant
Aug 10 2015 09:45
127.0.0.1
ruelephant @ruelephant реально сливал этот IP людям, которые угрожали что вычислят
Alexander Popov
@ruelephant
Aug 10 2015 09:46
до сих пор едут
Qweqwe1234
@Qweqwe1234
Aug 10 2015 10:58
Я запутался... как проще достать параметры в middleware из роута(к примеру /{slug} использовать в middleware) и как указать 2 middleware?
JhaoDa
@jhaoda
Aug 10 2015 11:01
@Qweqwe1234 1. Мидлваря глобальная или на роут? 2. А ты как думаешь? Можеть быть передать не строку с именем мидлвари, а массив имён?
isUndefined
@isUndefined
Aug 10 2015 11:03
@jhaoda я тоже пробовал кинуть массив мидлвар на роут но не получилось... указал 2 раза 'middleware' => 'admin', 'middleware' => 'redac' и пошло...
Qweqwe1234
@Qweqwe1234
Aug 10 2015 11:03
@jhaoda 1. на роут, точнее на группу, конкретнее хочу имя поддомена во вложенной групе роутов использовать, точнее в middleware привязанной к роутам
2.спасибо, прошу прощения за столь глупый вопрос
JhaoDa
@jhaoda
Aug 10 2015 11:04
@isUndefined не знаю, что ты там пробовал
isUndefined
@isUndefined
Aug 10 2015 11:04
@jhaoda Route::get('/', [ 'uses' => 'AdminController@admin', 'as' => 'admin', 'middleware' => 'admin', 'middleware' => 'redac', ]);
JhaoDa
@jhaoda
Aug 10 2015 11:05
@isUndefined дальше что?
isUndefined
@isUndefined
Aug 10 2015 11:05
@jhaoda это все
JhaoDa
@jhaoda
Aug 10 2015 11:05
Я не знаю, почему у тебя человеческий вариант middleware => ['admin', 'redac'] не сработал
Вероятно, ты накосячил
isUndefined
@isUndefined
Aug 10 2015 11:06
сам удивился :)
JhaoDa
@jhaoda
Aug 10 2015 11:07
@isUndefined ага, у всех работает, а ты вот такой особенный
@Qweqwe1234 мидлваря принимает первый параметр какой? Request. У реквеста есть что? Метод route(). Дальше разберешься?
Эх, надо завязывать с тонким йумором, а то народ не понимает и начинает постить код для пояснения...
Qweqwe1234
@Qweqwe1234
Aug 10 2015 11:10
@jhaoda
  1. Спасибо, так и достаю, но думал возможно как-то иначе(проще)
  2. а порядок прохождения middleware фиксированный? сначала выполнит первый затем второй? Хочу сначала авторизацию проверить и авторизавать юзера, и лишь потом следующей проверкой по пользователю идти
JhaoDa
@jhaoda
Aug 10 2015 11:11
@Qweqwe1234 куда проще-то?
Ну используешь ты фасад, а какая разница?
Qweqwe1234
@Qweqwe1234
Aug 10 2015 11:11
@jhaoda сразу доступ в виде переменных
JhaoDa
@jhaoda
Aug 10 2015 11:12
@Qweqwe1234 зачем они в мидлваре?
В контроллере еще понятно, а в мидлваре?
Qweqwe1234
@Qweqwe1234
Aug 10 2015 11:12
Не так давно взялся за Laravel поэтому иногда не до конца понимаю как она работает
JhaoDa
@jhaoda
Aug 10 2015 11:12
@Qweqwe1234 доку читай
Qweqwe1234
@Qweqwe1234
Aug 10 2015 11:13
@jhaoda для проверок... Читаю, но примеров часто нехватает.
JhaoDa
@jhaoda
Aug 10 2015 11:13
@Qweqwe1234 глобальные мидлвари работают тогда, когда роут ещё не разобран. И что, откуда брать переменные?
Qweqwe1234
@Qweqwe1234
Aug 10 2015 11:14
@jhaoda но речь идет о middleware привязанных к роуту... А если серьезно, то не подумал об этом
JhaoDa
@jhaoda
Aug 10 2015 11:15
@Qweqwe1234 у всех мидлварь одинаковый интерфейс
Любую мидлварю можно сделать глобально или пороутной
Qweqwe1234
@Qweqwe1234
Aug 10 2015 11:17
@jhaoda уже понял... еще раз спасибо за объяснения. $request->route()->parameters()['subdomain'] - надеюсь все верно? а по поводу порядка выполнения при указании нескольких как лучше реализовать? или можно к своей привязать auth? моя в любом случаи зависима от авторизации(требуется залогиненный юзер)
JhaoDa
@jhaoda
Aug 10 2015 11:18
@Qweqwe1234 $request->route()->parameter('subdomain')
Qweqwe1234
@Qweqwe1234
Aug 10 2015 11:19
@jhaoda спасибо... сегодня явно не лучший мой день для изучения... пора заканчивать.
JhaoDa
@jhaoda
Aug 10 2015 11:19
@Qweqwe1234 глобальные мидлвари выполнятся в любом случае раньше тех, что ты указал в роуте
Указанные в роуте будут выполнятся в порядке указания
Qweqwe1234
@Qweqwe1234
Aug 10 2015 11:19
@jhaoda Спасибо
Qweqwe1234
@Qweqwe1234
Aug 10 2015 11:27
@jhaoda последний вопрос... возможно ли указать необходимость прохождения middleware auth перед прохождением моего middleware внутри него, что бы в роутах добавлять только один свой?
JhaoDa
@jhaoda
Aug 10 2015 11:28
@Qweqwe1234 считай что мидлвари это блины на штанге
Можно ли один блин в другой засунуть?
Maksim (Ellrion) Platonov
@Ellrion
Aug 10 2015 11:29
@jhaoda плохая аналогия
Qweqwe1234
@Qweqwe1234
Aug 10 2015 11:29
@jhaoda думаю нет, спасибо за пример
yuriy
@omadonex
Aug 10 2015 11:39

@Qweqwe1234

Route::group(['middleware' => ['auth']], function() {
    Route::group(['middleware' => ['role']], function() {
        Route::group(['roles' => [Role::EMAIL_EDITOR, Role::PHONE_EDITOR]], function () {
            Route::post('/api/person/edit', 'ApiController@personEdit');
        });
    });
});

Я делаю так. Не знаю правильно/неправильно но вроде вложенные middleware никто не запрещал

JhaoDa
@jhaoda
Aug 10 2015 11:45
@omadonex это не та вложенность, про которую он спрашивал
Denwebart
@Denwebart
Aug 10 2015 12:45
Привет всем. Подскажите, пожалуйста. Делаю "пользователи онлайн", записываю время последней активности пользователя в базу при каждом обращении пользователя к сайту. Дело в том, что запрос сильно много тянет (примерно 50 мс). Как это оптимизировать? Может это как-то связать с сессиями? Подскажите, пожалуйста, решение.
Denwebart
@Denwebart
Aug 10 2015 13:04
Ребят, подскажите, пожалуйста.
JhaoDa
@jhaoda
Aug 10 2015 13:27
@Denwebart ты 22 минуты пишешь вопрос?
Denwebart
@Denwebart
Aug 10 2015 13:28
@jhaoda Не понял.
JhaoDa
@jhaoda
Aug 10 2015 13:30
А, это я не понял. «Подскажите, пожалуйста» написано ПОСЛЕ вопроса.
Оригинально...
Denwebart
@Denwebart
Aug 10 2015 13:32
@jhaoda Это просто сделано для того, чтобы кто-то отреагировал.
Я вот не пойму. Ты таким образом ответчаешь мне уже не первый раз, да и всем. Кто ты такой? Почему ты так общаешься? Сними корону, пожалуйста. Я вежливо задаю вопрос, делаю то, для чего этот чат предназначен. Ты критик? Ты оценщик? Мне уже надоело. Поязвить? Проходи мимо. Благо, тут адекватные ребята есть, до них и пытаюсь достучаться.
Denwebart
@Denwebart
Aug 10 2015 13:41
Никто не делал никогда "пользователи онлайн"? Отзовитесь, пожалуйста.
JhaoDa
@jhaoda
Aug 10 2015 13:49
@Denwebart ну ты бы хоть запрос показал, что бы не гадать на бараньих какашках...
@Denwebart если тебе в моей манере что-то не нравится и что-то надоело, то ничем не могу помочь.
Ты ждешь уже час. Адекватных нет, есть я.
Выбирай.
Denwebart
@Denwebart
Aug 10 2015 13:56

@jhaoda тяжело выбирать между какашкой и какашкой. Ладно, я согласен. Давай в твоём стиле.
В User (модель):

public function setLastActivity()
    {
        $this->last_activity = \Carbon\Carbon::now();
        $this->save();
    }

В конструкторе BaseContoller

if(Auth::check()){
    Auth::user()->setLastActivity();    
}
JhaoDa
@jhaoda
Aug 10 2015 13:57
@Denwebart за прямые оскорбления здесь и отхватить можно
Значит, у тебя один апдейт типа UPDATE table SET last_activity=something WHERE id=5 выполняется 50 мс?
Denwebart
@Denwebart
Aug 10 2015 14:00
@jhaoda тогда ты тоже себя нормально веди, я за справедливость. Админы прекрасно знают, что я здесь никого не оскорблял и не собираюсь. Не один раз я видел как ты людям отвечал. Я человек радикальный, в жизни я поступил бы с тобой очень жёстко, если бы нашёл. Я таких не перевариваю.
А так - у тебя есть выбор, быть нормальным, или нет. За помощь - спасибо. Буду очень признателен.
JhaoDa
@jhaoda
Aug 10 2015 14:00
Я не зря прошу показать запрос, а не код
Denwebart
@Denwebart
Aug 10 2015 14:00
щас
update `users` set `updated_at` = '2015-08-10 16:57:27', `last_activity` = '2015-08-10 16:57:27' where `id` = '1'
JhaoDa
@jhaoda
Aug 10 2015 14:01
@Denwebart так ты найди, в чем проблема-то? Как там, «я тибя по ойпи вычеслю ска!»
Denwebart
@Denwebart
Aug 10 2015 14:02
@jhaoda давай по существу. Да или нет? Или проходи мимо.
JhaoDa
@jhaoda
Aug 10 2015 14:03
@Denwebart у меня один похожий апдейт выполняется 36 мс
Локальная машина, не сервак. Вроде в пределах допустимого.
Maksim (Ellrion) Platonov
@Ellrion
Aug 10 2015 14:04
@Denwebart если тебе не нужен сам лог активности, то складывай не в базу а в кеш
Denwebart
@Denwebart
Aug 10 2015 14:04
@jhaoda Да, у меня xampp. Очень переживаю, не много опыта в этих вещах. Оставить, как есть и не переживать?
@Ellrion Другие пользователи должны видеть, кто онлайн, а кто - нет.
Maksim (Ellrion) Platonov
@Ellrion
Aug 10 2015 14:06
@Denwebart ну и? кэш общий
Denwebart
@Denwebart
Aug 10 2015 14:06
@Ellrion Не сталкивался, спасибо. Не затруднит немного подробнее разъяснить?
Alexander Popov
@ruelephant
Aug 10 2015 14:11
еу еу!
народ насколько правильно, при SOFT delete по ресту делать UPDATE свойства по флагу, чем DELETE

На примере:

DELETE /api/item/11

против

POST /api/item/11
{'delete': true}
Maksim (Ellrion) Platonov
@Ellrion
Aug 10 2015 14:13
настрой кеш например на memcached http://laravel.com/docs/5.1/cache#configuration. потом где надо записать делаешь так:
 $online = Cache::get('online-now', []);
 $online[Auth::userId()] = ['user' => Auth::user()->toArray(), 'time' => \Carbon\Carbon::now()];
Cache::put('online-now',  $online);
ну еще надо сделать задачу что бы чистила по расписанию этот список
Denwebart
@Denwebart
Aug 10 2015 14:16
@Ellrion Использую Laravel 4.2 в этом проекте. Memcached ведь недоступен на шаредах? Да и не работал с ним никогда. Планировал попробовать файловый кеш.
Maksim (Ellrion) Platonov
@Ellrion
Aug 10 2015 14:16
@ruelephant если есть оба удаления и мягкое и простое то норм
@Denwebart тогда у тебя разницы по скорости по сути не будет
Denwebart
@Denwebart
Aug 10 2015 14:18
@Ellrion То есть, нет смысла через кеш делать? Оставить как есть?
Maksim (Ellrion) Platonov
@Ellrion
Aug 10 2015 14:19
@Denwebart это надо профилировать, смотреть насколько оно тебе вообще надо и т.д. только ты сам можешь ответить на этот вопрос, я просто указал как еще можно реализовать
Denwebart
@Denwebart
Aug 10 2015 14:20
@Ellrion Спасибо большое. А это вообще нормально, что Update в MySQL тянет так много?
JhaoDa
@jhaoda
Aug 10 2015 14:21
@Denwebart с файловым кэшем на шареде ты можешь получить лаг еще больше
Artur Gafurov
@assurrussa
Aug 10 2015 14:22
немогу разобраться с ошибкой на сервере - Nginx, php-fpm - в логах написано Unable to open primary script: /var/www/site.ru/public_html/public/backend/products/1/ajax/search_products.php (No such file or directory) while reading response header from upstream ...
кто-нибудь знает что это?
Denwebart
@Denwebart
Aug 10 2015 14:23
@jhaoda А как тогда люди поступают? Не кешировать вообще?
JhaoDa
@jhaoda
Aug 10 2015 14:23
@Denwebart если нужен быстрый кэш, то мемкэш/редис/etc. Но это уже не шаред.
Хотя на некоторых шаредах бывают и они
@Denwebart но вообще, ты прикинь, сколько времени уходит на полную обработку запроса и сколько процентов от этого времени занимают эти 50 мс
Maksim (Ellrion) Platonov
@Ellrion
Aug 10 2015 14:25
@Denwebart люди виртуалку берут
JhaoDa
@jhaoda
Aug 10 2015 14:27
Например, у меня запрос выполняется за 850 мс. Из них 120 мс — запросы. Из них 35 мс — апдейт. Критично в данном случае, если он выполнится за 10 мс и общее время составит 825 мс? Нет.
Maksim (Ellrion) Platonov
@Ellrion
Aug 10 2015 14:27
@assurrussa если файл реально есть, то дело вестимо в правах на файл
Denwebart
@Denwebart
Aug 10 2015 14:28
@jhaoda Понимаю, что мало это, да и могу просто оставить, как есть. Но у меня на сайте очень много динамической информации (просмотры, голоса, статус пользователей, комментарии и т.п.). И таких 50 мс, а то и больше, набегает прилично. Их же не закешируешь?
@Ellrion вы про VPS? Я бы с радостью, но это клиент... Сами знаете.
Maksim (Ellrion) Platonov
@Ellrion
Aug 10 2015 14:29
@Denwebart почему нет? можно кешить например на пол минуты. Пользователю критично что обновление будет чуть позже? зачастую нет. а нагрузку может сильно снять с базы
если клеент хочит все и бесплатно то он идиот
и надо ему это объяснить, естественно в другой терминологии
Artur Gafurov
@assurrussa
Aug 10 2015 14:31
@Ellrion Хм, и на какой файл тогда вести права, если я прописал Route::get(..). остальное то всё работает, только один этот путь!(
Denwebart
@Denwebart
Aug 10 2015 14:33
@Ellrion Это первый проект мой на Ларавел вообще (4.2). :)
Кешировать пока вообще не пробовал. Если никак не получится с мемкэш/редис/etc, то стоит ли вообще файловый кеш делать? Уместно ли?
А клиенты - да, такие, я буду пытаться ему объяснить.
Maksim (Ellrion) Platonov
@Ellrion
Aug 10 2015 14:33
@assurrussa приведи полностью роут и строку аякс вызова
JhaoDa
@jhaoda
Aug 10 2015 14:33
@Denwebart проверь. Вдруг у тебя там шаред на SSD и файловый кэш будет летать
Maksim (Ellrion) Platonov
@Ellrion
Aug 10 2015 14:34
@Denwebart если много запросов в бд, то можно попробовать
@jhaoda меня терзают смутные сомнения что там ssd)
JhaoDa
@jhaoda
Aug 10 2015 14:35
@Ellrion ну во у нас один хостер предлагает шареды на SSD, подороже, чем простые, но предлагает
Artur Gafurov
@assurrussa
Aug 10 2015 14:35
@Ellrion
Route::get(config('cms.path.products') . '/{id}/ajax/search_products.php',
    '\Http\Controllers\ProductsController@search_products');
//как выглядит запрос
http://laravel.local/backend/products/1/ajax/search_products.php?term=
Denwebart
@Denwebart
Aug 10 2015 14:35
@Ellrion А в ларе 4.2 есть ли кеш запросов БД?
@jhaoda https://www.ukraine.com.ua/ вроде как, есть. Но это не хостинг клиента. Я просто смотрю, сравниваю, ищу.
Maksim (Ellrion) Platonov
@Ellrion
Aug 10 2015 14:36
@assurrussa принципиально .php? если да то показывай настройки вебсервера там ошибка если нет, то удали
Artur Gafurov
@assurrussa
Aug 10 2015 14:36
@Ellrion search_products.php не из за этого ли?
JhaoDa
@jhaoda
Aug 10 2015 14:37
@Denwebart есть. Это его в 5.0 выпилили.
Denwebart
@Denwebart
Aug 10 2015 14:38
@jhaoda а в 5.1 вернули?
JhaoDa
@jhaoda
Aug 10 2015 14:38
@Denwebart нет
Denwebart
@Denwebart
Aug 10 2015 14:38
@jhaoda и всех устраивает? Как теперь без него?
JhaoDa
@jhaoda
Aug 10 2015 14:38
Ну т.е. он есть, просто менее удобный, чем в 4.2
Denwebart
@Denwebart
Aug 10 2015 14:39
Ясно, спасибо большое, очень помогли. Пойду пытаться.
Maksim (Ellrion) Platonov
@Ellrion
Aug 10 2015 14:39
@Denwebart теперь "Retrieve Or Update" у кэша
Denwebart
@Denwebart
Aug 10 2015 14:40
@Ellrion А вообще, на 5.1 надо переходить? Или можно спокойно ещё несколько лет на 4.2 делать?
@Ellrion Или там всё намного круче?
Maksim (Ellrion) Platonov
@Ellrion
Aug 10 2015 14:40
$value = Cache::remember('users', $minutes, function() {
    return DB::table('users')->get();
});
//вместо
$value = DB::table('users')->remember($minutes)->get();
@Denwebart 5.1 однозначно
JhaoDa
@jhaoda
Aug 10 2015 14:42
Ну если пообщаться с местным товарищем Серафимом, то он расскажет, что 5.х — отродье Сатаны и Главная Ошибка Всей Жизни Тэйлора :)
Maksim (Ellrion) Platonov
@Ellrion
Aug 10 2015 14:43
ну да, мнения разные. Я просто высказал свое.
для себя я аргументировал и мы перешли на 5.0, а потом на 5.1
JhaoDa
@jhaoda
Aug 10 2015 14:44
Но вообще, 5.1 однозначно, да
lordonx3
@lordonx3
Aug 10 2015 14:45
Всем доброго дня.
Взял себе сервер с Debian 7.0
Maksim (Ellrion) Platonov
@Ellrion
Aug 10 2015 14:45
одно то что это LTS уже все прекрывает пожалуй
lordonx3
@lordonx3
Aug 10 2015 14:45
Подскажите, что установить поверх, для работы с laravel?
Кроме php :)
Maksim (Ellrion) Platonov
@Ellrion
Aug 10 2015 14:45
PHP >= 5.5.9
OpenSSL PHP Extension
PDO PHP Extension
Mbstring PHP Extension
Tokenizer PHP Extension
lordonx3
@lordonx3
Aug 10 2015 14:46
Понял, mcrypt нужно на debian или нет?
Denwebart
@Denwebart
Aug 10 2015 14:47
Спасибо большое. Следующий проект однозначно на 5.1
JhaoDa
@jhaoda
Aug 10 2015 14:47
@lordonx3 ты же это на тостере спрашивал
lordonx3
@lordonx3
Aug 10 2015 14:47
Да, просто с FastVPS уладить никак не могу.
Дал им список чего установить, а они "не можем".
Maksim (Ellrion) Platonov
@Ellrion
Aug 10 2015 14:50
@lordonx3 если ты юзаешь последнюю лару то там OpenSSL а не mcript
еще накатывай composer, nodejs, npm, bower, gulp, redis or memcached, mysql or posgrsql
можно еще очереди если нужны)
Artur Gafurov
@assurrussa
Aug 10 2015 15:01
@Ellrion Спасибо, помогло)
Denis Isaychenko
@Rhincodon
Aug 10 2015 15:13
а Laracon же не стримят, правильно?
JhaoDa
@jhaoda
Aug 10 2015 15:14
@gaaarfild обещал попробовать постримить
Denis Isaychenko
@Rhincodon
Aug 10 2015 15:18
@jhaoda хм, а там можно типа снимать и сразу стримить?
JhaoDa
@jhaoda
Aug 10 2015 15:20
@Rhincodon хз, он обещал попробовать
Грустно, господа. Еще полгода назад таких вопросов не появлялось. Это успех?
Denis Isaychenko
@Rhincodon
Aug 10 2015 15:32
Это плата за популярность :)
Denis Isaychenko
@Rhincodon
Aug 10 2015 15:42
ветка обещает быть интересной :)
Nick
@akavolkol
Aug 10 2015 15:56
o
nnnikolay
@nnnikolay
Aug 10 2015 16:03
народ, не получается cors завести в nginx для люмена
точнее как, получается завести (option проходит) но тогда все урлы (/test) возвращают 404
понимаю что не совсем ларавел, но может есть у кого опыт ?
JhaoDa
@jhaoda
Aug 10 2015 16:09
@Rhincodon я почитал, что там афтырь в каментах пишет, какая жесть...
projct1
@projct1
Aug 10 2015 16:16
посоветуйте как бы сделать историю сохранения в админке?
есть много всяких параметров, хранящихся в разных таблицах, некоторые сущности разбиты на таблицы, некоторые нет
при сохранении надо выяснять что изменилось а что нет
как проще это реализовать?
projct1
@projct1
Aug 10 2015 16:19
@jhaoda спс) а если сайт не на ларавеле, а просто на самописном говнодвижке?)
Maksim (Ellrion) Platonov
@Ellrion
Aug 10 2015 16:20
@jhaoda спс неплохой пакет буду знать
JhaoDa
@jhaoda
Aug 10 2015 16:20
@rorc ну посмотри, как сделано в этих пакетах и сделай примерно так же
projct1
@projct1
Aug 10 2015 16:21
кстати а что за класс GUard в ларе?
Maksim (Ellrion) Platonov
@Ellrion
Aug 10 2015 16:23
@rorc управляет авторизацией
projct1
@projct1
Aug 10 2015 18:03
как правильно апдейтить в базе чекбоксы? получается сначала все удалить надо а потом заного вставить?
Anton Shelestov
@shelestovas
Aug 10 2015 18:05
народ посоветуйте документацию по созданию API, типо как вконтакте например, по url дал запрос с параметрами и получил нужные данные
Anton Shelestov
@shelestovas
Aug 10 2015 18:07
это общая информация?
projct1
@projct1
Aug 10 2015 18:08
lf
да
как правильно
Anton Shelestov
@shelestovas
Aug 10 2015 18:08
ок спс почитаю, а конкретно с laravel есть? хоть на английском
projct1
@projct1
Aug 10 2015 18:11
@deller21 ну там всё то же самое, роуты настроил и всё, в чём сложности
от твоих задач зависит
symbios_zi
@symbiosss
Aug 10 2015 20:13
@Ellrion привет. поясни по дискуссии что значит: Антон, почти, только фильтры могут быть не только классами и их не надо регистрировать. Ну и плюс я наверное не в курсе, как указывать миддлвейр после запроса - просьба тыкнуть носом в доки.
что значит ненадо регистрировать? и как надо регистрировать middleware?
unclealex
@unclealex
Aug 10 2015 20:14
В kernel.php вроде же, не?
вклинился
unclealex
@unclealex
Aug 10 2015 20:15
Ну я так и подумал, но решил вбросить)
symbios_zi
@symbiosss
Aug 10 2015 20:15
@unclealex чета я как то сразу указывал в роуте middleware не регистрируя его в kernel
unclealex
@unclealex
Aug 10 2015 20:17

@symbiosss Глобальный посредник

Если вы хотите, чтобы посредник запускался для каждого HTTP-запроса в вашем приложении, добавьте этот посредник в свойство $middleware класса app/Http/Kernel.php. (c)

А можно на конкретных роутах
Насколько я понимаю
symbios_zi
@symbiosss
Aug 10 2015 20:18
@unclealex посмотрел код, все таки регистрировал в свойство protected $routeMiddleware
Maksim (Ellrion) Platonov
@Ellrion
Aug 10 2015 20:18
@symbiosss просто объявить все фильтры мы можем в одном файле, там же сделать их имплиментацию в замыкании и задать имя, а потом подключив файл использовать
@symbiosss тут он прав они в этом проще, но настолько копеечно что вообще пофиг.
@symbiosss это как ты обработчик роута можешь сделать в анонимной функции а можешь вынести в метод класса
symbios_zi
@symbiosss
Aug 10 2015 20:20
@Ellrion вот не понял предыдущий коммент. Можешь пример показать?
unclealex
@unclealex
Aug 10 2015 20:20
@Ellrion а можно мне ссылку на документацию по фильтрам? А то чет я не вижу
Maksim (Ellrion) Platonov
@Ellrion
Aug 10 2015 20:20
@symbiosss с фильтрами можно было так же
@unclealex 4.2 надо смотреть http://laravel.com/docs/4.2/routing#route-filters
unclealex
@unclealex
Aug 10 2015 20:22
@Ellrion то есть в 5.х уже не актуально?
Maksim (Ellrion) Platonov
@Ellrion
Aug 10 2015 20:22
@unclealex ну они остались, но депрекейтед еще с 5.0
в 5.2 выпилят совсем
unclealex
@unclealex
Aug 10 2015 20:23
@Ellrion ага, понял, спасибо. А то думаю, может не знаю чего. Я сразу с пятой версии изучать начал.
symbios_zi
@symbiosss
Aug 10 2015 20:23
@unclealex да я вот тоже с 5й и не въеду в суть никак )
unclealex
@unclealex
Aug 10 2015 20:24
Вовремя я ваш чат нашёл (: Интересно у вас тут.
symbios_zi
@symbiosss
Aug 10 2015 20:25
@unclealex ну дак, community )
@unclealex один даже в США на laracon погнал )
unclealex
@unclealex
Aug 10 2015 20:26
@symbiosss я тут посидел в одном таком community, правда просто по кодингу, в телеграме. Сначала думал круто, а потом почитал какую чушь там несут и поспешил ретироваться. По делу там было процентов 60 общения. Остальное срачи. :(
Maksim (Ellrion) Platonov
@Ellrion
Aug 10 2015 20:27
@unclealex ну ту тоже всякое бывает)
symbios_zi
@symbiosss
Aug 10 2015 20:28
@unclealex ты уже общался с мистером "идичитайдоки"? )
unclealex
@unclealex
Aug 10 2015 20:28
@Ellrion ну я к вам в любом случае надолго, только начал с ларой знакомиться)
@symbiosss нет, но видимо придётся однажды)
Maksim (Ellrion) Platonov
@Ellrion
Aug 10 2015 20:28
@unclealex знакомься, не пожалеешь)
symbios_zi
@symbiosss
Aug 10 2015 20:29
@Ellrion доки почитал уже сегодня?
JhaoDa
@jhaoda
Aug 10 2015 20:29
И тут я!
Maksim (Ellrion) Platonov
@Ellrion
Aug 10 2015 20:29
@symbiosss м?
symbios_zi
@symbiosss
Aug 10 2015 20:29
@Ellrion ты имел ввиду такой фильтр без регистрации?
Route::filter('auth', function()
{
  if (Auth::guest()) return Redirect::guest('login');
});
Maksim (Ellrion) Platonov
@Ellrion
Aug 10 2015 20:29
@symbiosss да
unclealex
@unclealex
Aug 10 2015 20:29
@Ellrion ну она меня сподбила уже на более близкое изучение реализации ооп в пхп, так что как минимум уже огреб пользы)
symbios_zi
@symbiosss
Aug 10 2015 20:30
@jhaoda оооо, сто лет жить будешь )
@Ellrion пф, я уж думал что то серьезное. Не вижу проблемы создать посредника
JhaoDa
@jhaoda
Aug 10 2015 20:30
@symbiosss я надеюсь, что у тебя хватит разума признать, что 80% задаваемых здесь вопросов описаны в доках?
symbios_zi
@symbiosss
Aug 10 2015 20:31
@jhaoda не спорю )
JhaoDa
@jhaoda
Aug 10 2015 20:31
@symbiosss ну а что тогда...
symbios_zi
@symbiosss
Aug 10 2015 20:31
@jhaoda но все же тон твой не нравится )
JhaoDa
@jhaoda
Aug 10 2015 20:31
@symbiosss выпей воды
Может попустит...
symbios_zi
@symbiosss
Aug 10 2015 20:31
@jhaoda цианистый калий бросить в воду? )
JhaoDa
@jhaoda
Aug 10 2015 20:31
@symbiosss по вкусу
symbios_zi
@symbiosss
Aug 10 2015 20:35
устроился на работу. 2 магазина, ребята делали на codeigniter их. Делали 2 года и заявили в итоге: "Мы больше не можем поддерживать проекты и отказываемся. Мы изначально незнали что магазины обрастут таким функционалом и сделали неправильную структуру. Теперь нам приходится для мелкой правки идти по 500 файлам и делать правки"
плакать охото после таких слов )))
Maksim (Ellrion) Platonov
@Ellrion
Aug 10 2015 20:37
терпеть не могу кодигнайтер
мб когда то он и был хорошо но уж очень давно
что то кирил не отвечает
вообще он очень адекватный парень и хороший разраб но вот тут его что то переклинило
symbios_zi
@symbiosss
Aug 10 2015 20:41
@Ellrion http://laravel.io/bin/QN43v что вот делает этот js кусок кода? ))
и это в главном файле скриптов.
Maksim (Ellrion) Platonov
@Ellrion
Aug 10 2015 20:42
ну написано же что md5)
symbios_zi
@symbiosss
Aug 10 2015 20:42
кстати, кто знает чей это блог? http://laravelinfo.com/
http://laravelinfo.com/pattern-repozitorij в этой статье есть раздел "Должен ли репозиторий создавать сущности?" и я не могу до конца понять почему же репозиторий не должен создавать сущности
JhaoDa
@jhaoda
Aug 10 2015 20:44
@Ellrion Серафима прёт нипадецки, когда он слышит «Ларавель ПЯТЬ»
Alexander
@Dualse
Aug 10 2015 21:11
Всем привет. Есть что почитать о работе Laravel5 с файлами, а то хотел создать json файл с конфигами для сайта. Нагуглил только для 3 версии, в 5 версии верезан этот функционал?
Роман Сохарев
@greabock
Aug 10 2015 21:14
@symbiosss по той же причине, почему в гардеробе не шьют шубы
unclealex
@unclealex
Aug 10 2015 21:18
@Dualse предполагаю что https://laravel.ru/docs/v5/filesystem и парсить джейсон силами пхп, не вариант?
Alexander
@Dualse
Aug 10 2015 21:19
@unclealex Спасибо
unclealex
@unclealex
Aug 10 2015 21:22
@Dualse а просто интересно, чем родные конфиги не устроили, для которых уже фасад есть и вся хурма?)
JhaoDa
@jhaoda
Aug 10 2015 21:27
Вспомнилось... «Ху… рмы не хотите? — Не откажусь. — А вот вам ху… рмы мы не дадим!»
symbios_zi
@symbiosss
Aug 10 2015 21:29
@greabock ну а где тогда делать создание сущности?
Мне не понятен тот момент, когда мне нужно сохранить в базу нового пользователя. Использую Eloquent. Где мне делать save()?
Роман Сохарев
@greabock
Aug 10 2015 22:21
@symbiosss ну а где шьют шубы-то?