【发布时间】:2015-04-30 07:08:08
【问题描述】:
我收到了这个错误
可捕获的致命错误:参数 1 传递给 classes\session::session_check() 必须是 classes\conf\collections,没有给出,调用 /var/www/html/test1/index.php 在第 48 行并在 /var/www/src/classes/session.php 第 18 行
我的收藏类是
namespace classes\conf{
class collections{
private $mongo;
public function __construct(){
$this -> mongo = new \MongoClient();
}
public function members(){
return $this -> mongo -> publicData -> members;
}
}
}
我的课是
namespace classes{
use \classes\conf\collections;
class session{
private $session_id;
private $session_token;
private $cookie_token;
public function __construct(){
$this -> session_id = session_id();
$this -> session_token = (isset($_SESSION['token'])) ? $_SESSION['token'] : NULL;
$this -> cookie_token = (isset($_COOKIE['token'])) ? $_COOKIE['token'] : NULL;
echo 'Hey';
}
public function session_check(collections $collection){
$data = $collection -> members() -> findone(
array(
'account.username' => 'uday'
),
array(
'_id' => 1
)
);
return true;
}
}
}
我正在使用spl_autoload 来包含课程。如果我在 session_check 函数之外创建新对象并作为变量传递,那么一切正常。但这也应该有效。谁能解释为什么它显示胎儿错误。
为什么collections $collection 没有创建对象,因为错误显示none given?
【问题讨论】:
标签: php class oop namespaces