在curl_init / curl_setopt

时间:2015-06-28 08:01:00

标签: php curl

这可能是微不足道的,但我发疯了。 为什么以下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之前。

0 个答案:

没有答案