Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011 Откуда: Одесса, Украина
Помог: 131 раз(а)
стояла задача работать с разными сервисами имитируя работу браузера, то есть логин и выполнение некоторых действий (отправка различных запросов). в результате получилось вот такое дело
так что может кому то пригодится. хотя уверен что в сети полно подобного хлама. но имхо свое было понятней и быстрее
----- Just do it
teddy
Отправлено: 21 Июля, 2014 - 22:18:49
Участник
Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013
Помог: 91 раз(а)
а почему свойства url и cookieFile публичные? они ж не используются вне контекста класса, есть смысл объявить их как private. тоже самое касается и метода sendRequest.
Методы класса не будут работать без параметра URL, посему странно то, что данный параметр не является обязательным.
Так же отсутствует возможность применять доп. конфигурацию при отправке запроса, может тебе этих параметров и достаточно а кому то может и нет... слишком все зашито..
Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011 Откуда: Одесса, Украина
Помог: 131 раз(а)
sendRequest как раз специально и создан для доп конфигурации
что касается свойств, то тут дело не страшное
для меня это удобно. так как имеется набор сайтов и соответственно классов с которыми нужно работать вот так
здесь специально отсутствуют кастомные методы. то есть есть просто 4 метода, которые работают и всё. если кому-то нужно, может с легкостью подкрутить под себя или усовершенствовать.
людей часто интересуют вопросы как курлом что-то делать. почему бы не рассмотреть это как пример. при этом этот пример в моем случае приносит непосредственную пользу и работает в живом проекте
ну и отсутствие каких-либо зависимостей делает этот кусок кода вполне самодостаточным и пригодным для использования где угодно
----- Just do it
armancho7777777
Отправлено: 23 Июля, 2014 - 18:32:21
Активный участник
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
Зачем инициализировать curl каждый раз в методе getCurl ?
Достаточно одного раза в конструкторе.
Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008 Откуда: из города
Помог: 90 раз(а)
Panoptik пишет:
хотя уверен что в сети полно подобного хлама. но имхо свое было понятней и быстрее
Есть такой очень популярный http клиент для PHP с хорошей документацией — Guzzle.
Panoptik
Отправлено: 23 Июля, 2014 - 18:52:37
Постоянный участник
Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011 Откуда: Одесса, Украина
Помог: 131 раз(а)
не встречал ранее.
возьму на заметку
единственное что у меня всего около 100 строк, а там целая пачка. (Добавление) armancho7777777
а как на счет контроля за установлением свойств? к примеру у меня выполняется 10 запросов. в середине мне нужно отправить заголовок аякс, а после не отправлять. есть легкий способ следать за включенными оптами?
----- Just do it
armancho7777777
Отправлено: 23 Июля, 2014 - 19:01:16
Активный участник
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
Реализовать метод "lastRequestUrl" (Добавление)
Panoptik пишет:
а как на счет контроля за установлением свойств?
Записывать всё в массив в методе setopt и устанавливать опции перед самим запросом. (Добавление)
Реализовать метод "setHeader" (Добавление)
Так же можно реализовать метод "newInit", в котором, например, клонируется текущий объект перезаписывая/сбрасывая определённые свойства/опции. (Добавление)
Panoptik пишет:
а после не отправлять
Реализовать метод "setOnlyHeader", или "setOnlyOptions"
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.