Обновить

Комментарии 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. Так что немного позже обновлю статью.
НЛО прилетело и опубликовало эту надпись здесь
Спасибо, интересное решение. Сначала подумал что это что-то подобное как Zend\Dom\Query, Zend\Http только на другом решении основано.
Как это решение по производительности?
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации