我自己一点一点地学习PHP OOP ......
我无法按照我想要的方式工作,我正在努力做到这一点:
http://localhost/test/class.php?action=delete
public $action;
public function __construct()
{
$this->action = isset($_GET['action']) ? $_GET['action'] : null;
$this->db = new Db();
$this->Select($action);
}
private function Select($action)
{
if ($action = 'delete')
{
echo "Here";
}
}
}
我认为这是非常基本的..但我自己无法得到解决方案..屏幕只是空白而没有错误,并且不显示任何内容。所以我无法搜索解决方案......
谢谢
答案 0 :(得分:2)
您可以在班级的构造函数中传递$_GET
:
Class GetClass {
public $action;
public function __construct($get){
$this->action = isset($get['action']) ? $get['action'] : null;
$this->db = new Db();
$this->Select($this->action);
}
private function Select($action){
if (strtolower($action) == 'delete') {
echo "Here";
}
}
}
$getClass = new GetClass($_GET);
答案 1 :(得分:1)
只需更改该行。
$this->Select($action);
到
$this->Select($this->action);
并且您还指定不比较if
条件
if ($action = 'delete') //assignment operator =
应该是
if ($action == 'delete') //comparison operator ==
当从对象上下文中调用方法时,伪变量$ this可用。 $ this是对调用对象的引用(通常是方法所属的对象,但如果从辅助对象的上下文中静态调用该方法,则可能是另一个对象)。