Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как cURL указатель сделать глобальным?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Ezi
Отправлено: 13 Февраля, 2012 - 01:45:41
Post Id



Частый гость


Покинул форум
Сообщений всего: 242
Дата рег-ции: Дек. 2010  


Помог: 2 раз(а)




Всем привет, учусь ООП, возникла такая проблема, пишу класс, во всём классе идет использование курла, я в конструкторе написал:

PHP:
скопировать код в буфер обмена
  1.     public function __construct() {
  2.         $ch = curl_init();
  3.         curl_setopt($ch, CURLOPT_COOKIESESSION, 0);
  4.         curl_setopt($ch, CURLOPT_VERBOSE, 1);
  5.         curl_setopt($ch, CURLOPT_USERAGENT, $this->brouser);
  6.         curl_setopt($ch, CURLOPT_HEADER, 0);
  7.         curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  8.     }


А как теперь мне бы сделать чтобы указатель на курл был виден во всем скрипте и всех других функциях?


-----
Хочешь жить - умей вертеться
 
 Top
sKaa
Отправлено: 13 Февраля, 2012 - 01:52:38
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011  
Откуда: Россия г. Нижний Новгород


Помог: 25 раз(а)

[+]


PHP:
скопировать код в буфер обмена
  1. class classname {
  2.  private $ch;
  3.   public function __construct() {
  4.         $ch = curl_init();
  5.         curl_setopt($ch, CURLOPT_COOKIESESSION, 0);
  6.         curl_setopt($ch, CURLOPT_VERBOSE, 1);
  7.         curl_setopt($ch, CURLOPT_USERAGENT, $this->brouser);
  8.         curl_setopt($ch, CURLOPT_HEADER, 0);
  9.         curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  10.         $this->ch = $ch;
  11.     }
  12.  
  13.  
  14. }
 
 Top
Ezi
Отправлено: 13 Февраля, 2012 - 01:56:03
Post Id



Частый гость


Покинул форум
Сообщений всего: 242
Дата рег-ции: Дек. 2010  


Помог: 2 раз(а)




А зачем свойство CH делать приватным?))


-----
Хочешь жить - умей вертеться
 
 Top
sKaa
Отправлено: 13 Февраля, 2012 - 01:58:43
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011  
Откуда: Россия г. Нижний Новгород


Помог: 25 раз(а)

[+]


Ezi а зачем его делать публичным если с этим указателем будет работать только этот класс? - привычка, стаж как никак )))

(Отредактировано автором: 13 Февраля, 2012 - 01:59:06)

 
 Top
Ezi
Отправлено: 13 Февраля, 2012 - 02:05:15
Post Id



Частый гость


Покинул форум
Сообщений всего: 242
Дата рег-ции: Дек. 2010  


Помог: 2 раз(а)




sKaa, благодарю, всё работает!

А подскажи о правилах хорошего тона в коде, как правильно имя класса обзывать, методы, и свойства, ну например одно начинать с большой буквы, другое с маленькой, ну и т.п.?


Вообще первый день ООП осваиваю, хорошая концепция, очень удобно разрабатывать скрипты + редактор кода СУПЕР (phpDesigner)

(Добавление)
А ещё, по какой схеме делать файлы настроек, ну я бота допустим пишу, для нубов отдельный файлик с настройками есть, я там обзываю переменные, затем в скрипте свойству класса назначаю эту переменную, верное ли решение?))


-----
Хочешь жить - умей вертеться
 
 Top
sKaa
Отправлено: 13 Февраля, 2012 - 02:14:43
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011  
Откуда: Россия г. Нижний Новгород


Помог: 25 раз(а)

[+]


Ezi сложно сказать. У всех свой "тон" в коде. Думаю надо самому для себя определиться в каком стиле ты будешь всё делать.
Я например стараюсь к имени приватных методов дописывать "__" - "__clear_data()", чтоб сразу было видно что метод приватный. Название класса у меня всегда с заглавной.
Как называть классы, методы и свойства - по прямому их назначению. Наверное это всё с опытом приходит )
(Добавление)
Ezi пишет:
А ещё, по какой схеме делать файлы настроек, ну я бота допустим пишу, для нубов отдельный файлик с настройками есть, я там обзываю переменные, затем в скрипте свойству класса назначаю эту переменную, верное ли решение?))

Я не до конца понял саму мысль. Если можно пример приведи, что у тебя там за насторойки и зачем ты их классу в свойства суешь )
 
 Top
Ezi
Отправлено: 13 Февраля, 2012 - 02:23:12
Post Id



Частый гость


Покинул форум
Сообщений всего: 242
Дата рег-ции: Дек. 2010  


Помог: 2 раз(а)




sKaa пишет:
Я не до конца понял саму мысль. Если можно пример приведи, что у тебя там за насторойки и зачем ты их классу в свойства суешь )


Ну например логин осушествляется по ссылке с логином и хеш суммой пароля, User Agent(опционально) тоже можно указать, дак вот логин-ссылку я и пихаю в класс, хотя её можно и как параметр метода сувать, но Юзер агент то опционален, поэтому в классе стандартный указан, а если юзер пожелал его изменить на свой, то тогда его уже будет использоваться


-----
Хочешь жить - умей вертеться
 
 Top
sKaa
Отправлено: 13 Февраля, 2012 - 02:42:09
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011  
Откуда: Россия г. Нижний Новгород


Помог: 25 раз(а)

[+]


Вообще существуют паттерны(шаблоны) программирования. Чаще всего название паттерна уже подразумевает задачу паттерна. Registry, singleton, adapter, activerecord ... их очень много. Ты даже можешь пользоваться некоторыми и не зная что это паттерны )
В твоём случае подходит ActiveRecord - прочитай про него где нибудь. Хотя можно и без него, смотря какие задачи.
Нужен класс User

Спойлер (Отобразить)

И все остальные методы класса будут проверять свойство класса $auth, если оно = false, они будут возвращать "Пожалуйста авторизуйтесь."
Так вот если ещё и прикрутить ActiveRecord (class User extends ActiveUser { .. )
то смысл должен быть таким : изменение объекта User - будет сразу отражаться в базе.
Тогда не нужно будет каждый раз указывать UserAgent итд. Думаю как-то так в общих чертах.

(Отредактировано автором: 13 Февраля, 2012 - 02:43:16)

 
 Top
Ezi
Отправлено: 13 Февраля, 2012 - 02:48:39
Post Id



Частый гость


Покинул форум
Сообщений всего: 242
Дата рег-ции: Дек. 2010  


Помог: 2 раз(а)




sKaa, Радость что-то мне кажется это уж слишком грубый план реализации моей задачи, но всё равно спасибо за советы! Про АктивРекорд сейчас почитаю))


-----
Хочешь жить - умей вертеться
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB