These are chat archives for LaravelRUS/chat

30th
Aug 2017
Sergey
@mentax007
Aug 30 2017 02:38
Ребят, подскажите как вывести список пользователей чтобы можно было кликать на пользователя?
пользователи в mysql
Oleg Arkhipov
@Oleg-Arkhipov
Aug 30 2017 02:48
@mentax007 кликать на пользователя - это как?
Sergey
@mentax007
Aug 30 2017 02:57
@Oleg-Arkhipov ну вот есть список пользователей, я нажимаю на пользователя - меня перебрасывает на страницу полных данных пользователя
Oleg Arkhipov
@Oleg-Arkhipov
Aug 30 2017 02:58
@mentax007 две страницы - список пользователей и конкретный пользователь, с первой ссылки на вторую =)
@mentax007 типа: /users и /users/1, /users/2, /users/3
Sergey
@mentax007
Aug 30 2017 02:59
завтра буду посмотреть
Oleg Arkhipov
@Oleg-Arkhipov
Aug 30 2017 03:00
@mentax007 буду посмотреть - у тебя английский что ли родной? :D
Sergey
@mentax007
Aug 30 2017 03:01
@Oleg-Arkhipov нет, просто уже мозг взрывается от всего этого laravel
Еще бы по структуре базы придумать чего... В базе несколько миллионов записей с CDR, долго ли будет выборка по длиться?
Oleg Arkhipov
@Oleg-Arkhipov
Aug 30 2017 03:09
@mentax007 а ты возьми и проверь.
inno-mykytagalaiev
@inno-mykytagalaiev
Aug 30 2017 05:30
привет хулиганы
недавно в группке проскакивала новость что Тейлор чуток подпилил 5.5 версию на предмет апи и отказа от фрактала
кто-то уже тыкал? меня интересует вопрос генерации апидок-а для апи, т.к. https://github.com/mpociot/laravel-apidoc-generator поверх фрактала у меня завести не удалось
@mentax007 читать доку по базе, читать доку по ларке :D

а выключить регистрацию трудно?

закоментировать трейт

Oldy
@oldy777
Aug 30 2017 05:37
одскажите пожалуйста, есть ли какой то механизм в фреймворке что бы собрать все переводы из исходного текста и запихать в файл? Типа как при использованиее gettext и poedit.
inno-mykytagalaiev
@inno-mykytagalaiev
Aug 30 2017 05:44
нифига не понятно
Oldy
@oldy777
Aug 30 2017 05:47
допустим у меня в файле есть {{ _('some word') }} . я запускаю php artisan translate. и это 'some word' появляется в файле lang/en/messages.php и в lang/ru/messages.php
inno-mykytagalaiev
@inno-mykytagalaiev
Aug 30 2017 06:12
Lang::get() умеет возвращать массивы переводов
нужно внутряк изучать
в йи был хук что он писал в отдельный файл транслейт, если для него небыло ключа
Oldy
@oldy777
Aug 30 2017 06:13
да, вот что то подобное надо
inno-mykytagalaiev
@inno-mykytagalaiev
Aug 30 2017 07:03
ну так переопредели фасад и добавь проверку :)
Oldy
@oldy777
Aug 30 2017 07:05
ну так а когда оно выполниться то, при обращении? а мне надо сразу и все получить
Ислам
@IMiciew_twitter
Aug 30 2017 07:05
Всем добрый день. Кто нибудь занимался разработкой крупного проекта с динамическими поддоменами (каждый пользователь имеет свой поддомен), раздельной бд для каждого клиента и тд на ларавел?
KarmaBot
@KarmaBot
Aug 30 2017 07:05
@IMiciew_twitter и тебе не хворать :)
Oldy
@oldy777
Aug 30 2017 07:07
а зачем бд раздельная?
Vitaly Gorbunov
@cezar62882
Aug 30 2017 07:08
Всем привет, подскажите как лучше сделать. Есть отношение один ко многим (заказ - товары). Пользователь постоянно редактирует кол-во позиций в заказе. Т.е. сначала было например 2 позиции, потом стало 3. Как без костылей типо удалении предыдущих позиций обновлять записи?
KarmaBot
@KarmaBot
Aug 30 2017 07:08
@cezar62882, привет, как настроение?
Vitaly Gorbunov
@cezar62882
Aug 30 2017 07:08
Может в ларе есть какой-то метод ?
Oldy
@oldy777
Aug 30 2017 07:09
@cezar62882 зачем удалять при добавлении? просто меняй кол-во
Ислам
@IMiciew_twitter
Aug 30 2017 07:10
@oldpunk планируется около 200к пользователей, в плане безовасности и изолиованности была такая идея.
Oldy
@oldy777
Aug 30 2017 07:11
@IMiciew_twitter и у вас будет 200к баз данных?
Vitaly Gorbunov
@cezar62882
Aug 30 2017 07:11
@oldpunk ну да, тоже как-то муторно получается, при этом мы должны сравнивать кол-во позиций и удалять в случае чего
вот есть метод sync но он для многих ко многим относится, я думал что-то подобное есть
Oldy
@oldy777
Aug 30 2017 07:12
@cezar62882 в смысле? у тебя 2 товара в кол-ве по 2 штуки каждого. Хочу одного 4, жму +2. В базе к нему плюсуешь 2. Че тут муторного?
Vitaly Gorbunov
@cezar62882
Aug 30 2017 07:13
@oldpunk не правильно, а если юзер удалил позицию и добавил другую вместо нее
Ислам
@IMiciew_twitter
Aug 30 2017 07:13
@oldpunk ну типа того. серваком помощнее запастись )
Vitaly Gorbunov
@cezar62882
Aug 30 2017 07:13
а ну в принципе я понял
Oldy
@oldy777
Aug 30 2017 07:14
@cezar62882 если он удалил, то удаляешь, добавил добавляешь. Это не та же позиция, а новая. Ты чет перемудрить пытаешься )
@IMiciew_twitter какая то оч бредовая идея :)
@IMiciew_twitter может конечно я не шарю. Но в целом ни разу не видел что бы так делали. Да и смысла особого нет
Maksim (Ellrion) Platonov
@Ellrion
Aug 30 2017 07:33
@IMiciew_twitter то что ты хочешь называется multi tenant В ларе всё с этим гуд. гугли laravel multi tenant инфы море
inno-mykytagalaiev
@inno-mykytagalaiev
Aug 30 2017 07:37

раздельной бд для каждого клиента и тд на ларавел?

ты будешь накатывать 200 тысяч миграций на каждую бд? :D

Ислам
@IMiciew_twitter
Aug 30 2017 07:49
@inno-mykytagalaiev это все решалось разворачиванием для каждого клиента проекта, настроив хуки в репозитории и действия на эти хуки
@Ellrion спасибо, почитаю что за зверь такой
KarmaBot
@KarmaBot
Aug 30 2017 07:49
Спасибо (+1) для @Ellrion принято! Текущая карма +240.
inno-mykytagalaiev
@inno-mykytagalaiev
Aug 30 2017 07:51
@IMiciew_twitter ну так проект рано или поздно растет и развивается, следом растет и структура бд. будете на каждого клиента накатывать свой пакет миграций?
Ислам
@IMiciew_twitter
Aug 30 2017 07:55
в хуках пропишу php artisan migrate и на всех поддоменах выполнится эта команда
проблем не вижу )
Oldy
@oldy777
Aug 30 2017 08:07
@IMiciew_twitter у тебя поддомены реальные?
и что мешает юзать 1 бд ?
Maksim (Ellrion) Platonov
@Ellrion
Aug 30 2017 08:16
@oldpunk изоляция данных. упрощение логики внутри приложения.
Oldy
@oldy777
Aug 30 2017 08:20
@Ellrion изоляция как раз может и усложнение в некоторых случаях принести. Просто не видел такого ни разу, интересно при каких требованиях это действительно стоящая модель
Maksim (Ellrion) Platonov
@Ellrion
Aug 30 2017 08:24

@oldpunk

изоляция как раз может и усложнение в некоторых случаях принести

это в каких? инфраструктурное усложнение для достижения этой самой изоляции - да. но логику внутри приложения не представляю

Просто не видел такого ни разу

тоже можешь погуглить multi tenant

при каких требованиях это действительно стоящая модель

в b2b весьма часто

Oldy
@oldy777
Aug 30 2017 08:25
@Ellrion допустим пользователь создает проекты внутри своего кабинета. А нам надо на главной вывести кол-во проектов в системе. Вот типа таких сложностей
Maksim (Ellrion) Platonov
@Ellrion
Aug 30 2017 08:28
@oldpunk в таких системах редки выводы сводных данных разных клиентов. так как они приватны. и изолированность там важна. только если статистических для бэкофиса самой платформы. но это уже совсем другой разговор. он не имеет отношение к основному приложению
PhpNet
@PhpNet
Aug 30 2017 08:51

Приветствую. Кто то юзал https://github.com/davejamesmiller/laravel-breadcrumbs ? пытаюсь стандартно добавить через композер, устанавливается, добавляю провайдера DaveJamesMiller\Breadcrumbs\ServiceProvider::class,получаю ошибку array_merge(): Argument #2 is not an array

в иссуях ничего не вижу подобного. куда можно копнуть?

KarmaBot
@KarmaBot
Aug 30 2017 08:51
Прувет, @PhpNet!
Maksim (Ellrion) Platonov
@Ellrion
Aug 30 2017 08:53
@PhpNet ну ты бы уже весь стектрейс показал
что за мода. тебе движек четко говорит что где и почему. но ошибки никто толком не читает
PhpNet
@PhpNet
Aug 30 2017 08:56
@Ellrion https://paste.laravel.io/bf374b68-8c12-414b-8723-9c5db8380c53 что то ошибки ни о чем не говорят
ай плять. разобрался, сплю что-то
Ислам
@IMiciew_twitter
Aug 30 2017 09:10
@oldpunk планировал делать реальными. с коллегой разногласия по поводу структуры приложения. поэтому решил поспрашивать, может кто сталкивался с такой реализацией.
Oldy
@oldy777
Aug 30 2017 09:10
@IMiciew_twitter т.е. у тебя на каждом домене будет лежать код приложения?
Ислам
@IMiciew_twitter
Aug 30 2017 09:11
@oldpunk была такая мысль
@oldpunk если код один, то с изоляцией бд проблемы. не хотелось бы писать костыль в файле коннекта к бд
подменять доступы в зависимости от поддомена
Oldy
@oldy777
Aug 30 2017 09:14
делаешь глобальную бд где хранишь связь пользователя с его бд. и при авторизации выбираешь эти данные. А код в каждом поддомене - это шлак (
Ваня Devium
@webdevium
Aug 30 2017 09:15
а вот один код по мульти-поддомену - красиво
Ислам
@IMiciew_twitter
Aug 30 2017 09:16
тогда поддомены не реальные получается или как
Oldy
@oldy777
Aug 30 2017 09:18
ну да, у тебя получается {login}.domain.com как то так
@webdevium так норм? :)
Ваня Devium
@webdevium
Aug 30 2017 09:20
агонь!
Ислам
@IMiciew_twitter
Aug 30 2017 09:25
для laravel неважно есть реальная папка с поддоменом или нет?
Ваня Devium
@webdevium
Aug 30 2017 09:25
вообще пофиг
Ислам
@IMiciew_twitter
Aug 30 2017 09:25
нужно как то сервер настраивать под такие урлы?
Ваня Devium
@webdevium
Aug 30 2017 09:26
у тебя же домен .vasya.com, вот оно все и будет попадать в одну точку
это в nginx так надо
Ислам
@IMiciew_twitter
Aug 30 2017 09:26
ServerAlias *.domain.ru и все это ссылается в одну директорию?
Ваня Devium
@webdevium
Aug 30 2017 09:26
если у тебя apache - не знаю как настроить эту помойку
Ислам
@IMiciew_twitter
Aug 30 2017 09:26
ну или в nginx
Ваня Devium
@webdevium
Aug 30 2017 09:26
в nginx я тебе написал как сделать
Ислам
@IMiciew_twitter
Aug 30 2017 09:27
связка nginx + apache планировали настроить.
Ислам
@IMiciew_twitter
Aug 30 2017 09:33
@oldpunk по поводу глобальной бд. я правильно понимаю, что в ней будут храниться домен и доступы к бд?
Ислам
@IMiciew_twitter
Aug 30 2017 09:44
просто еще должен быть суперпользователь, который будет иметь доступ ко всем данным разных пользователей
Oldy
@oldy777
Aug 30 2017 09:54
@IMiciew_twitter да, наверное так. ну еще наверное данные для авторизации. вот как раз там и можешь задать права доступа пользователя
Artur
@astralo
Aug 30 2017 10:48
Парни, помогите настроить тестовую среду.
Стоят такие настройки
создана пустая база testing
один черт создает все в главной базе =\
Ваня Devium
@webdevium
Aug 30 2017 10:56
@astralo фигня все
phpunit.xml - зафигачь testing, хотя он автоматом будет
Alexander
@spartaque
Aug 30 2017 10:58
@astralo как я знаю, таким образом putenv('DB_DEFAULT=testing'); нельзя делать. @webdevium прав
Artur
@astralo
Aug 30 2017 11:01
как я знаю, таким образом putenv('DB_DEFAULT=testing');
да, это уже я эксперименты проводил)
@webdevium что значит зафигачь testing ? база есть
Ваня Devium
@webdevium
Aug 30 2017 11:02
.env.testing
и в phpunit.xml проверь, чтоб тестинг был
Kirill Nesmeyanov
@SerafimArts
Aug 30 2017 11:02
ну а как ты её в пхпюнит прописал?
@webdevium а чо, так можно чтоль? о_0
Artur
@astralo
Aug 30 2017 11:03
@SerafimArts phpstorm в настройках указан прямой путь до этого phpunit.xml
Ваня Devium
@webdevium
Aug 30 2017 11:03
@SerafimArts естественно
Kirill Nesmeyanov
@SerafimArts
Aug 30 2017 11:03
@astralo в самом юните
указываются переменные окружения
ну или как показал @webdevium
Artur
@astralo
Aug 30 2017 11:04
есть .env
а в phpunit.xml
<php>
    <env name="APP_ENV" value="testing"/>
    <env name="DB_CONNECTION" value="testing"/>
    <env name="DB_DATABASE" value="testing"/>
    <env name="DB_DEFAULT" value="testing"/>
    <env name="CACHE_DRIVER" value="array"/>
    <env name="SESSION_DRIVER" value="array"/>
    <env name="QUEUE_DRIVER" value="sync"/>
    <env name="MAIL_DRIVER" value="log"/>
</php>
ща попробую .env.testing
Kirill Nesmeyanov
@SerafimArts
Aug 30 2017 11:04
хммм
да не, так должно
тоже работать
Ваня Devium
@webdevium
Aug 30 2017 11:05
если запуск с идеи, может файл брать с собой
понял?
Kirill Nesmeyanov
@SerafimArts
Aug 30 2017 11:05
не, с идеи тоже должно
Ваня Devium
@webdevium
Aug 30 2017 11:05
надо ткнуть пальцем, что "тварь, прочти этот файл и настройся"
Kirill Nesmeyanov
@SerafimArts
Aug 30 2017 11:06
о, точно, кеш мб?
artisan config:clear
вроде
Ваня Devium
@webdevium
Aug 30 2017 11:06
<php>
        <env name="APP_ENV" value="testing"/>
        <env name="CACHE_DRIVER" value="redis"/>
        <env name="SESSION_DRIVER" value="array"/>
        <env name="QUEUE_DRIVER" value="sync"/>
        <env name="DB_CONNECTION" value="testing"/>
        <env name="MAIL_DRIVER" value="log"/>
    </php>
вот мое, но я запускаюсь только с терминала
composer test и поехали
ниразу не сбоило
Andrei Sosnov
@atehnix
Aug 30 2017 11:08

@astralo а зачем явно через Artisan::call миграции вызывать перед и после тестов? Есть же из коробки решение:
https://laravel.com/docs/5.4/database-testing#resetting-the-database-after-each-test

Меня, честно говоря, этот момент смущает. Может артизан в данном случае не учитывает testing-окружение.
Маловероятно, конечно, но тем не менее.

Artur
@astralo
Aug 30 2017 11:09
@SerafimArts ппц... кажется чистка кеша помогла ))
Kirill Nesmeyanov
@SerafimArts
Aug 30 2017 11:09
гыг =)
Artur
@astralo
Aug 30 2017 11:09
ппц
Kirill Nesmeyanov
@SerafimArts
Aug 30 2017 11:09
кеш делай только на проде
Artur
@astralo
Aug 30 2017 11:11
отрублю его ага. спасибо
KarmaBot
@KarmaBot
Aug 30 2017 11:11
@astralo, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
Artur
@astralo
Aug 30 2017 11:11
@SerafimArts @atehnix @webdevium спс
KarmaBot
@KarmaBot
Aug 30 2017 11:11
Спасибо (+1) для @SerafimArts принято! Текущая карма +769.
Спасибо (+1) для @atehnix принято! Текущая карма +226.
Спасибо (+1) для @webdevium принято! Текущая карма +276.
Artur
@astralo
Aug 30 2017 11:12
@atehnix хз, откуда оно тут... спс за ссыль
Vendin
@Vendin
Aug 30 2017 11:29
Не подскажите, как в 5.4 что бы FormRequest при вызове ->input() возвращал только поля для которого есть правила ?
Artur
@astralo
Aug 30 2017 11:32
->only([ ... ]) не ?
Vendin
@Vendin
Aug 30 2017 11:34
Не
Vendin
@Vendin
Aug 30 2017 12:00
В 5.5 добавили метод validated
Andrei Sosnov
@atehnix
Aug 30 2017 12:15
Похоже, релиз Laravel 5.5 будет таки сегодня.
laravel/framework уже релизнулся.
Igor Markin
@markinigor
Aug 30 2017 12:15
@atehnix так уже ж и новость была
Andrei Sosnov
@atehnix
Aug 30 2017 12:16
@markinigor если и была, то преждевременно, т.к. laravel/laravel пока не было релиза.
Igor Markin
@markinigor
Aug 30 2017 12:19
@atehnix ну покрайней мере при новой установке уже идет 5.5 фрейм - шо уже радует https://github.com/laravel/laravel/blob/master/composer.json#L10
Alexander
@spartaque
Aug 30 2017 12:22
:saxophone: :balloon:
Andrei Sosnov
@atehnix
Aug 30 2017 12:23
@markinigor
laravel55.test.png
@markinigor это они может в laravel/installer захардкодили 5.5.
fakefakefake12
@fakefakefake12
Aug 30 2017 12:26
Они же не опубликовали еще (на пакагисте). Фиксят фиксят
Igor Markin
@markinigor
Aug 30 2017 12:31
@atehnix да, я через инсталлер устанавливал
Alexander Avakov
@pinguinjkeke
Aug 30 2017 12:36
@spartaque о даа) (я про регулярки)
Andrei Sosnov
@atehnix
Aug 30 2017 13:33
Вот теперь все, релиз. =)
KarmaBot
@KarmaBot
Aug 30 2017 13:33
@atehnix, за laravel! :monkey: :monkey: :monkey: :monkey: :monkey: :monkey: :monkey: :monkey:
Andrei Sosnov
@atehnix
Aug 30 2017 13:33
@KarmaBot :+1:
sitdirek
@sitdirek
Aug 30 2017 13:35

Добрый день.

Как в Laravel 5.4 закрыть api (routes/api.php) от неавторизованных пользователей?
Встречаю такой middleware как в auth:api в разных источниках, но какой класс его тогда определяет?

KarmaBot
@KarmaBot
Aug 30 2017 13:35
@sitdirek, привет =)
sitdirek
@sitdirek
Aug 30 2017 13:41

@atehnix ровно так и у меня, но там если я поставлю auth в api

protected $middlewareGroups = [
        'web' => [
            \Homper\Http\Middleware\EncryptCookies::class,
            \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
            \Illuminate\Session\Middleware\StartSession::class,
            \Illuminate\View\Middleware\ShareErrorsFromSession::class,
            \Homper\Http\Middleware\VerifyCsrfToken::class,
            \Illuminate\Routing\Middleware\SubstituteBindings::class,
        ],

        'api' => [
            'throttle:60,1',
            'bindings',
            'auth'
        ],
    ];

меня с нужного route выбивает как не авторизованного, а ajax запрос возвращает вообще "Unauthorized." из \app\Http\Middleware\Authenticate.php

Andrei Sosnov
@atehnix
Aug 30 2017 13:43
@sitdirek вешай мидлварю только на те роуты/группы, которые тебе надо закрыть аутентификацией:
https://laravel.com/docs/5.4/authentication#protecting-routes
sitdirek
@sitdirek
Aug 30 2017 13:45

@atehnix тогда плиз можешь подсказать что изменилось в Entrust?

Route::group(
    ['prefix' => 'users', 'middleware' => 'role:superadmin|admin'],
    function() {
        Route::group(
            ['prefix' => 'edit'],
            function () {
                Route::any('/', ['as' => 'api.user.edit']);
                Route::get('/{id}', ['uses' => 'Auth\UserController@showEdit']);
                Route::post('/{id}', ['uses' => 'Auth\UserController@doEdit']);
            }
        );
    }
);

403 возвращается из за 'middleware' => 'role:superadmin|admin'

Юрий
@yurri87
Aug 30 2017 13:45
подскажите: В чем логика создания нового Middleware, если ту-же самую проверку я могу описать в контроллере?
Интересует вопрос в чем логика и удобство.
Хочу использовать Laravel осмысленно.
sitdirek
@sitdirek
Aug 30 2017 13:46
или та же проблема если я укажу в конструкторе контроллера:
public function __construct(){
        $this->middleware(['role:superadmin|admin']);
}
Andrei Sosnov
@atehnix
Aug 30 2017 13:46
@sitdirek поправил ссылку на доку.
sitdirek
@sitdirek
Aug 30 2017 13:47
p.s. я переехал с 5.2 на 5.4
Юрий
@yurri87
Aug 30 2017 13:48
зачем нужны middleware, если можно использовать скажем Auth:user()-isAdmin() ?
Andrei Sosnov
@atehnix
Aug 30 2017 13:48
@sitdirek Entrust не юзаю. так что хз.
Но, по идее, там скорее всего только роли/пермишны проверяются. А аутентификацию ты все равно должен сам навесить где надо.
sitdirek
@sitdirek
Aug 30 2017 13:49
@yurri87 у меня 5 ролей, я могу в такой конструкций для каждого из них сделать?
Юрий
@yurri87
Aug 30 2017 13:50
выход - создавать 5 разных middleware?
ну можно скажем так: Auth::user()->hasRole('custom_role')
sitdirek
@sitdirek
Aug 30 2017 13:51
до этого обходился конструкцией от Entrust, и устраивало в принципе. Нет лишних проверок внутри методов контроллера.
к сожалению, пока не нагуглил почему он сломался в 5.4
Юрий
@yurri87
Aug 30 2017 13:54
хочу просто понять в чем смысл middleware, почему не использовать методы?
не обязательно для определения роли а вообще - в чем преимущество middleware? в чем их изюминка епта
sitdirek
@sitdirek
Aug 30 2017 13:57
@atehnix а чем ты пользуешься для разграничения по ролям?
Юрий
@yurri87
Aug 30 2017 13:57
просто когда пишу функционал - какой вопрос я себе должен задать, чтобы понять куда этот функционал впихнуть - в модель, контроллер или мидлевару? Какой вопрос даст на это ответ?

public function roles(){
return $this->belongsToMany('App\Role', 'user_roles');
}

// вернет true, если юзер принадлежит какой-нибудь роли
public function isEmployee(){
$roles = $this->roles->toArray();
return !empty($roles);
}

// имеет ли юзер указанную роль

public function hasRole($check){
    return in_array($check, array_pluck($this->roles->toArray(), 'name'));
}
sitdirek
@sitdirek
Aug 30 2017 13:59
@yurri87 а проверку где будешь делать? внутри метода?
Юрий
@yurri87
Aug 30 2017 14:00
@sitdirek $user->hasRole('admin); вот так
Andrei Sosnov
@atehnix
Aug 30 2017 14:00
@sitdirek Policies чаще всего за глаза. А если надо именно роли/пермишны - руками пишу. Там делов то..
sitdirek
@sitdirek
Aug 30 2017 14:01
в моем случае, у меня есть куча методов через api, которые должны быть доступны только конкретным ролям, и мне кажется в каждом из них писать проверку не очень хорошая идея, когда могу уже на этапе роутинга ограничить их.
Юрий
@yurri87
Aug 30 2017 14:02
ок, а есть универсальный способ понять - когда нужно создавать именно middleware?
а проверку - в контроллере
какая разница - на этапе роутинга или в контроллере?
sitdirek
@sitdirek
Aug 30 2017 14:04
@yurri87 наверное Middleware нужно использовать тогда, когда незачем передавать запрос в контроллер, если уже на данном этапе можно отфильтровать.
Юрий
@yurri87
Aug 30 2017 14:06
@yurri87 ..., когда незачем передавать запрос в контроллер... а когда незачем?
Sergey
@mentax007
Aug 30 2017 14:06
А подскажите пожалуйста, я создал view, теперь надо дынные из mysql отобразить на этой странице. Мне код примо в этом view вписывать можно или это не корректно?
sitdirek
@sitdirek
Aug 30 2017 14:07
@mentax007 почитай про MVC, сразу ответишь на вопрос.
Юрий
@yurri87
Aug 30 2017 14:09
@mentax007 некорректно, делай return view('шаблон.blade.php')->with('....');
Oleg Arkhipov
@Oleg-Arkhipov
Aug 30 2017 14:11
@mentax007 в доках же показано, как делать. Там нигде запросы в БД из шаблона не делаются. Ты их всё-таки так и не прочитал?
Sergey
@mentax007
Aug 30 2017 14:11
@Oleg-Arkhipov читаю
Oleg Arkhipov
@Oleg-Arkhipov
Aug 30 2017 14:12
@mentax007 должны были быть прочитаны все уже.
Юрий
@yurri87
Aug 30 2017 14:12
@mentax007 данные дергаются в контроллере и через переменную передаются во вьюху. Чем меньше логики во вьюхе тем лучше.
verdexy
@verdexy
Aug 30 2017 14:13
А подскажите пожалуйста, я создал view, теперь надо дынные из mysql отобразить на этой странице. Мне код примо в этом view вписывать можно или это не корректно?
Тут 2 варианта:
1) ```
return view ('someview' , ['data_from_db'=>$data])
return view ('someview')->with('data_from_db',$data)
Этот код вызываете в контроллере, а он уже возвращает view с переменной, которую Вы передали либо в массиве (первый пример), либо в методе with()
Sergey
@mentax007
Aug 30 2017 14:16
@verdexy @yurri87 спасибо! буду пробывать
KarmaBot
@KarmaBot
Aug 30 2017 14:16
Спасибо (+1) для @verdexy принято! Текущая карма +1.
Спасибо (+1) для @yurri87 принято! Текущая карма +1.
Andrei Sosnov
@atehnix
Aug 30 2017 14:18

@yurri87

а есть универсальный способ понять - когда нужно создавать именно middleware?

Представь аналогию: у тебя есть задача сходить в магазин за хлебом.
Метод контроллера в данном случае - вошел с деньгами в магазин, вышел с хлебом.
А мидлвари - это то, что происходило по пути в магазин (before middleware) и по пути обратно домой (after middleware).
Возможно, по пути в магазин ты зашел в банкомат снять денег, чтобы хватило на хлеб. Или встретил жену, которая сказала кроме хлеба купить еще и молока.
Или сказала, что магазин тот закрыт, иди в другой.
А на обратном пути встретил тёщу, которая попросила привет передать жене.
Вот так примерно мидлвари и используются. :)

Юрий
@yurri87
Aug 30 2017 14:22
@atehnix да, это понятно для реальной жизни, но в web-приложении все происходит практически моментально и не нужно жертвовать временем. Аналогия превосходная, но логична ли она? Преимущество то в чем? Ну и что что запрос достиг контроллера? в чем палундра?
Sergey
@fLipE23
Aug 30 2017 14:24
@yurri87 если проще, то, как я понимаю, логика в общем случае следующая:
если у тебя хотя бы в двух методах контроллера используется какая-то одна и та же логика, то ее можно вынести в миддл
Юрий
@yurri87
Aug 30 2017 14:25
@fLipE23 хм кажется тут я вкупился
Sergey
@fLipE23
Aug 30 2017 14:25
ну к примеру, у меня был UserCityMiddleWare, который проверял наличие в сессии информации о городе юзера, и если его не было, запрашивал по api данные об ip
создавал город в базе, если его не было, и сохранял объект в сессию
Юрий
@yurri87
Aug 30 2017 14:26
так... дальше...
какова логика рассуждений?
Sergey
@fLipE23
Aug 30 2017 14:27
ну в общем-то и все)
чтобы к примеру, не проверять наличие объекта в контроллере, создаешь миддл
Юрий
@yurri87
Aug 30 2017 14:28
но не проверять наличие объекта позволит if(...){}
в том же самом контроллере
Sergey
@fLipE23
Aug 30 2017 14:29
всм? а если тебе этот объект по-любому в контроллере нужен?
тогда при помощи миддла ты можешь обеспечить контроллер этим объектом
Юрий
@yurri87
Aug 30 2017 14:30
if($user->hasCity()){ $user->getCity();}
Sergey
@fLipE23
Aug 30 2017 14:31
и такая строка у тебя будет в каждом контроллере. зачем?
можно же один раз написать
*в каждом методе каждого контроллера
Юрий
@yurri87
Aug 30 2017 14:32
это то же самое что потом к каждому роуту цеплять мидлвару, те же телодвижения
Oleg Arkhipov
@Oleg-Arkhipov
Aug 30 2017 14:33
@yurri87 не, там всё-таки поменьше движений, + можно на группу роутов сразу, если подходит так.
Юрий
@yurri87
Aug 30 2017 14:33
хотя чувствую что ты прав, и это хорошая практика, просто добиваюсь ясного понимания
ну хорошо, если нету города, то мидлвара посылает на другую страницу? или с другими параметрами?
Sergey
@fLipE23
Aug 30 2017 14:34
@yurri87 не, ты же можешь пропустить через миддл все роуты, группу роутов, методы одного контроллера, и т.д.
Юрий
@yurri87
Aug 30 2017 14:35
или посылает на другой роут?
Sergey
@fLipE23
Aug 30 2017 14:35
@yurri87 в моей логике при отсутствии города посылался запрос к api сервиса и город определялся
а так ты можешь послать куда угодно))
Юрий
@yurri87
Aug 30 2017 14:37
а можно ли сказать что мидлвара призвана выполнять валидацию - для абстрактной логичности? а контроллер не должен валидировать - должен лишь распорядиться куда отправить данные из запроса?
Sergey
@fLipE23
Aug 30 2017 14:38
@yurri87 в принципе, если у тебя какие-то поля используются в нескольких запросах, то думаю, да, почему бы и не переместить валидацию в миддл
Sergey
@mentax007
Aug 30 2017 14:41
а как view узнает о контроллере? Его подключить надо?
Sergey
@fLipE23
Aug 30 2017 14:41
@mentax007 return view('home') в методе контроллера
Sergey
@mentax007
Aug 30 2017 14:42
    public function index() {
        $customers = DB::select('SELECT * FROM `customers`');
        return view('customers.index',compact('customers'));
вот такой код в контроллере вставил
Oleg Arkhipov
@Oleg-Arkhipov
Aug 30 2017 14:42
@mentax007 view никак и не должен знать о контроллере. Это контроллер о нём знает.
Sergey
@fLipE23
Aug 30 2017 14:42
@mentax007 а зачем сырой sql?)
Oleg Arkhipov
@Oleg-Arkhipov
Aug 30 2017 14:43
@fLipE23 потому что человек доку ни за что не хочет прочесть нормально.
Sergey
@fLipE23
Aug 30 2017 14:46
@mentax007 https://laravel.ru/docs/v5/quickstart-intermediate попробуй, говорят, после этого сразу тонна вопросов отпадает)
sitdirek
@sitdirek
Aug 30 2017 14:54
в общем, тут никто не использует Entrust?)
Andrey
@daaner
Aug 30 2017 15:00
@sitdirek а зачем? человек с небольшим опытом в ларе и средним в ООП напишет свои проверки максимум за день. зато ты будешь точно знать как, что и куда работает)))
Кто-то уже пробовал какой-то проект перевести с 5,4 на 5,5?
sitdirek
@sitdirek
Aug 30 2017 15:03
@Daaner много чего можно самостоятельно написать, но зачем изобретать велосипед, когда есть готовые инструменты?
Andrey
@daaner
Aug 30 2017 15:04
@sitdirek чтоб не задавать вопросов, почему не работают роли и права в каком-то пакете
sitdirek
@sitdirek
Aug 30 2017 15:04
@Daaner логика топчик )
verdexy
@verdexy
Aug 30 2017 15:17
@mentax007 Сделайте отдельную модель Customers, и вызывайте так:
$customers = Customers::all()
Kirill Nesmeyanov
@SerafimArts
Aug 30 2017 15:36

:point_up: 30 августа 2017 г., 17:07

@mentax007 почитай про MVC, сразу ответишь на вопрос.

А можно я буду банить за упоминание MVC?

Ваня Devium
@webdevium
Aug 30 2017 15:37
А что не так с mvc?
Kirill Nesmeyanov
@SerafimArts
Aug 30 2017 15:38
то, что заманали считать ларку MVC, она даже и рядом не стояла
Ваня Devium
@webdevium
Aug 30 2017 15:38
контроллер - есть, модель - есть, вью - есть
шо тебе еще надо, старче?
hvvm?
Kirill Nesmeyanov
@SerafimArts
Aug 30 2017 15:39
нет в ней контроллеров
@webdevium тебя тоже надо mvc отправить читать
Ваня Devium
@webdevium
Aug 30 2017 15:39
клал я на академическое фуфло это
Kirill Nesmeyanov
@SerafimArts
Aug 30 2017 15:42
@webdevium ты можешь класть, но тут фишка в том, что @sitdirek посоветовал почитать про MVC когда топикастер и пытается сделать из ларки её
вместо того, чтобы делать по-нормальному
это, типа, забавно
Ваня Devium
@webdevium
Aug 30 2017 15:43
шо поделать
Kirill Nesmeyanov
@SerafimArts
Aug 30 2017 15:43
банить за это, чо
Ваня Devium
@webdevium
Aug 30 2017 15:44
не
Kirill Nesmeyanov
@SerafimArts
Aug 30 2017 15:44
ну ок
=(
Oleg Arkhipov
@Oleg-Arkhipov
Aug 30 2017 15:44
@SerafimArts обращаться к БД во вьюхе - это MVC?
Kirill Nesmeyanov
@SerafimArts
Aug 30 2017 15:44
да
через модель
Ваня Devium
@webdevium
Aug 30 2017 15:44
это дно
Kirill Nesmeyanov
@SerafimArts
Aug 30 2017 15:44
если бд представляет модель, то да, это MVC
Oleg Arkhipov
@Oleg-Arkhipov
Aug 30 2017 15:45
@SerafimArts чё-т впервые такое слышу.
Kirill Nesmeyanov
@SerafimArts
Aug 30 2017 15:45
в любом случае AR является представителем анемичной модели, ака прямому гейту к бд
@Oleg-Arkhipov а ты почитай про MVC +)
вьюха работает напрямую с моделью
а контроллер обрабатывает события только (типа клики, передвижения мыши и проч)
Ваня Devium
@webdevium
Aug 30 2017 15:46
Сирил, смысл читать, если каждая макака пытается ДОумничать
Kirill Nesmeyanov
@SerafimArts
Aug 30 2017 15:46
Oleg Arkhipov
@Oleg-Arkhipov
Aug 30 2017 15:46
@SerafimArts я читал, но в тех местах, где я читал, говорилось другое.
Kirill Nesmeyanov
@SerafimArts
Aug 30 2017 15:46
потому что ..., кто придумал Rails назвал его mvc
потом превратили в mvc с пассивными и активными моделями
при этом "mvc с пассивными моделями" - это полный клон MVP
Oleg Arkhipov
@Oleg-Arkhipov
Aug 30 2017 15:47
@SerafimArts честно говоря, сейчас изучать эту академическую тему пока нет времени, но на будущее запомню, ок. Ну товарищу выше в любом случае сказали, как в ларке надо было делать, так что не гори :D
Kirill Nesmeyanov
@SerafimArts
Aug 30 2017 15:47
@Oleg-Arkhipov так я не тебе, я @sitdirek
Sergey
@mentax007
Aug 30 2017 15:48
Я надеюсь что у меня когда нибудь получится что то вроде этого: http://demo.hyperbilling.com/customers/ admin:admin
Kirill Nesmeyanov
@SerafimArts
Aug 30 2017 15:49
@Oleg-Arkhipov сам лучше посмотри на https://ru.wikipedia.org/wiki/Model-View-Presenter единственное отличие в коде то, что в ларке презентер - это метод/экшн, а в классике - это отдельный объект.
Raswin
@Raswin
Aug 30 2017 15:52

Всем привет, подскажите в чем может быть дело, не работает:

return redirect() -> back() -> withErrors($validation);

Если делаю через view - все хорошо.

KarmaBot
@KarmaBot
Aug 30 2017 15:52
Привет, @Raswin! Проходи, присаживайся. В ногах правды нет :)
Ваня Devium
@webdevium
Aug 30 2017 15:53
@Raswin подробней
Raswin
@Raswin
Aug 30 2017 15:58

@webdevium

return view('customer.pages.profile')->withErrors($validator);

Так я получаю сообщения валидации

return redirect() -> back() -> withErrors($validation);

А так пусто, Laravel 5.3.

Ваня Devium
@webdevium
Aug 30 2017 15:59
не подскажу
JhaoDa
@jhaoda
Aug 30 2017 16:06
@Raswin разница в чем у этих способов — знаешь?
webdevium @webdevium тоже послушает
Oleg-Arkhipov @Oleg-Arkhipov и я
Raswin
@Raswin
Aug 30 2017 16:07
@jhaoda Догадываюсь, но лучше я послушаю для начала.
Oleg Arkhipov
@Oleg-Arkhipov
Aug 30 2017 16:08
@Raswin а кстати, что за $validation?
JhaoDa
@jhaoda
Aug 30 2017 16:08
@Raswin не, если догадываешься, то выкладывай
Кстати, да, почему переменные разные?
Raswin
@Raswin
Aug 30 2017 16:09
@jhaoda Это опечатка ибо не копировал
@jhaoda Ну а в разнице я подразумеваю, что редирект изначально дергает роут и отображает данные соответствующего метода, а view без участия роутов.
JhaoDa
@jhaoda
Aug 30 2017 16:12
@Raswin и?
@Raswin неправильно понимаешь. Второй withErrors «передаёт» данные через сессию. Значит, ...?
Raswin
@Raswin
Aug 30 2017 16:17
@jhaoda значит сессия не стартует, соответственно ничего не получаю.
JhaoDa
@jhaoda
Aug 30 2017 16:17
@Raswin как вариант
Kirill Nesmeyanov
@SerafimArts
Aug 30 2017 16:41
Первая бага лары 5.5: Не поддерживается vendor:publish без tty консоли
т.е. из шторма не запустить
JhaoDa
@jhaoda
Aug 30 2017 16:42
@SerafimArts tty, ты хотел сказать?
Kirill Nesmeyanov
@SerafimArts
Aug 30 2017 16:42
ой, да
там добавили выбор кого публиковать, а без tty формочка скипается и гг вп фатал эррор
Andrei Sosnov
@atehnix
Aug 30 2017 16:44
@SerafimArts хз, только что проверил - все норм.
Правда не на свежем проекте, а на обновленном до 5.5.
Kirill Nesmeyanov
@SerafimArts
Aug 30 2017 16:44
@atehnix
[ErrorException]     
  Undefined offset: 1  


Exception trace:
 () at ~/vendor/laravel/framework/src/Illuminate/Foundation/Console/VendorPublishCommand.php:142
 Illuminate\Foundation\Bootstrap\HandleExceptions->handleError() at ~/vendor/laravel/framework/src/Illuminate/Foundation/Console/VendorPublishCommand.php:142
 Illuminate\Foundation\Console\VendorPublishCommand->parseChoice() at ~/vendor/laravel/framework/src/Illuminate/Foundation/Console/VendorPublishCommand.php:117
artem moseev
@amoseev
Aug 30 2017 16:45
Ребята привет! Кто разбирается в ddd. В процессе освоения столкнулся с событиями агрегата в агрегате уровнем выше. Сформулировал вопрос тут: https://toster.ru/q/456482
KarmaBot
@KarmaBot
Aug 30 2017 16:45
@amoseev и тебе не хворать :)
Kirill Nesmeyanov
@SerafimArts
Aug 30 2017 16:52
@atehnix ну собсно вот сабж: laravel/framework#20840
я не про терминал, а про комманд лайн тулз
Andrei Sosnov
@atehnix
Aug 30 2017 16:55
@SerafimArts я, собсно, тоже)
vendor_publish.png
Kirill Nesmeyanov
@SerafimArts
Aug 30 2017 16:56
@atehnix у меня линук
Oleg Arkhipov
@Oleg-Arkhipov
Aug 30 2017 16:56
@SerafimArts надо было ставить винду.
Andrei Sosnov
@atehnix
Aug 30 2017 16:57
@SerafimArts А, ну ок)
Nikita Kiselev
@nikitakiselev
Aug 30 2017 17:22
Привет коллеги. Поделитесь знаниями по следующему вопросу. У меня есть vuejs компонент - карточка клиента. Это очень большая форма с данными клиента, для которой контроллер ClientCardController@show возвращает большой json объект. Проблема в том что метод show получился огромным - в нем я получаю связанные данные с клиентом, различные статусы и много всего. Куда я могу убрать всю эту логику генерирования json объекта из контроллера? Использовать transformer?
KarmaBot
@KarmaBot
Aug 30 2017 17:22
@nikitakiselev, здравствуй.
Ostap
@BendersOstap_twitter
Aug 30 2017 17:42
@atehnix у меня линук
Обман)) винда у него))
Andrei Sosnov
@atehnix
Aug 30 2017 17:44
@BendersOstap_twitter так на работе и дома - компы разные)
Sergey
@mentax007
Aug 30 2017 17:58
Такс, сделал показ таблицы через роуты
    Route::get('customers', function () {

    $customers = DB::table('customers')->get();

    return view('customers', ['customers' => $customers]);
});
Ваня Devium
@webdevium
Aug 30 2017 18:00
и что?
Sergey
@mentax007
Aug 30 2017 18:01
показывает на странице данные из mysql
и значит что я на шаг ближе
Ваня Devium
@webdevium
Aug 30 2017 18:01
отлично!
JhaoDa
@jhaoda
Aug 30 2017 18:02
@webdevium так он методом тыка сделал, чо тут отличного. Ему про модели сказали и показали, он даже этого не понял
Ваня Devium
@webdevium
Aug 30 2017 18:02
ты так тоже делал, 20 лет назад
JhaoDa
@jhaoda
Aug 30 2017 18:03
@webdevium да. Только тогда не было ларавел, PDO и нормальных док
Ваня Devium
@webdevium
Aug 30 2017 18:04
насильно кодером не станешь
Kirill Nesmeyanov
@SerafimArts
Aug 30 2017 18:04
@atehnix так дома тоже линук и винда стоят )
Oleg Arkhipov
@Oleg-Arkhipov
Aug 30 2017 18:15
@mentax007 тебе уже говорили, вроде бы - рациональнее нанять программиста, чтобы он сделал тебе этот инструмент, раз так.
Ostap
@BendersOstap_twitter
Aug 30 2017 18:33
@mentax007 Тебе нужно тогда заплатить кодерам и не парится и не вспоминать об этом больше =) например я тоже не кодер (говно кодер) и у меня специальность другая) но я занимаюсь этим потому что в кайф =) это как хобби типо кто то рисует кто то репчеГ читает, а я после работы прихожу и кайфую )) но если тебе нужно сделать и забыть "реально заплати бабло" и забудь про это за 30к рублей найдешь студента которому это в кайф он все ранво лучше напишет чем ты ))) а к jhoda лучше не обращаться он будет только тролить или в этом духе... наверное это комплекс или самоутверждение что типо он смог а вы бездыри) отказывается понимать что у людей есть семья и занятость а обстоятельсва вынуждают делать... предположим тебе надо пересадить сердце человеку ты не отуучившись 6 лет не пройдя кучу практики пытаешься сразу брать скальпель и крамсать
Sergey
@mentax007
Aug 30 2017 18:34
фрилансеры есть?
на долгосрочное сотрудничество?
Ostap
@BendersOstap_twitter
Aug 30 2017 18:34
да регнись где нибудь на фрилансе их там тьма тьмущая любых найдешь =)
Sergey
@mentax007
Aug 30 2017 18:35
Кидалы там одни сидят
Ostap
@BendersOstap_twitter
Aug 30 2017 18:35
не плати вперед только по факту
тебе реально нужно потратить хотя бы 1-2 года изучения php и тд а потом присутпить к ларе
JhaoDa
@jhaoda
Aug 30 2017 18:36
@BendersOstap_twitter про сердце это ты сильно сказал, я даже запишу
Обстоятельства вынуждают пересадить сердце. Делов-то, каждый месяц такое случается...
Ваня Devium
@webdevium
Aug 30 2017 18:37
+1 к сердцу. От сердца сказано.
Ostap
@BendersOstap_twitter
Aug 30 2017 18:37
:D
авторские права паСоны =)
Ваня Devium
@webdevium
Aug 30 2017 18:37
От души душевно в душу.
KarmaBot
@KarmaBot
Aug 30 2017 18:37
@webdevium, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
Ваня Devium
@webdevium
Aug 30 2017 18:37
@KarmaBot отвали, тормоз
Ostap
@BendersOstap_twitter
Aug 30 2017 18:37
@webdevium для душевной отдушины хД
я кстати в процессе обучения пацаны курю маны
скоро (через пол года - год) футболку закожу
трастовый чел тут буду
JhaoDa
@jhaoda
Aug 30 2017 18:39
@BendersOstap_twitter знаешь, что такое хобби? Это когда находишь на свалке ржавый остров горбатого запора и восстанавливаешь его до нуля. И если не нашел, например, оригинальные ручи на дверь, то не ставишь какие купил в ближайшем магазине, от жигуля там, а делаешь их сам, перерыв кучу фоток, что бы один в один были. И параллельно осваиваешь какой-нить солид или фьюжн, чтобы напечатать их на 3D-принтере, а потом отлить из люминя
Vlad Shcherbin
@VladShcherbin
Aug 30 2017 18:48
ребята, свои срачики переносите в offtop или в личные сообщения, здесь им не место
Alexander
@spartaque
Aug 30 2017 19:16
@SerafimArts Не знаешь чем обоснована замена Тейлора твоего $choice === null своим is_null($choice)?
Denis Luhmanov
@webbash
Aug 30 2017 20:41
Здравствуйте, у кого-нибудь есть опыт подключения яндекс денег к Laravel ? Уже несколько дней не могу понять в чем дело, платеж проходит, но обработки платежа нету вообще, в VerifyCSRFToken я прописывал исключения для адреса обработчика.
KarmaBot
@KarmaBot
Aug 30 2017 20:41
Приветствую тебя, @webbash!
Denis Luhmanov
@webbash
Aug 30 2017 20:43
Мне нужно чтобы в базу данных заносились данные об этом платеже (то что он успешен), но такое ощущение что он даже не посылает на этот адрес запрос.
JhaoDa
@jhaoda
Aug 30 2017 20:48
@webbash яндекс.деньги или яндекс.касса?
@webbash и потом, если запрос вообще не приходит, то при чем тут ларавел-то?
Denis Luhmanov
@webbash
Aug 30 2017 20:51
Яндекс деньги
А в чем может быть проблема ?
Ваня Devium
@webdevium
Aug 30 2017 20:52
Я работаю с яндекс деньгами уже несколько лет. Никаких проблем.
Denis Luhmanov
@webbash
Aug 30 2017 20:53
Ну, в моем понимании, нужно насстроить HTTP-уведомления (адрес обработчика), взять секретный ключ, и в обработчике уже писать код. Но суть в том что он его даже не проверяет (
JhaoDa
@jhaoda
Aug 30 2017 20:53
@webbash настройки в ЛК проверяй
Ваня Devium
@webdevium
Aug 30 2017 20:54
Такс, у тебя получение денег или выплаты?
Denis Luhmanov
@webbash
Aug 30 2017 20:54
Прием платежей, с банковской карты
Ваня Devium
@webdevium
Aug 30 2017 20:54
Я мимо, я выплачиваю бабло.
Vlad Shcherbin
@VladShcherbin
Aug 30 2017 20:58
@webbash здесь это тоже можно обсуждать :wink:
Denis Luhmanov
@webbash
Aug 30 2017 21:24
Короче тема не раскрыта ), если кто-то имел опыт подключение приема платежей яндекс денег на ларке, то пожалуйсте объясните как это делать )
Ваня Devium
@webdevium
Aug 30 2017 21:25
@webbash давай пойдем логическим путем
сервис яндекса должен направить на твой сервак запрос, так?
JhaoDa
@jhaoda
Aug 30 2017 21:28
@webbash чувак, я тебе там предметный вопрос задал, не хочешь ответить?
Denis Luhmanov
@webbash
Aug 30 2017 21:29
Насчет пакетов ? Я ответ
@webdevium Да, так
Ваня Devium
@webdevium
Aug 30 2017 21:30
@webbash Ок. Берем postman и шлем запрос на тот урл, на который якобы должен прити запрос от яндекса. Что видим?
JhaoDa
@jhaoda
Aug 30 2017 21:30
@webbash нет, насчет того, приходит ли запрос от я.денег
Denis Luhmanov
@webbash
Aug 30 2017 21:31
@jhaoda Нет, не приходит
Я пробовал посылать запрос post на этот адрес, всё нормально
Oleg Arkhipov
@Oleg-Arkhipov
Aug 30 2017 21:33
@webbash нормально - в смысле твоё приложение обрабатывает, как надо?
Denis Luhmanov
@webbash
Aug 30 2017 21:35
Насчет обработки не знаю потому что там sha1_hash нужно сравнивать, а сформировать его в параметрах не получится просто так, но файл-обработчик выполняется, в конце файла должно записываться в ym.log запись о якобы платеже, он это и делает
Ваня Devium
@webdevium
Aug 30 2017 21:35
Вывод: яндекс не посылает запрос. Все вопросы к нему.
Denis Luhmanov
@webbash
Aug 30 2017 21:37
А почему он может не посылать запрос ?
Kirill Nesmeyanov
@SerafimArts
Aug 30 2017 21:38
@webbash тебе уже у саппорта надо спрашивать их, а не тут +)
Denis Luhmanov
@webbash
Aug 30 2017 21:42
Кажется я понял в чем дело, блин
Я щас через postman проверил и там стоит Middleware
sitdirek
@sitdirek
Aug 30 2017 22:57
Как решить проблему, что в AppServiceProvider недоступны значения сессии?
Kirill Nesmeyanov
@SerafimArts
Aug 30 2017 22:58
@sitdirek где именно недоступны?
sitdirek
@sitdirek
Aug 30 2017 22:58
@SerafimArts в \app\Providers\AppServiceProvider.php в boot()
Kirill Nesmeyanov
@SerafimArts
Aug 30 2017 22:59
@sitdirek в boot должно быть доступно
у тебя драйвер сессий какой?
sitdirek
@sitdirek
Aug 30 2017 22:59
SESSION_DRIVER=database
Но при этом если смотреть в таблицу в базе, нет изменений в ней, когда записываю в сессию.
Kirill Nesmeyanov
@SerafimArts
Aug 30 2017 23:00
@sitdirek кеш мб?
sitdirek
@sitdirek
Aug 30 2017 23:00
как почистить?
Kirill Nesmeyanov
@SerafimArts
Aug 30 2017 23:00
@sitdirek для начала dd(config('session.driver'));
если там не database, то artisan config:clear
sitdirek
@sitdirek
Aug 30 2017 23:01
это метод? где его применить?
к сожалению, пока не знаком
Kirill Nesmeyanov
@SerafimArts
Aug 30 2017 23:02
sitdirek
@sitdirek
Aug 30 2017 23:02
я про dd(config('session.driver'));
sitdirek
@sitdirek
Aug 30 2017 23:05
не помогло
Kirill Nesmeyanov
@SerafimArts
Aug 30 2017 23:05
@sitdirek что не помогло, что выводит на экран-то значение конфига?
sitdirek
@sitdirek
Aug 30 2017 23:06
database @SerafimArts
Kirill Nesmeyanov
@SerafimArts
Aug 30 2017 23:07
я так понимаю и таблица в бд сессионная тоже есть?
sitdirek
@sitdirek
Aug 30 2017 23:07
да, она есть и мигрирована
там даже несколько записей есть
Kirill Nesmeyanov
@SerafimArts
Aug 30 2017 23:08
и всё равно не пишет? о_0
sitdirek
@sitdirek
Aug 30 2017 23:08
да
Kirill Nesmeyanov
@SerafimArts
Aug 30 2017 23:08
и ошибок нет никаких?
sitdirek
@sitdirek
Aug 30 2017 23:08
больше записей не появляется
нет
Kirill Nesmeyanov
@SerafimArts
Aug 30 2017 23:08
ну я хз тогда, всё должно работать
sitdirek
@sitdirek
Aug 30 2017 23:09
я делаю вывод в AppServiceProvider - там значение сессии NULL, а в контроллере все верно выводится
Kirill Nesmeyanov
@SerafimArts
Aug 30 2017 23:09
хм, так сессии будет миддлваря вроде как
начиная с 5.3
sitdirek
@sitdirek
Aug 30 2017 23:09
не понял
Kirill Nesmeyanov
@SerafimArts
Aug 30 2017 23:09
говорю что миддлваря стартует систему сессий
и только под web окружение
sitdirek
@sitdirek
Aug 30 2017 23:10
нельзя в провайдере запустить?
третья в списке группы web
надо посмотреть как она там стартуется и руками бутануть
в теории можно явно стартануть
типа app( \Illuminate\Session\Middleware\StartSession::class)->handle( \Illuminate\Http\Request::class, function(){});
но это костыль какой-то
@sitdirek о!
sitdirek
@sitdirek
Aug 30 2017 23:14
В общем, задача у меня такая. В шаблон надо передать значение одно из сессии
Типа глобальной переменной.
Kirill Nesmeyanov
@SerafimArts
Aug 30 2017 23:14
$events->listen('session.started', function(...){});
@sitdirek ну так передавай из вью композера
или контроллера
sitdirek
@sitdirek
Aug 30 2017 23:15
так это же из каждого контроллера придется
Kirill Nesmeyanov
@SerafimArts
Aug 30 2017 23:15
сервис провайдеры нужны для внедрения сервисов в di контейнер
sitdirek
@sitdirek
Aug 30 2017 23:15
мне надо один раз передать
Kirill Nesmeyanov
@SerafimArts
Aug 30 2017 23:15
@sitdirek я же говорю, тогда используй вью композеры
sitdirek
@sitdirek
Aug 30 2017 23:16
а откуда? тут ведь тоже из провайдера
Kirill Nesmeyanov
@SerafimArts
Aug 30 2017 23:17
@sitdirek в провайдере только регистрируются сервисы в контейнер
в данном случае вью композер выступает в роли обсервера на резолв вьюшек
sitdirek
@sitdirek
Aug 30 2017 23:17
так, попробую. спасибо @SerafimArts
KarmaBot
@KarmaBot
Aug 30 2017 23:17
@sitdirek, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.