尝试连接:
<?php
class MD_ImpFormularios extends CI_Model {
private $dir_forms = __DIR__ . 'Hola';
给出:
PHP Parse error: syntax error, unexpected '.', expecting ',' or ';' in md_impformularios.php on line 3
但我在这里看不出任何错误,它不是CONST或静态,它是一个简单的变量。
由于
答案 0 :(得分:4)
声明类常量或变量(在php中)时,不能使用conctenation。 您应该声明为空字符串,并且在构造函数中,您可以为此变量赋值。
<?php
class MD_ImpFormularios extends CI_Model {
private $dir_forms = '';
....
public function __construct(){
$this->dir_forms = __DIR__ . 'Hola'
}
答案 1 :(得分:2)
在声明类变量时不要进行连接。
private $dir_forms = __DIR__ . 'Hola';
// ^ This is NOT allowed during declaration
您可以使用构造函数来设置此类变量。
private $dir_forms;
public function __construct() {
$this -> dir_forms = __DIR__ . 'Hola';
}
答案 2 :(得分:1)
这是因为您连接字符串以设置属性,这是不允许的。您可以在PHP documentation:
中看到此示例 // invalid property declarations:
public $var1 = 'hello ' . 'world';
您应该在构造函数中设置值。
答案 3 :(得分:0)
您不能在类属性声明中执行此操作。你必须在构造函数中执行它:
<?php
class MD_ImpFormularios extends CI_Model {
private $dir_forms;
public function __construct() {
$this->dir_forms = __DIR__ . 'Hola';
}
}