
БОГАТЫРЪ
25.05.2018
17:10:23
ребят, норм делать в GoodsController рендерить view и обрабатывать ajax ?

Евгений
25.05.2018
17:19:19
Глупый вопрос
надо было с комнатами разобраться

Bohdan
25.05.2018
17:27:02

Google

БОГАТЫРЪ
25.05.2018
17:27:20
всм
чего не понятно
ну метод render() возвращает view blade.php
а метод ajax обрабатывает ajax запросы

Bohdan
25.05.2018
17:28:29
а аякс там причём?

БОГАТЫРЪ
25.05.2018
17:28:36
мда

Bohdan
25.05.2018
17:29:26
фреймворк?

БОГАТЫРЪ
25.05.2018
17:29:34
public function render(){
}
public function ajax(Request $request){
}
ларавел

Bohdan
25.05.2018
17:30:57
а теперь напиши тот же вопрос нормально и с примером кода, чтобы никому не пришлось из тебя вытягивать детали
можешь ещё написать, почему считаешь, что это ненормально

БОГАТЫРЪ
25.05.2018
17:31:28
ещё вопрос: короче у меня для каждой страницы есть common.js файлы, я про личный кабинет, то есть сделать функцию проверку сесси юзера и выдать ссылку через <meta stylesheet> точнее возвратить, первым делом на helpers.php упираюсь, можно ли так сделать?
https://paste.laravel.io/69526b01-be27-47aa-96b4-e2b9aa664dc6
https://paste.laravel.io/37d9a358-8307-412f-ab4b-66018f8e68be

Google

Bohdan
25.05.2018
17:34:05
та же хрень.
непонятно, что у тебя за проблема и что тебя смущает
через две минуты я удалю прошлые сообщения, можешь переписать все так, чтобы всем все сразу было понятно без дополнительных вопросов

БОГАТЫРЪ
25.05.2018
17:40:38
есть отдельные компонены js и css, я их каждого инклюдю, но хотел бы я через фукнцию вывести:
<script src="{{ asset('js/shopping-cart.js') }}"></script>
<script src="{{ asset('js/common.js') }}"></script>
<script src="{{ asset('js/auth.js') }}"></script>
он будет проверять сессию, если есть пользователь, то выведет выше текст. Вопрос в том что можно ли так, или это костыльно?

Oleg
25.05.2018
17:49:01
Все твои методы костыли. Для кого Тейлор придумал @auth? @guest? Да даже если лара старая в чем проблема сделать проверку прямо в блейде?
есть отдельные компонены js и css, я их каждого инклюдю, но хотел бы я через фукнцию вывести:
<script src="{{ asset('js/shopping-cart.js') }}"></script>
<script src="{{ asset('js/common.js') }}"></script>
<script src="{{ asset('js/auth.js') }}"></script>
он будет проверять сессию, если есть пользователь, то выведет выше текст. Вопрос в том что можно ли так, или это костыльно?
А причем тут твои render и ajax вообще не понятно

БОГАТЫРЪ
25.05.2018
17:58:29
метод render, обрабатывает get запрос тоесть /panel/goods,

Bohdan
25.05.2018
18:00:04
и не имеет отношения к вопросу по js и проверке на авторизованность пользователя
что мешает сразу это объяснить?

БОГАТЫРЪ
25.05.2018
18:12:09
это другой вопрос

Bohdan
25.05.2018
18:30:23
это дофига уместный вопрос, так как чат не обязан вникать в твою проблему

БОГАТЫРЪ
25.05.2018
18:58:33
хорошо

Leonid
26.05.2018
06:42:17
Использую эту библиотеку - https://github.com/google/google-api-php-client
$client = new \Google_Client();
$client->setApplicationName("Example");
$clientId = '835203905925-s9aclhbfttfnvgblabla';
$clientSecret = 'L_FHpAblabla';
$client->setClientId($clientId);
$client->setClientSecret($clientSecret);
$scopes1 = 'https://www.googleapis.com/auth/userinfo.email '
. 'https://www.googleapis.com/auth/plus.login';
$scopes2 = 'userinfo.profile';
$client->setScopes($scopes1);
$client->setRedirectUri($params['redirect_uri']);
$token = $client->fetchAccessTokenWithAuthCode($params['code']);
return $token;
Код мне даёт ios разраб.
Сервер отвечает
{
"error": "invalid_grant",
"error_description": "Bad Request"
}
Если второй раз отправить запрос, ответит, что код уже использован.
Что не так делаю?

Виктор
26.05.2018
06:53:52
Если повторно пытаешься получить токен по одному и тому же коду, то так и будет. Код является OTP, то есть одноразовый.

Luka
26.05.2018
07:29:36
всем привет, кто с PrestaShop работал или работает? есть в телеге свой канал?

Leonid
26.05.2018
07:52:13

Roman
26.05.2018
10:43:47
пишу REST сервис. екшен должен генерить респонс с ошибко если не уделость наити обект в базе по GET запросу или долшен возвращать FALSE и логика бработки на стороне клиента остается?

Sergey
26.05.2018
10:44:19
сделаем жизнь фронтэндщиков болью

Roman
26.05.2018
10:44:54
)))

Sergey
26.05.2018
10:44:57
ну то есть бля
представь что клиент пишешь ты

Google

Sergey
26.05.2018
10:45:17
и ты сам решаешь как бы ты хотел что бы оно себя вело

Panda
26.05.2018
10:45:35

Sergey
26.05.2018
10:45:39
зная что запросы ты делаешь через промисы., и если там 2xx то у тебя вызовется один колбэк, а если 4xx,5xx то другой

$iD
26.05.2018
10:46:23
а чо статусами это не решить? )) зачем Null, false? :)

Sergey
26.05.2018
10:46:44
ну или просто представь вызов метода api как вызов метода объекта.
try {
$data = $api->fetch();
} catch (NotFoundException $e) {
// show error
}
дальше вопрос насколько ок что данных нет, стоит ли это рассматривать как исключительную ситуацию или скажем если ты запрашиваешь по массиву айдишек и если парочка не найдена - плевать верни что есть
ну то есть врубаешь голову и вперед
REST они тут пишут

Roman
26.05.2018
10:50:06
спасибо

Sergey
26.05.2018
10:50:41
за что?) ты ж не понял)

$iD
26.05.2018
10:50:53
)))

Sergey
26.05.2018
10:51:44
в большинстве случаев если что-то не найдено - верни 404. А случаи где не так - не уверен что это про твои случаи
и еще лучше что бы твой репозиторий кинул исключение а не ифы в контроллере
вообще if-ы в контроллерах это.... стыдно
пойду посмотрю на свои и постыжусь

$iD
26.05.2018
10:53:08
Лучше возвращай всегда 200 ок и пусть те кто будут юзать твоё апи постигнуть дзен

Roman
26.05.2018
10:53:10
)) согласен
тут наверно от ситации не всегда так лучше

Sergey
26.05.2018
10:54:39

Google

Sergey
26.05.2018
10:54:53
всегда найдется вариант при котором твое "всегда лучше" оказывается "но не тут"

Антон
26.05.2018
11:16:16
а мы его перехватим в контроллере и вернем 404?

Sergey
26.05.2018
11:24:21

Антон
26.05.2018
11:25:05

Sergey
26.05.2018
11:25:26
ну блин определись с проблемой и ее решай

Panda
26.05.2018
11:26:26

Admin
ERROR: S client not available

Vlad
26.05.2018
11:27:05

Sergey
26.05.2018
11:27:09
если хочешь размазывать try/catch и прочий бойлерплейт по коду - кто тебя остановит.

Maksim
26.05.2018
11:27:28

Антон
26.05.2018
11:27:36
if ($exception instanceof ModelNotFoundException)
{
throw new HttpResponseException(
response()->json([
'success' => false,
'message' => 'Resource not found.'
],JsonResponse::HTTP_NOT_FOUND)
);
}
как то так видимо

Alexander
26.05.2018
11:27:51

Panda
26.05.2018
11:28:23

Антон
26.05.2018
11:28:59

Vlad
26.05.2018
11:29:18
Статусы говно)
На одном из старых проектов, который на козане, который сейчас переводим на ларавел и микросервисы. Вообщем на старой херне в заголовках статус 400 бед реквест. Хотя реальный статус ответа, который не заголовки - 200 ок

Антон
26.05.2018
11:29:19
там уже все ошибки приходят

Vlad
26.05.2018
11:29:55
На новой сборке нгинкс для нового проекта пока не получается это воспроизвести. Там статус нормально соотвествует

Антон
26.05.2018
11:31:04

Google

Alexander
26.05.2018
11:31:30
if ($exception instanceof ModelNotFoundException)

Vlad
26.05.2018
11:31:52

Антон
26.05.2018
11:32:12
в ларавельке автоматом на метод findOrFail выбрасывается это исключение

Vlad
26.05.2018
11:32:19
Как-то так это выглядит на старом проекте

Alexander
26.05.2018
11:33:02
почему нельзя так?
catch (ModelNotFoundException $exception) {
}
catch(AnotherException $exception) {
}
catch(\Throwable $exception) {
}

Антон
26.05.2018
11:33:50
а, понял

Sergey
26.05.2018
11:35:12

$iD
26.05.2018
11:35:36
Что это за говнина? Я про хттп статус коды

Vlad
26.05.2018
11:36:05
И на новом проекте пока это сделать также для 400 не удалось

Alexander
26.05.2018
11:36:57

Sergey
26.05.2018
11:37:09

Антон
26.05.2018
11:37:11
https://paste.laravel.io/8464ce22-0c52-495c-86a7-7e9191a4b884

Sergey
26.05.2018
11:38:05
ох уж эти ларавельщики.... Боженька наш Тэйлор все уже за нас решил
никакой возможности для кастомизации

Антон
26.05.2018
11:38:35
ну тут тогда придется во многих местах отказаться от встроенного метода findOrFail который сам выбрасывает ModelNotFoundException. Есть ли смысл ради именования делать, хз
ну не. можно просто не использовать findOrFail и самому ошибки выбрасывать