2009-11-07 69 views
7

好的,我知道這是一個普遍的問題,但迄今爲止我發現的所有解決方案都包含缺少的分號或花括號,這兩種方法我都不知道。意外的T_VARIABLE錯誤

我有一個類,這個變量賦值工作正常:

session.php文件:

<?php 

    class session { 
    ... 
    var $host = 'localhost'; 
    ... 
    } 

?> 

大。但是,我想在另一個文件我的數據庫的細節,所以我這樣做:

db_creds.php:

<?php 

    var $db_creds = array(
     'host' => 'localhost', 
     ... 
    ); 

?> 

session.php文件

<?php 

    include('db_creds.php'); 

    class session { 
    ... 
    var $host = $db_creds['host']; 
    ... 
    } 

?> 

,然後給了我此錯誤:Parse error: syntax error, unexpected T_VARIABLE in ../session.php on line 74,其中第74行是我的var $host分配。

我甚至嘗試在session.php文件這樣做,只是要確定這個問題是不是在包括:

session.php文件

<?php 

    # include('db_creds.php'); 

    class session { 
    ... 
    var $db_host = 'localhost'; 
    var $host = $db_host; 
    ... 
    } 

?> 

...但是,只是拋出與上面相同的錯誤。

誰能告訴我這裏發生了什麼?我在我的智慧結束!

回答

9

變量這裏不允許,性質必須由常量在PHP初始化:

[…] this initialization must be a constant value

[Source: php.net manual]

使用構造並初始化正確的值:

class session { 
    var $host; 

    function __construct() { 
     $this->host = $db_creds['host']; 
    } 
} 
+0

啊,明白了。仍然是PHP類和什麼新的。謝謝! +1 – neezer

-1
  1. 類名中的第一個字母應該是大寫(class Session)

  2. 你寫一個構造函數

  3. 類的屬性與$這個 - 訪問>屬性

+0

-1點1是主觀的,點2和點3與OP的問題無關。 – 2012-07-23 21:49:38

相關問題