Pull to refresh

Comments 7

Замечание — код бы под PSR подогнать, да форматирование добавить — читается сложно.
Вопрос — это laravel? Очень похоже. Если да — то почему curl, а не guzzle?
Это Laravel. Я делаю заказ. Curl потому что он точно у меня установлен, я умею с ним работать и сдавать нужно вчера, поэтому даже в голову не пришло что-то другое взять. Честно, с Guzzle не работал. Но! Я делаю отдельный свой проект, изучу и, возможно, буду использовать.

По коду. Принято. Но это иллюстрация, к тому же мой черновик. Но за замечание отдельное спасибо, грешу.

Пробегусь по всему коду.


  1. Полностью array() можно не писать, лучше []. Сути не меняет, но полную запись давно не видел(больше имхо)
  2. Нет валидации. Понимаю, что демка, но в демку лучше тоже добавлять
  3. 'useroks.user_id' — 'useroks' излишне. Да и название таблицы такое себе, если честно. Про переменные не по PSR я молчу — в комменте выше было. Ну и можно свести where('useroks.user_id', '=', $request->user_id) до whereUserId($request->user_id)
  4. ksort не нужен
  5. foreach выглядит странно
  6. sectret_key — ааааа именование :(
  7. В объявлениях методов (кроме getalbums) нету объявления типа аргумента. Не надо так… Да и проверки типа is_array уйдут
Я поясню.
1. Здесь полностью согласен
2. Валидация здесь совсем не нужна (т.к. это черновик реального проекта, там это чуть иначе реализовано и форм для ввода нет).
3. useroks — здесь хранятся acess_token пользователя. Есть и uservks. Таблицы я разделил. Можно и в одной, но не стал. Мало ли какие ещё настройки по API придется вписывать.
4. ksort нужен. Это я параметры сейчас составил в алфавитном порядке. Но если их не отсортировать, то мы получим всё ту же ошибку 104.
5. foreach в данном случае быстро и просто решает задачу — создать строку из параметров ключ=значение (см. документацию APIOK)
6. sekret_key. Это наименование из мануала в ВК. Здесь для наглядности. Вообще я за очень короткий код и минимум переменных. Но на этапе поиска решения иной раз приходится идти на жертвы.
7. Я аргументы убрал почти со всех функций. У меня много асинхронных запросов на api маршруты. И для проекта есть своя система управления правами. Короче в моем случае все аргументы передаются через $request, а middlewear определяет принадлежность токена пользователю, какие права у группы пользователя на конкретный маршрут (1 разрешено всё, 2 операции только со своей информацией, 3 запрещено, опять же если в БД как-то заявлены права на маршрут, но для конкретной группы пользователей ничего не написано, то автоматом права 3 — запрещено). В моем случае — это одно из решений. Бюджет заказа не скажу, что большой, поэтому делаю то, что быстро, что работает, попутно оставляю комментарии.

Но Вы дали мне вполне ценную информацию и замечания. И я несомненно учусть, в т.ч. благодаря Вам.
Насколько я знаю, при вызове методов API ок с помощью https подпись больше не требуется (но валидируется, если передана). Узнаю детали, почему информация об этом опубликована только для bot api методов
Возможно и так, но в в моих запросах ОК требовал подпись
Уточнил. Подпись требуется при использовании OAUTH сессии. Если приложение/игра работает внутри портала ОК, то должно работать и без подписи
Sign up to leave a comment.

Articles