Php 表达式不允许作为字段默认值(在oop上)
我有一个connection.php类,它在这里用于使用PDO对象连接MySQL数据库的字符串 然后,我在query.php页面中调用connection.php类,但是当我尝试从connection.php获取PDO对象时,我得到一个错误“Expression is not allowed as field default value”。(顺便说一句,我的IDE是phpstorm) 这里是connection.phpPhp 表达式不允许作为字段默认值(在oop上),php,oop,Php,Oop,我有一个connection.php类,它在这里用于使用PDO对象连接MySQL数据库的字符串 然后,我在query.php页面中调用connection.php类,但是当我尝试从connection.php获取PDO对象时,我得到一个错误“Expression is not allowed as field default value”。(顺便说一句,我的IDE是phpstorm) 这里是connection.php class connection { private $host =
class connection
{
private $host = "XXX";
private $db = "XXX";
private $login = "XXX";
private $password = "XXX";
public function conn()
{
try
{
$bddconn = new PDO('mysql:host='.$this->host.';dbname='.$this->db, $this->login, $this->password);
}
catch(PDOException $e)
{
echo "Connection failed " . $e->getMessage();
}
return $bddconn;
}
}
下面是query.php
class query extends connection
{
public $bdd = parent::conn();
public function checkUser($login, $password)
{
$query = 'SELECT login, password FROM user WHERE login = ? AND password = ?;';
$req = $this->bdd->prepare($query);
return $req->execute(array($login, $password));
}
}
但是,此时IDE在query.php第2行(public$bdd=parent::conn();)上显示错误“Expression is not allowed as field default value”
我的代码有什么问题
public $bdd = parent::conn();
不能从属性声明中的函数设置属性值
必须在方法中初始化属性值,例如在构造函数中
class query extends connection
{
public $bdd;
public function __construct()
{
parent::__construct();
$this->bdd = parent::conn();
}
}
不能从属性声明中的函数设置属性值
必须在方法中初始化属性值,例如在构造函数中
class query extends connection
{
public $bdd;
public function __construct()
{
parent::__construct();
$this->bdd = parent::conn();
}
}
正如它所说的,不能将表达式(parent::conn()是一个表达式)作为默认属性值。改为在
\uuu construct
中调用它……您是否尝试用谷歌搜索该错误消息?如果有,请在您的案例中链接,这是最有帮助的;)它可能与它所说的内容重复,不能将表达式(parent::conn()是一个表达式)作为默认属性值。改为在\uuu construct
中调用它……您是否尝试用谷歌搜索该错误消息?如果有,请在您的案例中链接,这是最有帮助的;)可能重复的