2012-09-06 82 views
0

我有以下PHP錯誤:PHP/CodeIgniter-未定義可變構造

甲PHP錯誤遇到

嚴重性:注意

消息:未定義變量:噸

and

甲PHP錯誤遇到

嚴重性:警告

消息:缺少參數1用於MyClass的:: __構建體(),被稱爲在 XXX上線1011 和定義

我的控制器包含:

$this->load->model('mymodel'); 
    $i = $this->mymodel->func(1); 
    print_r($i); 

爲MyModel:

$test = new myclass("foo", "bar"); 
$myarray[] = $test; 
return $myarray 

MyClass的:

class myclass { 

var $a; 
var $b; 

public function __construct($t, $l) // ERROR 2 
{ 
    $this->a = $t; // ERROR 1 
    $this->b = $l; 
} 

} 

注意的print_r($ a)以控制打印正確的與內容對象..

感謝

+0

PHP爲您提供錯誤的行數。你爲什麼不發佈該代碼... –

+0

你說得對,我在關心的行前編輯了代碼,並加上了// ERROR。 –

+1

這是不可能的。創建一個強大的單個文件示例並將其放在pastebin.com上,以便我們可以運行它並查看問題 – zerkms

回答

0

還好吧,這是由笨引起的。

MyClass的在一個單獨的文件中聲明,並通過使用爲MyModel加載:

$CI =& get_instance(); 
    $CI->load->library('myclass', $params); 

當加載圖書館,笨創建的一個實例MyClass的作爲一個單身,但它不傳輸任何參數。爲了防止這種錯誤,你必須加載的lib之前給參數:

$params = array('type' => "a", 'loc' => "b"); 
    $CI =& get_instance(); 
    $CI->load->library('myclass', $params); 

注意,它必須一個數組($ params)方法,而不是一個參數。