
~Nyctophobe
29.09.2018
12:09:04
И не в том же файле, а в отдельном.

Алексей
29.09.2018
12:09:29
получтся

Google

Игорь
29.09.2018
12:09:40
Вызываться в теории они должны только в классе Do. Думал вынести их в trait

Алексей
29.09.2018
12:10:18
оужас

~Nyctophobe
29.09.2018
12:10:42
А они опциальны?

Алексей
29.09.2018
12:10:59

~Nyctophobe
29.09.2018
12:11:17
Примеси используются если один и тот же набор свойств и методов может подключаться в разные классы.
Также порой их используют чтобы логически отделить наборы свойств/методов.

Алексей
29.09.2018
12:12:22
чего откуды получат и куды пихает

Игорь
29.09.2018
12:14:40
Парсит данные со страниц сайта и обрабатывает их. Получает url

Алексей
29.09.2018
12:15:31

Игорь
29.09.2018
12:15:35
Дальше разносит данные по массиву, каждая категория данных - отдельная функция

Алексей
29.09.2018
12:16:52
а вот по массиву разносит - выглядит отдельной сущьностью

Google

Алексей
29.09.2018
12:17:48
если бы ты писал тест, у тебя тут бы возник заеб, ака сделать тестовые данные для здесь\
чей дальше

Игорь
29.09.2018
12:19:58
Сохраняет в бд
Отдельной функцией

Алексей
29.09.2018
12:20:32
уоу... функционал модели

Игорь
29.09.2018
12:21:45

Алексей
29.09.2018
12:22:34
та даже много модлей

Игорь
29.09.2018
12:23:43
В модель в общем это отправить

~Nyctophobe
29.09.2018
12:24:23
Покажи нам код
Выложи куда-нибудь в репозиторий :D

Алексей
29.09.2018
12:24:33
ну ты почеловечески декомпозцю сделай
и тогда коду раза в 2 уменьшится

Игорь
29.09.2018
12:26:16
https://github.com/kiteggrad/Nanidub/blob/master/library/AnimeParser.php

Алексей
29.09.2018
12:32:23

Игорь
29.09.2018
12:32:53

Алексей
29.09.2018
12:36:28
класс ради класса
объяси, чего он отражает, какую сущьность, или просто ради крутой организации кода

Игорь
29.09.2018
12:39:34

Алексей
29.09.2018
12:39:52
оопа так не работает

Google

Vladimir
29.09.2018
12:39:59
переписывай, это не организация кода
почитай что такое СОЛИД
и ООП :)

Игорь
29.09.2018
12:42:41
Ок, почитаю
А в 3-х словах что мне с этим делать? По сути этот класс используется в сидере. Но может использоваться позднее для добавления нового аниме/фильма или обновлении информации о нём.
Можно убрать в модель ту часть что отвечает за сохранение спарсеной информации в бд. А с остальным как, если оно может понадобиться позже?

Алексей
29.09.2018
12:51:28
1 класс = 1 сущьность

Игорь
29.09.2018
12:52:19

Алексей
29.09.2018
12:52:30
тип того

Игорь
29.09.2018
12:53:12
Дак ведь по сути тогда почти весь код дублироваться будет в разных местах?

Алексей
29.09.2018
12:53:21
Неее

Vladimir
29.09.2018
12:57:09
сделай класс обвертку http транспорта, модели на каждую сущность, репозитории для сохранения\выборок моделей, хелперы по обработке каких то свистоперделок и так далее.

Алексей
29.09.2018
12:57:42
ну и отдельный класс, управляющий парсингом...
потом наследование от него позволит делать парсеры других аниме

Vladimir
29.09.2018
12:58:16
getStudio - тут судя п овсему парсер, сделай отбельно парсер, отдельно то что при помощи хттп транспорта получает данные для парсига

Алексей
29.09.2018
12:58:19
мало кровью

Vladimir
29.09.2018
12:59:00
сделай сущность Youtube video, или что там парсится, парсером его заполняй, потом используй
в нем реализуй методы getAuthors, getStudio и так далее

Игорь
29.09.2018
13:05:05
Создать отдельный класс Anime(название у модели такое же -_-). Отдельный класс AnimeParser с методами getAuthors, getStudio, от него наследуется класс AnidubParser и другие. Сохранение данных с парсера полностью убрать в модель. Про "класс обвертку http транспорта" и про модели на сущность не очень понял. Модели разве не по одной на таблицу?

Vladimir
29.09.2018
13:07:50
идеально если модель это сущность одна.

Google

Игорь
29.09.2018
13:09:06

Лиза
29.09.2018
13:09:54
https://t.me/joinchat/AAAAAETLUqFr1F4548k5WQ

Vladimir
29.09.2018
13:10:38
да, таблица = модель = сущность. Но это не отменяет того, что нужны еще модели для вспомогательных таблиц (связи и все такое прочее)
А вообще используйте монгу :)

Игорь
29.09.2018
13:11:59
Обёртка для http Транспорта. Использую guzzle это не оно?

~Nyctophobe
29.09.2018
13:12:55
Да просто класс, который дергает curl

Игорь
29.09.2018
13:14:15
"репозитории для сохранения\выборок моделей" а это что означает?

Vladimir
29.09.2018
13:15:12
Используя напрямую газл нет возможности подменить источник данных Например, не ХТТП, а из очереди данные получить, или из файла

Admin
ERROR: S client not available

Vladimir
29.09.2018
13:15:22
да и для тестирования лучше

Игорь
29.09.2018
13:20:00
Т.е. допустим мне нужно написать тест для проверки парсера, а данные мне нужно не с url а с html файла взять. Чтобы реализовать это мне нужно отделный класс создать, который будет делать (что?)
"из очереди данные" какой очереди что это значит?
Как я понял:
Парсер всегда принимает документ в виде строки. Передавать ему его надо через другой класс который будет заниматься обработкой поступающих источников url/file...
Т.е. new AnidubParser(new названиеКлассаОбработчика(url или файл))
возвращает ассоц массив
Так?

~Nyctophobe
29.09.2018
13:25:16
Лучше сделай метод feed() у AnidubParser

Vladimir
29.09.2018
13:25:24
бросание массивов, с моей точки зрения, имеет место только при возврате коллекций объектов. Если метод возвращает нечто множественное, то это нужно обернуть в Entiity (сущность)
парсер может возвращать ParsedDocument

Игорь
29.09.2018
13:27:08
Т.е. возвращать класс ParsedDocument, в котором поля $author, $name и тп?

~Nyctophobe
29.09.2018
13:27:49
А что ты парсишь?

Игорь
29.09.2018
13:30:29
Итого
$parser = new AnidubParser();
$aSource = new AnimeSource('url' или файл);
$ParsedDocument = $parser->feed($aSource);
Как-то так?

Google

Игорь
29.09.2018
13:30:55

Александр
29.09.2018
13:32:49
доброго datatime();✌️

Ivan
29.09.2018
13:33:35

Александр
29.09.2018
13:34:56
может date?
точно, ну возможно люди и времени года порадуюстся,или вообще тому что живы

Стас
29.09.2018
14:47:04
Есть кто работает на линуксе? Дайте совет, стоит смотреть обучающие ролики по линуксу или можно и самому разобраться? И есть ли смысл использовать винду и линукс одновременно?

Letalis
29.09.2018
14:50:33

Стас
29.09.2018
14:51:46

Evgeniy
29.09.2018
15:08:46
Всем привет друзья сегодня в 19:00 (МСК) планирую постримить разработку своей либы для внедрения зависимостей: https://github.com/smpl/mydi
Буду рад вашим советам и замечаниям.
https://www.youtube.com/watch?v=46oP0xVikRI

Алексей
29.09.2018
15:11:04
или на се?
ди + локатор
кеширование есть?
чтобы каждый раз рефлекшен не трынькать

Evgeniy
29.09.2018
15:16:30
пока нет кэширования
на пыхе

Алексей
29.09.2018
15:17:03
уже смотрю репу

Evgeniy
29.09.2018
15:17:30
что планирую делать на стриме на доске проекта
про кэширование есть мысли)