这可能是微不足道的,但我发疯了。 为什么以下IS工作:
class myClass {
public function __construct() {
$ch = curl_init("http://myserver.com/myscript.php");
$fields = array('myKey' => 'myValue');
curl_setopt($ch,CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_POSTFIELDS, http_build_query($fields));
$result = curl_exec($ch);
curl_close($ch);
echo curl_error($ch);
echo $result
}
}
$instance = new myClass();
......或......
class myClass {
private $uri = "http://myserver.com/myscript.php"; // <<---
public function __construct() {
$ch = curl_init($uri); // <<--
$fields = array('myKey' => 'myValue');
curl_setopt($ch,CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_POSTFIELDS, http_build_query($fields));
$result = curl_exec($ch);
curl_close($ch);
echo curl_error($ch);
echo $result
}
}
$instance = new myClass();
......虽然这不起作用:
class myClass {
const URI = "http://myserver.com/myscript.php"; // <<---
public function __construct() {
$ch = curl_init(URI); // <<--
$fields = array('myKey' => 'myValue');
curl_setopt($ch,CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_POSTFIELDS, http_build_query($fields));
$result = curl_exec($ch);
curl_close($ch);
echo curl_error($ch);
echo $result
}
}
$instance = new myClass();
我收到以下卷曲错误:
"Could not resolve remote host URI"
看起来const字符串不会在函数curl_init中展开。如果我改用curl_setopt,也会发生同样的情况。 我逛了一圈,但是,唉,没有结果。 有什么想法吗?
编辑:我为错字道歉。我已经编写了代码思考常量问题。这就是为什么我没有注意公共功能&#34;。那不是我的问题。我已经纠正了代码。不,据我所知,没有PHP的版本可以省略&#34;公共功能&#34;在__construct之前。