Pull to refresh

Comments 16

Я вот всё думаю, переписывать мне TorrentMonitor с использованием фреймворка, как мне на это намекают некоторые опытные php-разработчики, или так его оставить…
просто ))

из соседней новости про Кибалко:
— Ты знаешь, что это незаконно?
— Я знаю :)
— А зачем тогда сливаешь?
— Прост))


а если серьезно, то это дополнительные коммитеры, знающие yii. Да и незнающим легче будет разобраться.
На самом деле как хотите, у вас там по сути обертка над консольной утилиткой, так что использование фреймворка (типа silex или что-то подобное) просто поможет организовать код, упростит процесс деплоя приложения и его последующего обновления (миграции) и повысит вероятность котрибьюции. Как минимум использование dbal/orm уменьшит количество кода, который вам поддерживать собственно.
1. Используйте Composer и PSR-4 автозагрузку
2. Разделите приложение на отдельные компоненты минимизировав связанность системы. Например вынести клиент для deluge-console в отедльный компонент, который можно было бы использовать отдельно.
Спасибо за статью. Такой вопрос. У вас в методе loadUsingCurl($url) выполняется curl_exec() только 1 раз? То есть, по сути выполняется лишь авторизация на сайте (curl_setopt($ch, CURLOPT_URL, $this->loginUrl);). А где парсинг страницы по переданному $url? Или в статье просто не весь код метода приведен?
Парсер ничего не должен знать о том, что именно используется для получения документов. Так что метод loadUsingCurl я бы убрал и реализовал отдельный компонент crawler, который бы инкапсулировал логику по получению документов. Тогда не будет возникать таких вопросов, ибо можно будет просто поменять способ краулинга.
Вопрос не в том, должен ли парсер знать о документах, которые он выкачивает, или нет.
Давайте еще раз посмотрим на код в статье. Имеется метод loadUsingCurl($url), в который передается $url скачиваемой страницы, как параметр. В теле метода я вижу, что этот url используется только как параметр-реферер для cURL. А фактическая работы выполняется для авторизации (используется /login/login). Вопрос. Каким образом тогда загружается содержимое страницы $url? Может, я просто чего-то недопонимаю, не спорю. Но хотелось бы разобраться.
Действие авторизации (/login/login), после успешной операции, перенаправляет нас на главную страницу, уже в авторизированном аккаунте, после уже мы перенаправляем на нужную нам страницу, которую указываем в параметре CURLOPT_REFERER (в ответе получая уже эту страницу).
Действительно, все так и есть. Я сейчас накидал себе тестовый пример: index.php POST-запросом при помощи cURL передает некоторые параметры в test.php, который в свою очередь просто через header() редиректит на load,php. В итоге, запрашивая index.php, я получаю содержимое, формируемое load.php.
В реальном проекте выносил подобные действие в отдельный абстрактный класс, тут же подумал что действие слишком обзорное и можно оставить это в одном компоненте, но логика взяла гору, прислушался к совету и присмотрелся к Goutte. Так что немного позже обновлю статью.
UFO just landed and posted this here
Спасибо, интересное решение. Сначала подумал что это что-то подобное как Zend\Dom\Query, Zend\Http только на другом решении основано.
Как это решение по производительности?
UFO just landed and posted this here
UFO just landed and posted this here
Sign up to leave a comment.

Articles