@prophp7

Страница 293 из 1387
F01134H
17.03.2017
22:26:10
ну, таки авторизация есть

но она не сохраняется реализацией самого апи, а передается на лево)

короче не суть, не в этом вопрос был

Артур
17.03.2017
22:27:30
А, ну все верно

Google
Jan
18.03.2017
09:02:48
После обновления до macOS Sierra появилась странная вещь. Встроенный пхпшный сервер (PHP 7.1.1) всё время редиректит на http://localhost, тогда как я задаю конкретный порт, например php -S localhost:8030. А сам http://localhost выдает «It works!».

Кто-нибудь сталкивался с этим?

Артур
18.03.2017
09:03:48
It works - Apache

Редиректит твой код скорее всего

Jan
18.03.2017
09:04:52
Апач это да, но я на каких только проектах не пробовал.

В смысле, в разных папках.

Артур
18.03.2017
09:05:14
И?)

Апач в системе стоит

Jan
18.03.2017
09:05:45
Так мне он не нужен. Мне нужно по-нормальному встроенный сервер запустить.

Артур
18.03.2017
09:05:49
Хотя его гнать в шею надо, тем более ты его не юзаешь

Jan
18.03.2017
09:06:07
А встроенный даже не ловит запрос.

Артур
18.03.2017
09:06:07
Ну и удали, в чем проблема то

И встроенный вешай на 80

Google
Артур
18.03.2017
09:06:55
Все он ловит, что-то тебя редиректит же

Jan
18.03.2017
09:07:54
Нифига себе. Это был браузерный кеш.

Хрома.

Артур
18.03.2017
09:08:24
Да, 301 кешируется

Vadim
18.03.2017
12:03:46
лишь бы на сиерру нагнать)

Sergey
18.03.2017
15:42:56
restful же отрицает любое хранение информации, не?
нет. stateless там про то что тебе не должно быть важным с каким сервером ты сейчас говоришь. Ты можешь юзать http2 или websockets или waka (протокол который сам Рой Филдинг придумал). Да и потом, tcp сам по себе предполагает наличие состояния между клиентом и сервером тупо для установления соединения.

ну то есть если у тебя например вся коммуникация идет по websockets, и тебе без разницы к какому серваку подключаются клиенты

F01134H
18.03.2017
15:43:47
Я не хочу этот банан.

Сергей, успокойся, я уж забил на это :D

Sergey
18.03.2017
15:44:20
F01134H
18.03.2017
15:44:52
Сейчас мозг занят апишкой)

Sergey
18.03.2017
15:44:54
а не вижу ты там писал

F01134H
18.03.2017
15:44:54
а не стейтлесом

Sergey
18.03.2017
15:45:09
ну... я сейчас просто как раз делаю докладик на тему "как делать апишки")

а потому если у тебя будет потом список "что тебе было непонятно" будет ништяк

а не стейтлесом
это весьма полезная штука которая позволит тебе горизонтально масштабировать api, хотя может тебе и не надо

F01134H
18.03.2017
15:46:24
Вот что непонятно, так это как лаконично сделать вывод ошибок)

Ща дам пример

Sergey
18.03.2017
15:46:55
статус код + json

Google
Sergey
18.03.2017
15:47:14
Это для доклада ближайшего?
возможно) смотря что считать ближайшим

F01134H
18.03.2017
15:47:24


вот это я еще сократил

Sergey
18.03.2017
15:47:30
Salavat
18.03.2017
15:47:43
Да недавно кто-то сообщение размещал о том, что ты скоро где-то будешь выступать :)

Sergey
18.03.2017
15:47:54
кидаешь исключения, ловиш исключения и конвертишь их в респонсы

F01134H
18.03.2017
15:48:02
Ндяяя

Vadim
18.03.2017
15:48:12
Когда используешь емпти, подумай, точно ли тебе нужен именно емпти

Sergey
18.03.2017
15:48:27
Ндяяя
а что не так?)

Sergey
18.03.2017
15:48:59
Ндяяя
это наиболее гибкий случай, потому что исключения которые тебе будут прилетать из внутри приложения тебе тоже надо как-то обработать и превратить в нужный респонс

Vadim
18.03.2017
15:49:03
Пустой массив, пустая строка, ноль - все емпти

Sergey
18.03.2017
15:49:17
и вообще - почитай про мидлвари

Vadim
18.03.2017
15:49:30
Еще круто прикол с ним был, не помню

F01134H
18.03.2017
15:49:49
Пустой массив, пустая строка, ноль - все емпти
а вот массив с пустым объектом - уже не эмпти)

и там уже костыль ->isEmpty()

Sergey
18.03.2017
15:50:12
там - да)
и еще, грамотно используй статус коды. если не верный токен - надо слать не 403 а 401

F01134H
18.03.2017
15:50:17
и вообще - почитай про мидлвари
ну у меня это из провайдера код

Sergey
18.03.2017
15:50:27
большинство фреймворков клиентских автоматически воспринимают 401 как "надо залогиниться"

а 403 это "я залогинено и лезу не туда"

Google
Sergey
18.03.2017
15:50:49
Sergey
18.03.2017
15:51:09
F01134H
18.03.2017
15:51:18
обработчик из миддлвара)

401,
да

Admin
ERROR: S client not available

Sergey
18.03.2017
15:51:40
обработчик из миддлвара)
ну тогда почитай про early return хотя бы)

слишком много ифов

это все можно красиво развернуть

F01134H
18.03.2017
15:52:00
Вот пока такое сделал



коды ошибок

ну тогда почитай про early return хотя бы)
Спасибо. Я так понимаю, это то же самое но в другой обертке?)

public int SomeFunction(bool cond1, string name, int value, AuthInfo perms) { if (!someCondition) return BAD_COND; if (name == null || name == "") return BAD_NAME; if (value == 0) return BAD_VALUE; if (!perms.allow(name)) return PERM_DENY; // Do something return SUCCESS; }

оно?

Roman ?
18.03.2017
16:00:05
А в скобки обернуть?

F01134H
18.03.2017
16:03:17
Зачем?

эт уже личные предпочтения)

Alexander
18.03.2017
16:05:02
PSR-2, да и дебажить потом неудобно или добавлять какие-нибудь доп. действия

Google
F01134H
18.03.2017
16:08:10
а если у меня одно действие на всю функцию, а потом одни ифы однострочные?)

Vadim
18.03.2017
16:19:20
Фоли епт

Ты че как лох

Сделай так, чтобы никто не видел кода без фигурных скобок

Это не личные предпочтения

Это мина

Ебаная мина, на которой ты 100% подорвешься

F01134H
18.03.2017
16:20:52
Ладно ладно

но если че, эт не мой код был

это даж не пыха

?

эт пример со стэка

Vadim
18.03.2017
16:21:17
Для таких отдельный котел вообще есть :)

Artem
18.03.2017
16:25:23
Это мина
а в чём мина?

Vadim
18.03.2017
16:26:42
Когда-нибудь ты обязательно вечером допишешь вторую инструкцию в типа блок, который не блок как минимум

Читать это почти всем отвратительно

Лишние действия, чтобы в адеквате дописать вторую инструкцию в блок

Artem
18.03.2017
16:28:17
отвратительность - дело привычки. Лишнюю инструкцию не припоминаю чтобы писал, да и заметишь сразу, даже если будет такое. Про вторую строку согласен, но это всё же миной не назовёшь

Страница 293 из 1387