В связи с тем что только учусь писать классами то хотелось бы у вас получить советы по созданию из этого класса некого эталона, что бы смотря на него я писал другие классы.
class Post
{
private $username;
private $password;
private $url;
private $title;
private $tags;
private $description;
private $userAgent='User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Widows NT)';
function user($username,$password)
{
$this->password=$password;
$this->username=$username;
}
function marker_url($url)
{
$this->url=$url;
}
function marker_title($title)
{
$this->title=$title;
}
function marker_tags($tags)
{
$this->tags=$tags;
}
function marker_description($description)
{
$this->description=$description;
}
function user_agent($userAgent)
{
$this->userAgent=$userAgent;
}
function show_marker()
{
$url="http://bobrdobr.ru/login/";
$post=array("username"=>$this->username,
"password"=>$this->password);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, $this->userAgent);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIE, "bobrologin=1");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
// Получаем и сохраняем куки
curl_setopt($ch, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT'].'/cookie.txt');
$result = curl_exec($ch);
$sess_cookie=substr($result, strpos($result, "sessionid=")+10, 32);
// Этот блок для того что бы получить значение переменной name="killspammers"
$url = "http://bobrdobr.ru/new_bookmark.html";
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, $this->userAgent);
curl_setopt($ch, CURLOPT_COOKIE, $sess_cookie);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
// тут мы ее получаем
$s_hidden=substr($result, strpos($result, 'name="killspammers" value=')+27, 26);
$result = curl_exec($ch);
//сформировали строку пост данных состоящую из пар поле=>значение
$post=array("url"=>$this->url,
"name"=>$this->title,
"tags"=>$this->tags,
"description"=>$this->description,
"killspammers"=>$s_hidden);
//адрес на который шлем запрос (выдираем значение из action нашей формы)
curl_setopt($ch, CURLOPT_URL, "http://bobrdobr.ru/new_bookmark.html?next=None&copied=");
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, $this->userAgent);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
//Показываем полученные ранее куки
//говорим что у нас есть POST данные для сервера
//указываем на наши POST данные
curl_setopt($ch, CURLOPT_COOKIE, $sess_cookie);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$result = curl_exec($ch);
curl_close($ch);
}
}
$post=new Post();
$post->user("6o6pbI","123123");
$post->marker_url("n-professor.ru");
$post->marker_title("Записки профессора");
$post->marker_tags("PHP, СЕО, SEO, JS, JavaScript, JQuery");
$post->marker_description("Блог начинающего программиста.Много полезной информации для новичков и огромный простор для критики от проффи.");
$post->show_marker();