These are chat archives for LaravelRUS/chat

14th
Aug 2017
Nurzhan
@ankazz
Aug 14 2017 05:53
Можно ли получить web session_id через api ?
inno-mykytagalaiev
@inno-mykytagalaiev
Aug 14 2017 06:27
@ankazz куки?
Nurzhan
@ankazz
Aug 14 2017 06:36
@inno-mykytagalaiev сессия, у меня на главной странице генерируется сессия, потом захожу через api ссылку и там беру session()->getId(), но мне там уже выдает другой session_id
inno-mykytagalaiev
@inno-mykytagalaiev
Aug 14 2017 06:41
@ankazz дай угадаю, ты в апи аутентифицируешься?
slider23
@slider23
Aug 14 2017 06:41
@greabock рад тебя видеть здесь )
Nurzhan
@ankazz
Aug 14 2017 06:42
@inno-mykytagalaiev нет, так бы через user_id работал бы
можно посмотреть тут https://github.com/sjoy/fold
inno-mykytagalaiev
@inno-mykytagalaiev
Aug 14 2017 06:50
@ankazz ну во первых, идентификатор сессии лежит в куках. во вторых - мне не совсем понятно для чего это нужно.
Nurzhan
@ankazz
Aug 14 2017 06:57
@inno-mykytagalaiev ну как можно получить session()->getId(), у меня две разные получается (fold.dev тут одна, fold.dev\api\fold/init тут другая)
inno-mykytagalaiev
@inno-mykytagalaiev
Aug 14 2017 07:03
Sergey
@shummm
Aug 14 2017 07:45
Парни что значит role()->attach или ссылку на доку. Где-то читал не могу найти в доке
Igor Markin
@markinigor
Aug 14 2017 07:46
@shummm дока manyToMany
или в любой такой либо
просто назначение связи
ничего больше)
Sergey
@shummm
Aug 14 2017 07:47
@markinigor @webdevium спасибо
бот не работает?
Ваня Devium
@webdevium
Aug 14 2017 07:47
та и фиг с ним
может апи гитлера не работает
Sergey
@shummm
Aug 14 2017 07:48
ок
Igor Markin
@markinigor
Aug 14 2017 07:49
@shummm Кстати в доке на верху есть поиск - можешь туда забить свой вопрос "role()->attach" и попадешь на нужную тебе страницу
Sergey
@shummm
Aug 14 2017 07:50
@markinigor Пробовал другой метод выпадал
projct1
@projct1
Aug 14 2017 07:58

подскажите плз в чём проблема
через guzzle взаимодействую с другим доменом, на котором бросаю ексепшн, который не ловится на первом домене
отсылаю так:

        try {
            $result = json_decode(
                (new GuzzleHttp\Client(['base_uri' => Bar_Helper_Bron::URL_TO_CRM_BRON]))
                    ->post($url, [ 'json' => Base_Str::toJson($data) ])
                    ->getBody()
                    ->getContents()
            );
        } catch (GuzzleHttp\Exception\RequestException $e) {
            dd($e->getMessage());
        }

на другом домене принимаю так: в контроллере просто бросаю ексепшн:

    public function syncSingle()
    {
        throw new \Exception('OMFG');
    }

и сюда GuzzleHttp\Exception\RequestException ничё не попадает, как-будто не было ексепшена

Ваня Devium
@webdevium
Aug 14 2017 07:59
я такое вообще первый раз слышу
эксепшн - внутренняя хрень, она в конечное состояние респонза никак не попадает
кроме как сформировать тело ответа или код состояния
inno-mykytagalaiev
@inno-mykytagalaiev
Aug 14 2017 08:11
@rorc господе, шуруй читать доку по php, какой нафиг ларавель
slider23
@slider23
Aug 14 2017 10:11
@rorc GuzzleHttp\Exception\RequestException - это что-то случилось на этапе отправки запроса, а не получение эксепшна с удалённого домена. Сам подумай, как это может быть возможно ? А если на той стороне твой http-запрос обрабатывает прога на Go или Java, а не php - что они тебе пробросят ?
Alexander Melihov
@melihovv
Aug 14 2017 10:34

Ребят, как можно сделать так, чтобы можно было использовать внутренние методы ларавеловского валидатора в своих кастомных правилах валидации? Сначала использовал трейт Illuminate\Validation\Concerns\ValidatesAttributes в своем кастомном правиле

<?php

namespace App\ValidatorRules;

use Illuminate\Validation\Concerns\ValidatesAttributes;

class PhoneValidatorRule
{
    use ValidatesAttributes;

    /**
     * Returns true if attribute value contains valid phone.
     *
     * @param $attribute
     * @param $value
     * @param $parameters
     * @param $validator
     * @return bool
     */
    public function validate($attribute, $value, $parameters, $validator)
    {
        return $this->validateRegex($attribute, $value, ['/^7[0-9]{10}$/']);
    }
}

Но некоторые методы из этого трейта, например validateMin, обращаются к методам Illuminate\Validation\Validator напрямую, что вызывает ошибку, так как в моем правиле этого метода нет. Что можно сделать? Отнаследоваться от Illuminate\Validation\Validator, определить там мои кастомные методы и подсунуть мой валидатор в контейнер? Наверняка, кто-то уже сталкивался.

KarmaBot
@KarmaBot
Aug 14 2017 10:34
@melihovv, чтобы показать длинный листинг кода желательно использовать pastebin-сервис, например gist.github.com или laravel.io/bin.
Alexander Melihov
@melihovv
Aug 14 2017 13:06
@nejtr0n это мне не подходит. я сделал, как и планировал. все работает, вроде)
Alexander
@spartaque
Aug 14 2017 13:26
@melihovv Validator::extend() не работает?
Alexander Melihov
@melihovv
Aug 14 2017 13:42
@spartaque через Validator::extend() не сделаешь, что я хотел.
Nurzhan
@ankazz
Aug 14 2017 14:14

Почему сессия каждый раз меняеться?
api.php

Route::get('/add', 'HomeController@add');

HomeController.php

public function add()
    {
        echo session()->getid();
    }
Kirill Nesmeyanov
@SerafimArts
Aug 14 2017 14:14
@ankazz потому что в АПИ нет никаких сессий, ваш кэп =)
Nurzhan
@ankazz
Aug 14 2017 14:17
@SerafimArts спасибо
KarmaBot
@KarmaBot
Aug 14 2017 14:17
Спасибо (+1) для @SerafimArts принято! Текущая карма +759.
Роман Сохарев
@greabock
Aug 14 2017 16:53
ну, давайте ваши вопросы )
#ясегоднядобрый
Ваня Devium
@webdevium
Aug 14 2017 16:53
проснулся
первый раз за пол года)))
Роман Сохарев
@greabock
Aug 14 2017 16:53
ну вот не надо )
я появляюсь периодически
Kirill Nesmeyanov
@SerafimArts
Aug 14 2017 17:21
Кватновозапутанный Роман, никто не знает тут он или нет до тех пор, пока он не спалится+