These are chat archives for LaravelRUS/chat

8th
Jan 2017
Andrew Romanov
@roman0v
Jan 08 2017 09:24
@markinigor тебе не кажется, что у тебя чсв слишком высокое?
JhaoDa
@jhaoda
Jan 08 2017 10:18
@roman0v тебе не кажется, что вместо того, что бы начать изучать матчасть, ты опять напрашиваешься на бан?
Soprun Vladislav
@vlsoprun
Jan 08 2017 10:43
Здорова мужики :smile:
Mezhevikin Alex
@mezhevikin
Jan 08 2017 12:11
Привет ребята, у меня загрузка файла на larevel 5.2 выдает исключение FileinfoMimeTypeGuesser.php line 69:
Array to string conversion. Кто нибудь сталкивался?
return response()->download($file, $name, $headers);
JhaoDa
@jhaoda
Jan 08 2017 12:16
@mezhevikin ты говоришь про загрузку, а показываешь код отдачи. Определись.
Andrew Romanov
@roman0v
Jan 08 2017 12:28
Мне кажется, что вы просто меня не понимаете.
Я попробую еще раз объяснить что мне нужно.
Andrew Romanov
@roman0v
Jan 08 2017 12:34
Имеются модели User и Task
Я передаю в шаблон модель Task
Таблица Task связана с таблицей User следующим образом:
$table->integer('author_id')->unsigned();
$table->foreign('author_id')->references('id')->on('users');
После передачи модели Task в шаблон, я хочу обратиться к данным из связанной модели Users
При указании hasOne в модели Task, я получаю то что хочу, для первой строки в таблице, если я добавляю туда вторую, то открывая шаблон получаю ошибку Trying to get property of non-object
Вопрос заключается в следующем, могу ли я как-то обращаться к связанным элементам через шаблон, или же мне нужно получить в контроллере нужную информацию и передать в шаблон???
JhaoDa
@jhaoda
Jan 08 2017 12:35
@roman0v ты код показывай, кто будет вчитываться в твои писанки
Andrew Romanov
@roman0v
Jan 08 2017 12:36
public function author() { return $this->hasOne('App\Models\User', 'id'); }
JhaoDa
@jhaoda
Jan 08 2017 12:36
В обращении к связанным элементам нет никакой проблемы, значит, ты что-то делаешь не так. Почему? Потому что доку не читаешь, однако
@roman0v оформи код
KarmaBot
@KarmaBot
Jan 08 2017 12:36
@roman0v, чтобы код легко читался, поставь перед ним и после него по строке с тремя обратными апострофами (символ ` на клавише с буквой «Ё»).
Узнать больше про оформление сообщений можно в справке по Markdown (кнопка M↓ внизу справа).
Кстати, свои сообщения здесь можно редактировать... ;)
Denis Isaychenko
@Rhincodon
Jan 08 2017 12:36
@roman0v скрины с таблиц users и tasks сделай
JhaoDa
@jhaoda
Jan 08 2017 12:37
@Rhincodon не надо никаких скринов пока что, пусть покажет, что в шаблона пишет
Denis Isaychenko
@Rhincodon
Jan 08 2017 12:37
чёт мне подсказывает что он ко второму таску не привязал юзера просто, там null author_id
хотя может и нет, nullable нет вроде в миграции. хотя mysql вроде игнорит такое
Andrew Romanov
@roman0v
Jan 08 2017 12:38
http://i.imgur.com/uPF8Nl3.png
http://i.imgur.com/tvFaxWe.png
JhaoDa
@jhaoda
Jan 08 2017 12:38
@roman0v ссылки заверни. И внимательно прочитай, что я написал
Andrew Romanov
@roman0v
Jan 08 2017 12:40
дружище, я уже десяток раз перечитал все отсюда и из документации и попробовал все возможные варианты
JhaoDa
@jhaoda
Jan 08 2017 12:40

@roman0v я писал

оформи код

пусть покажет, что в шаблоне пишет

Andrew Romanov
@roman0v
Jan 08 2017 12:41
Trying to get property of non-object
JhaoDa
@jhaoda
Jan 08 2017 12:42
@roman0v ало, голову включи. Покажи код, который ты пишешь в шаблоне!
Ivan Kudinov
@frostealth
Jan 08 2017 12:42
Не нравится мне hasOne в модели тасков на автора. Может таки belongsTo?
Andrew Romanov
@roman0v
Jan 08 2017 12:42
{{ $task->author->phone }}
@frostealth тоже самое будет
Task пытается обратится к User с id 2, но User'а с id 2 не существует
Denis Isaychenko
@Rhincodon
Jan 08 2017 12:43
:)
JhaoDa
@jhaoda
Jan 08 2017 12:43
@roman0v в дебагбаре какой запрос делает ларавел?
Andrew Romanov
@roman0v
Jan 08 2017 12:46
нет там запроса
JhaoDa
@jhaoda
Jan 08 2017 12:46
@roman0v ну так а фигли ты нам мозг-то канифолишь? Читай доку и понимай связи
Ivan Kudinov
@frostealth
Jan 08 2017 12:46
С ключами что-то напутано.
Может у тебя берётся айдишник таска и производится поиск по айдишнику юзера? т.е. id => id, а не user_id => id
Denis Isaychenko
@Rhincodon
Jan 08 2017 12:48
@roman0v У тебя у такса номер 2 author_id = 2?
Andrew Romanov
@roman0v
Jan 08 2017 12:48
нет, 1
а он пытается найти 2
JhaoDa
@jhaoda
Jan 08 2017 12:48
@roman0v указывай ник того, кому ты пишешь
Denis Isaychenko
@Rhincodon
Jan 08 2017 12:49
@roman0v public function author() { return $this->hasOne('App\Models\User', 'author_id'); }
Andrew Romanov
@roman0v
Jan 08 2017 12:51
мммм, так вот в чем дело
а я то думал, что нужно указывать столбец, из модели к которой обращаешься, спасибо большое
KarmaBot
@KarmaBot
Jan 08 2017 12:51
@roman0v, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
Denis Isaychenko
@Rhincodon
Jan 08 2017 12:53
ну вобще не так надо
@roman0v Task belongsTo User. И User hasOne Task.
Denis Isaychenko
@Rhincodon
Jan 08 2017 13:00
и не так тоже )
Task belongsTo User. И User hasMany Task, во, так
Andrew Romanov
@roman0v
Jan 08 2017 13:57
А вот еще такой вопрос, допустим я создаю Task, с помощью Task::create
Также я загружаю изображение, они у меня отдельной моделью, как я могу получить id только что созданного Task??
Alexander
@Dualse
Jan 08 2017 14:01
@roman0v А create что возвращает?
Andrew Romanov
@roman0v
Jan 08 2017 14:01
@Dualse не знаю, я с его помощью создаю новый объект в бд
Alexander
@Dualse
Jan 08 2017 14:02
@roman0v ну посмотри
Ivan Kudinov
@frostealth
Jan 08 2017 14:02
@roman0v $task = Task::create(…); $id = $task->getKey(); не?
Alexander
@Dualse
Jan 08 2017 14:02
@frostealth спойлерист
Ivan Kudinov
@frostealth
Jan 08 2017 14:03
@roman0v create() возвращает инстанс уже сохраненной в бд модели
Andrew Romanov
@roman0v
Jan 08 2017 14:03
@frostealth спасибо
KarmaBot
@KarmaBot
Jan 08 2017 14:03
Спасибо (+1) для @frostealth принято! Текущая карма +9.
Ivan Kudinov
@frostealth
Jan 08 2017 14:03
@Dualse прошу прощения 👾
Alexander
@Dualse
Jan 08 2017 14:04
@roman0v Я тебе тоже самое сказал -_-
Igor Markin
@markinigor
Jan 08 2017 14:31
@roman0v а ты всё мучаешься, а ведь тебе вчера прямым текстом указал на твои проблемы со связями и даже подсказку дал про hasMany belongsTo и тд, но ведь не послушался :(
начни читать доку и экспериментировать с кодом.
Кстати полгода назад, когда ларавель был 5.2, в доке как раз были гайды для новичков с тасками - попробовал бы тогда потратить свое время на них, сэкономил бы себе полгода
https://laravel.com/docs/5.2/quickstart
https://laravel.com/docs/5.2/quickstart-intermediate
Andrew Romanov
@roman0v
Jan 08 2017 14:35
@markinigor в каком смысле сэкономил?
Igor Markin
@markinigor
Jan 08 2017 14:42
@roman0v ну ты когда стал изучать ларавель? судя по вчерашним твоим жалобам минимум полгода назад, из этого я сделал вывод что ты минимум полгода потратил на изучение ларавеля, а твой пример твоего вопроса про Таски и Юзеров был в доке описан полгода назад. Вот я тебе и сказал, что ты бы сэкономил себе своё время (и наше тоже), если бы начал читать
Andrew Romanov
@roman0v
Jan 08 2017 14:48
@markinigor нет, я тогда сайт доделал, и на этом закончил. и вот сейчас мне опять потребовался сайт, и я опять начал.
Ivan Kudinov
@frostealth
Jan 08 2017 15:01
@roman0v попробуй приучить себя всегда читать доки. ты удивишься насколько это просто и насколько упрощает жизнь. следующим шагом твоим будет чтение и изучение кода фреймворка
Alexey Yastrebov
@Anurhat
Jan 08 2017 15:03
Добрый вечер.. может кто нибудь подсказать, как в конструкторе контроллера получить ID текущего пользователя?
KarmaBot
@KarmaBot
Jan 08 2017 15:03
Привет, @Anurhat! Проходи, присаживайся. В ногах правды нет :)
Ivan Kudinov
@frostealth
Jan 08 2017 15:04
@Anurhat привет. зачем тебе в конструкторе получать айдишник юзера?
Alexey Yastrebov
@Anurhat
Jan 08 2017 15:05
@frostealth Он у меня используется во всех методах
Ivan Kudinov
@frostealth
Jan 08 2017 15:07
@Anurhat ок. а как ты получаешь текущего юзера?
Alexey Yastrebov
@Anurhat
Jan 08 2017 15:09
@frostealth В методах получал фасадом Auth::id(). В конструкторах это не катит, перешерстил весь stack overflow, так и не нашёл рабочего решения(
Ivan Kudinov
@frostealth
Jan 08 2017 15:09
ох уж эти “фасады"
@Anurhat какая версия фреймворка?
Alexey Yastrebov
@Anurhat
Jan 08 2017 15:12
@frostealth 5.3
Ivan Kudinov
@frostealth
Jan 08 2017 15:13
@Anurhat а доку читал?
Alexey Yastrebov
@Anurhat
Jan 08 2017 15:13
@frostealth нет)
Ivan Kudinov
@frostealth
Jan 08 2017 15:14
@Anurhat ну вот, почитай) в частности прочитай изменения
Alexey Yastrebov
@Anurhat
Jan 08 2017 15:14
@frostealth ок, спасибо
Ivan Kudinov
@frostealth
Jan 08 2017 15:15
@Anurhat обращайся)
Alexey Yastrebov
@Anurhat
Jan 08 2017 15:37
ничего подобного в доках не нашёл(
Ivan Kudinov
@frostealth
Jan 08 2017 15:38
@Anurhat плохо смотрел значит https://laravel.com/docs/5.3/upgrade
JhaoDa
@jhaoda
Jan 08 2017 15:41
@roman0v парень, ты пойдешь в бан. На это раз уже на год
Alexander
@Dualse
Jan 08 2017 15:45
@jhaoda Сейчас, тебя на место поставят xD
JhaoDa
@jhaoda
Jan 08 2017 15:45
@frostealth заметь, он хотя бы сказал «не нашел», а не «там такого нет». Прогресс!
@Dualse кто?
Alexander
@Dualse
Jan 08 2017 15:49
@jhaoda @roman0v
Он же писал, что прошлый раз получил бан за то, что поставил хама на место) Потом через год придет и снова будет такую же историю рассказывать
Andrew Romanov
@roman0v
Jan 08 2017 15:53
@Dualse я тебя чем-то обидел?
Alexander
@Dualse
Jan 08 2017 15:53
@roman0v Нет. А должен был?
Andrew Romanov
@roman0v
Jan 08 2017 15:54
@Dualse я не понимаю, почему ты себя так ведешь
Alexander
@Dualse
Jan 08 2017 15:56
@roman0v Подколол тебя пару раз, обиделся что ли? Помимо этого, я сегодня тебе давал ответ на твой вопрос
JhaoDa
@jhaoda
Jan 08 2017 15:56
@roman0v ты ником не ошибся? Это я тебя забанить грозился
Ivan Kudinov
@frostealth
Jan 08 2017 15:56
@Anurhat нашел?
Alexey Yastrebov
@Anurhat
Jan 08 2017 15:57
@frostealth я правильно понял, что вот это?
ой сори, глюкнууло из за двух моников
Ivan Kudinov
@frostealth
Jan 08 2017 15:59
@Anurhat да.. а еще можешь чуть ниже почитать
@Anurhat и тогда мидл в конструкторе не нужен будет вовсе
Alexander
@Dualse
Jan 08 2017 16:08
Ребята подскажите, как вы тестируете свой функционал, когда необходимо обработать ответ стороннего сервиса? Пишите юнит-тесты?
Maksim Melnichuk
@melnichukme
Jan 08 2017 18:44
Привет всем. кто нибудь работал с jwt ?
Cyber Xucyc
@Cyber-host
Jan 08 2017 18:44
@maksdekka скорее всего да
JhaoDa
@jhaoda
Jan 08 2017 18:44
@maksdekka у нас принято сразу задавать вопрос по существу, об этом даже в правилах написано (но ты их не читал)
Maksim Melnichuk
@melnichukme
Jan 08 2017 18:49
@Cyber-host не могу разобраться jwt это лишь способ формирования токена ?
JhaoDa
@jhaoda
Jan 08 2017 18:50
@maksdekka примерно так. Только не нужно думать, что токен это что-то особенное. Токен это просто строка.
Maksim Melnichuk
@melnichukme
Jan 08 2017 18:54
@jhaoda в какой связки ты строишь rest api ?
@jhaoda посоветуй что нибудь
JhaoDa
@jhaoda
Jan 08 2017 18:54
@maksdekka в связке чего с чем?
Maksim Melnichuk
@melnichukme
Jan 08 2017 18:54
@jhaoda OAuth + JWT ?
Razzwan
@Razzwan
Jan 08 2017 18:54
@maksdekka думаю, многие
JhaoDa
@jhaoda
Jan 08 2017 18:55
@maksdekka а зачем и OAuth, и JWT?
Razzwan
@Razzwan
Jan 08 2017 18:56
@maksdekka Связка это Laravel + angular. OAuth использует JWT токен сам по себе (так ведь?). Их уже связала судьба )
Maksim Melnichuk
@melnichukme
Jan 08 2017 18:56
@jhaoda видел примеры что OAuth используют для механизма полноценного рест апи, а jwt только для отдачи токена
@Razzwan OAuth использует jwt ?... я видимо что-то пропустил когда читал)
JhaoDa
@jhaoda
Jan 08 2017 18:58
@maksdekka ну я хз, что ты видел. OAuth это способ аутентификации, JWT это всего лишь переносчик данных аутентификации между клиентом и сервером. Образно: OAuth это автомобиль, а JWT один из типов двигателя.
Razzwan
@Razzwan
Jan 08 2017 18:59
https://ru.wikipedia.org/wiki/API - API - это лишь интерфейс взаимодействия одной системы с другой. У меня устойчивое ощущение, что что-то в корне неверно понимаешь.
Maksim Melnichuk
@melnichukme
Jan 08 2017 18:59
OAuth уже использует JWT?
@Razzwan OAuth не использует jwt сам по себе. он работает на основе куков и строки acess_token
Razzwan
@Razzwan
Jan 08 2017 19:00
@maksdekka Предлагаю разобраться в понятиях. OAuth - это способ ограничить доступ к защищенным данным. JWT - это ключ для получения защищенных данных. Поэтому, да OAuth, как вариант, может предоставлять права к ресурсу по ключу (JWT)
@maksdekka OAuth2 ?
alt
это ну никак не jwt
JhaoDa
@jhaoda
Jan 08 2017 19:02
@maksdekka картинку заверни
Maksim Melnichuk
@melnichukme
Jan 08 2017 19:03
поэтому утверждение что OAuth уже использует JWT не верное. ну или я что-то не так понимаю) мне нужно построить небольшой рест под angular
Razzwan
@Razzwan
Jan 08 2017 19:03
JWT - это JSON web token. OAuth использует JWT, потому что используют access_token, а это одно и то же.
JhaoDa
@jhaoda
Jan 08 2017 19:04
@Razzwan как ты думаешь, откуда в аббревиатуре JWT слово «json»?
Maksim Melnichuk
@melnichukme
Jan 08 2017 19:05
@Razzwan jwt это токен состоящий из 3 подстрок разделенных точкой. а то что выше я скинул это обычный токен который отдался на попытку авторизоваться.
Razzwan
@Razzwan
Jan 08 2017 19:05
JSON web token - это просто строка ключ, которая передается в json формате. Т.е. любой ключ доступа в json формате является JWT по определению. Можно говорить о библиотеке для формирования JWT ключа, - это совсем другая история.
Maksim Melnichuk
@melnichukme
Jan 08 2017 19:06
@jhaoda я правильно понял?)
Razzwan
@Razzwan
Jan 08 2017 19:09
@maksdekka хм... ну ок, JWT - это определенный стандарт ключа, состоящий из 3х подстрок. Некоторые вещи, такое впечатление, искусственно усложнены. С таким же успехом можно использовать любой другой ключ. Преимущество JWT в том, что часть информации всегда можно расшифровать известным способом, в то время, как часть, остается неизвестной. Но это не делает его чем то фундаментально отличающимся от любого ключа, который предоставляет какой-то доступ.
Maksim Melnichuk
@melnichukme
Jan 08 2017 19:11
@Razzwan но механизм формирования и его отдачи это отдельная либа которые подключается дополнительно к oauth, соответственно oauth это не включает в себя jwt
JhaoDa
@jhaoda
Jan 08 2017 19:11
Я вообще запутался
@maksdekka к твоему апи доступ для гостей будет?
Maksim Melnichuk
@melnichukme
Jan 08 2017 19:12
@jhaoda для гостей будет, после авторизации тот же доступ + некоторые доп. возможности добавления данных удаления
Razzwan
@Razzwan
Jan 08 2017 19:12
@maksdekka ОК, согласен.
@maksdekka теоретически OAuth можно использовать с произвольным собственным ключом, сейчас моДно использовать JWT. Возможно, эта мода обусловлена его уникальным соотношением защиты и простоты использования. А возможно, просто интенсивный пиар. В прочем, не стану оспаривать, что JWT, де-факто, стандарт на сегодняшний день.
Maksim Melnichuk
@melnichukme
Jan 08 2017 19:16
@Razzwan jwt это в первую очередь отказ от куков а это уже другой уровень безопаности
JhaoDa
@jhaoda
Jan 08 2017 19:16
Я не нашел в доках по OAuth обязательности формировать токен как JWT. Поэтому правильней говорить, что пакет thephpleague/oauth2-server формирует токены в JWT
Maksim Melnichuk
@melnichukme
Jan 08 2017 19:16
а что за passport в laravel 5.3
JhaoDa
@jhaoda
Jan 08 2017 19:17
@maksdekka а ты почитай
Alexander
@Dualse
Jan 08 2017 19:17

@Razzwan jwt это в первую очередь отказ от куков а это уже другой уровень безопаности

@maksdekka Имеешь ввиду, что лучше довериться JWT, чем формировать свой ключ?

Razzwan
@Razzwan
Jan 08 2017 19:17
@jhaoda @maksdekka а в чем, собственно, вопрос? )))
JhaoDa
@jhaoda
Jan 08 2017 19:18
@maksdekka ты до сих пор не понимаешь, что JWT всего лишь строка-хранилище? При чем тут куки? Токен можно и в куках хранить, какие проблемы?
Razzwan
@Razzwan
Jan 08 2017 19:18
@Dualse цитата не моя, но ладно. В принципе, я согласен со смыслом. ))) Так, стоп... Засомневался... Не согласен )))
Maksim Melnichuk
@melnichukme
Jan 08 2017 19:18
@jhaoda thephpleague/oauth2-server как я понял этот пакет это интегрированный jwt
JhaoDa
@jhaoda
Jan 08 2017 19:18
@maksdekka удивительно, но я об этом выше сказал
Alexander
@Dualse
Jan 08 2017 19:19
@Razzwan Блин, я уже писал сообщение, чтобы ты все разъяснил)
Maksim Melnichuk
@melnichukme
Jan 08 2017 19:20
@jhaoda а что такое passport laravel
JhaoDa
@jhaoda
Jan 08 2017 19:20
@maksdekka иди и почитай!
Razzwan
@Razzwan
Jan 08 2017 19:20
Ведь JWT мы именно в куках и храним, где ж еще его хранить?
@Dualse всем приятным людям, я обычно отвечаю на вопросы.
Maksim Melnichuk
@melnichukme
Jan 08 2017 19:22
@jhaoda да вот не могу разобраться. поэтому и спросил..
Razzwan
@Razzwan
Jan 08 2017 19:22
Такое острое желание ответить на вопрос, но не пойму, в чем он (
Alexander
@Dualse
Jan 08 2017 19:22
@Razzwan Я хотел, чтобы ты объяснил смысл сообщения, т.к. автор оставил мой вопрос без ответа, но пока я писал, ты уже отредактировал сообщение
Maksim Melnichuk
@melnichukme
Jan 08 2017 19:23
@Dualse на самом деле я не знаю что и ответить. читал про преимущества их и отписал
@jhaoda этот паспорт это какая-то связка с oauth, но тот oauth не использует jwt как я понял.. я запутался)
Razzwan
@Razzwan
Jan 08 2017 19:26
@Dualse ааа ) проще довериться JWT, чем формировать свой ключ. Из него смогут извлечь необходимые данные все, кто знает этот единый стандарт формирования ключа без необходимости изучать твою документацию, в соответствии с которой ты будешь свой ключ формировать. Я не знаю, достаточный ли уровень безопасности обеспечивает JWT, поэтому для максимально важных частей системы, прежде чем использовать этот механизм, изучил бы максимально подробно этот вопрос
У меня в последнее время все чаще закрадываются подозрения, что глобальный обман интегрирован в том числе и в информационные технологии. Например, JWT популяризируют именно для того, чтоб любой, кто знает секретный шифр, мог получить доступ к твоим данным. Поэтому склонен довериться своему собственному ощущению безопастности и махинациям со сложностью поиска больших делителей.
Alexander
@Dualse
Jan 08 2017 19:32

единый стандарт формирования ключа без необходимости изучать твою документацию, в соответствии с которой ты будешь свой ключ формировать.

@Razzwan а кому кроме меня может потребоваться трогать механизм формирования ключа? Если другому разработчику, то не думаю, что это будет проблемой, а клиентам не нужно знать механизм формирования ключа.

JhaoDa
@jhaoda
Jan 08 2017 19:33
@maksdekka давай начнем с простого — зачем тебе OAuth?
Maksim Melnichuk
@melnichukme
Jan 08 2017 19:41
@jhaoda нужен хорошо защищенный рест для фронтенда на angular
JhaoDa
@jhaoda
Jan 08 2017 19:42
@maksdekka ок. Так OAuth-то зачем?
Maksim Melnichuk
@melnichukme
Jan 08 2017 19:45
@jhaoda а какие другие варианты?
JhaoDa
@jhaoda
Jan 08 2017 19:46
@maksdekka логин-пароль и JWT
Maksim Melnichuk
@melnichukme
Jan 08 2017 19:48
@jhaoda на счет логин и пароль не понял
Alexander
@Dualse
Jan 08 2017 19:48
@maksdekka А как у тебя аутентификация будет происходить?
@jhaoda Спасибо за замечание
KarmaBot
@KarmaBot
Jan 08 2017 19:51
Спасибо (+1) для @jhaoda принято! Текущая карма +1392.
Maksim Melnichuk
@melnichukme
Jan 08 2017 19:51
@Dualse шлется логин и пароль получает токен по токену работаем дальше. но получается тогда апи будет открыто для всех.. и любой сможет получать с него данные ?
JhaoDa
@jhaoda
Jan 08 2017 19:52
@maksdekka если знает логин-пароль. Ты собрался логины-пароли на улице раздавать всем подряд? :)
Maksim Melnichuk
@melnichukme
Jan 08 2017 19:53
@jhaoda причем тут логины и пароли.. ты заходишь на сайт и видишь к примеру таблицу с данными + поиск. эти данные запрашиваются для всех гостей чтобы отобразить таблицу. прчием тут логин и пароль ?
JhaoDa
@jhaoda
Jan 08 2017 19:54
@maksdekka ты какую-то ерунду говоришь. Сам же выше ответил, что API будет доступно для гостей
Короче, в оффтоп переезжаем
Maksim Melnichuk
@melnichukme
Jan 08 2017 19:55
@jhaoda окей тогда объясню по другому. есть таблица с данными и есть кнопка добавить новую информацию в эту таблицу. таблицу видят все гости, а добавлять могут только авторизованные
Alexander
@Dualse
Jan 08 2017 19:55
Maksim Melnichuk
@melnichukme
Jan 08 2017 19:56
@Dualse спасибо
KarmaBot
@KarmaBot
Jan 08 2017 19:56
Спасибо (+1) для @Dualse принято! Текущая карма +117.
orionych
@orionych
Jan 08 2017 21:12
Всем привет!
KarmaBot
@KarmaBot
Jan 08 2017 21:12
@orionych, здравствуй.
orionych
@orionych
Jan 08 2017 21:13
Хотел спросить у сообщества поо сервис провайдеры. После гуглинья остались вполне резонные вопросы. Например я читал про то как парень делал сервис провайдер про курс обмена. Мне нужен такой же но с автоматической подстройкой под дату например счета
Как мне произвести связку сервиса и счета авооматически без дополнительной передачи параметра
Еще вопрос в том что например есть коммерческое предложение и хотелось бы чтобы сервис понимал что ему передали и подстраивал бы все сам
JhaoDa
@jhaoda
Jan 08 2017 21:22
@orionych кто, что и куда передал и кто, что и где должен подстраивать?
orionych
@orionych
Jan 08 2017 21:28
я хочу получить курс евро/рубль в моделе счета. У счета есть дата. Могу я вызвать сервис курса и чтобы он автоматически понял что это счет и определил дату и выдал курс
JhaoDa
@jhaoda
Jan 08 2017 21:29
@orionych ты путаешь сервисы, которые суть обычные классы и сервис-провайдеры
orionych
@orionych
Jan 08 2017 21:30
Не исключаю. Где можно почитать чтобы понять?
JhaoDa
@jhaoda
Jan 08 2017 21:31
@orionych указывай ник того, кому ты пишешь. Тогда видны уведомления
orionych
@orionych
Jan 08 2017 21:32
@jhaoda виноват. Спасибо
KarmaBot
@KarmaBot
Jan 08 2017 21:32
Спасибо (+1) для @jhaoda принято! Текущая карма +1393.
JhaoDa
@jhaoda
Jan 08 2017 21:32
@orionych завтра у тебя появятся ещё другие типы документов, кроме счёта и будет каша. Сервис, который занимается конвертацией, не должен больше заниматься ничем, т.н. принцип единственной ответственности
Он не должен знать, КТО хочет получить курс, его задача просто вернуть курс, приняв на вход пару валют и дату
orionych
@orionych
Jan 08 2017 21:34
Тогда в чем смысл сервиса. По сути это будет обычный класс
JhaoDa
@jhaoda
Jan 08 2017 21:34
@orionych :point_up: 9 января 2017 г., 04:29
@orionych ещё раз повторить?
orionych
@orionych
Jan 08 2017 21:36
Лучше сказать @jhaoda где почитать?
JhaoDa
@jhaoda
Jan 08 2017 21:37
@orionych в доке, очевидно же — https://laravel.com/docs/5.3/providers
orionych
@orionych
Jan 08 2017 21:40
@jhaoda это я читал. Нет полного понимания что я там должен такого делать чтобы применить к проекту. В чем его особенность и использование, что мне было бы сложно получить от обычных классов?
JhaoDa
@jhaoda
Jan 08 2017 21:41
@orionych ты невнимательно читаешь
orionych
@orionych
Jan 08 2017 21:42
@jhaoda мне не хватает правильного примера
JhaoDa
@jhaoda
Jan 08 2017 21:43
Ещё раз, вдумывайся: сервис-провайдеры это особые классы. Они занимается инициализацией приложения. Сервисы это простые классы, они выполняют конкретную работу. Сервисы для работы могу хотеть какие-то исходные данные — адрес сайта для получения курса, логин-пароль и прочее.
Задача сервис-провайдера — создать класс-сервис с этими данными и сделать его доступным для использования внутри приложения.
Всё это написано в доке
orionych
@orionych
Jan 08 2017 21:47
@jhaoda ну вот это и не понятно. Почему бы все это не обьявить в обычном классе сервиса а использовать для этого отдельные структуры. И если обменник плохой пример, то хотелось бы посмотреть на хороший
JhaoDa
@jhaoda
Jan 08 2017 21:50
@orionych для понимания этого надо разобраться с понятием сервис-контейнера, внедрением зависимостей (DI) и инверсией управления (IoC). Опять же, всё это есть в доке. Так же есть такая статья
orionych
@orionych
Jan 08 2017 21:52
@jhaoda спасибо. Сейчас почитаю. Статья довольна обьемная
KarmaBot
@KarmaBot
Jan 08 2017 21:52
Спасибо (+1) для @jhaoda принято! Текущая карма +1394.