在PHP中连接lang CONST和STR CONST

时间:2013-03-12 16:02:24

标签: php const concatenation string-concatenation

尝试连接:

<?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或静态,它是一个简单的变量。

由于

4 个答案:

答案 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';
  }
}