2012-05-18 8 views
8

codeigniterを使用しています。私はCodeIgniterの中でライブラリを定義し、そのconstructor.Thisでパラメータを期待していることは、私のライブラリのコードです - CodeIgniterのドキュメントでcodeigniterのコンストラクタにパラメータを渡してライブラリをロードする

################# [My Library Code Test_lib.php ] ######################## 
<?php 
class Test_lib 
{ 
var $params; 
public function __construct($params) 
{ 
    $this->params = $params; 
    echo $this->params; 
} 
} 

、あなたが二番目の引数にパラメータを渡すことができると述べています。 だから、私は以下のように、コントローラからそれを初期化しています - 私はエラー以下になっています

<?php 
class Test_cont extends CI_Controller { 
function __construct() 
{ 
    parent::__construct(); 
} 

function test() 
{ 
    $params = "abc"; 
    $this->load->library("test_lib",$params); 
} 
} 

-

A PHPエラーが重大度発生しました:警告メッセージ:欠落引数を.....

手伝ってください。

答えて

21

$paramsは配列でなければなりません。 From the documentation:ライブラリのロード機能で

あなたが動的に二番目のパラメータを経由して配列としてデータを渡すことができ、それがあなたのクラスのコンストラクタに渡されます:、あなたが望むあなたのケースでは

$params = array('type' => 'large', 'color' => 'red'); 

$this->load->library('Someclass', $params); 

このような何かをするために:

function test() 
{ 
    $params[] = "abc"; // $params is an array 
    $this->load->library("test_lib",$params); 
} 
+0

こんにちは私のコンストラクタは、関数__constructのようなものであるならば、我々は 'ライブラリ内の$ params' .. – user254153

+2

にアクセスする方法($ PARAM1 = nullを、$ PARAM2 = nullを、$ param3 = null)の後、どのようにパラメータを渡すかどうか/ –

+0

私は配列を渡したいとは思わない。 –

3

をあなただけのバリから$ paramsはを変更する必要があります配列することができる。これがうまく願っています

function test() 
{ 
    $params = array(1=>'abc'); 
    $this->load->library('test_lib',$params); 
} 
関連する問題