메신저 추상 클래스에서 좋은 연습을 시도하는 방법 그래서 간단한 컬 래퍼 클래스를 만들었지 만 불행히도 그것은 작동하지 않습니다.
추상적추상 클래스를 사용하는 간단한 컬 래퍼 메소드?
<?php
abstract class curl{
private $url;
public function __construct($url){
$this->url = $url ;
}
public function curl_grab_page()
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_URL, $this->url);
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
ob_start(); // prevent any output
return curl_exec ($ch); // execute the curl command
ob_end_clean(); // stop preventing output
curl_close ($ch);
}
public abstract function getHTML();
}
?>
아이
<?php
class google extends curl{
private $url;
function __construct($url) {
parent::__construct($url);
}
function curl_grab_page(){
parent::curl_grab_page();
}
function getHTML(){
return $this->curl_grab_page();
}
}
는이 내가 내 첫 페이지에 전화하는 방법입니다.
<?php
include 'classes/class.curl.php';
include 'classes/class.google.php';
$google = new google('http://www.google.com/');
echo $google->getHTML();
?>
아무 것도 출력하지 않았습니다.
public function curl_grab_page()
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_URL, $this->url);
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
// Don't need any output buffering b/c you set CURLOPT_RETURNTRANSFER to true, which means the results will be returned via curl_exec
//ob_start(); // prevent any output
//return curl_exec ($ch); // execute the curl command
//ob_end_clean(); // stop preventing output
$contents = curl_exec($ch);
curl_close ($ch);
return $contents;
}
을 그리고 자식 클래스 :
내가 별도로 기능을 시도하고 당신이 반환을 호출하기 전에 출력 버퍼의 결과를 지역화하지 않는 것처럼
'new $ google' =>'new NULL' => 치명적 오류 ...'$'를 버리십시오. – Wrikken
시도해보십시오.'$ google = new google ('http://www.google.com/'); ' –
나는 그것을 떨어 뜨 렸지만 여전히 아무것도 가지고 있지 않다. –