2016-08-04 9 views
0

私はテンプレートを使ってテンプレートを作成したいと思います。PHP - 変数を初期化する関数

私がやりたい:

public function with($vars) 
{ 
    if(is_array($vars)) 
    { 
     foreach ($vars as $key => $value) 
     { 
      $$key = $value; 
     } 
    }else 
    { 
     die("La fonction with() demande un tableau en paramètre."); 
    } 
} 

私は正しい軌道に乗っています:ここで

$router->with(array(...)); 

は私の機能を持つのですか?

+3

のように、あなたのビューでそれを使用することができます。配列を使用し、キーでデータにアクセスするだけです。 – Rizier123

+0

これらの変数は 'with()'関数内にのみ存在し、関数が終了するとすぐに破棄されるため、まったく役に立たないでしょう。 –

+0

ええ、私はextract()関数を忘れました。すべてが改訂され、機能的です、ありがとう –

答えて

1

代わりに、あなたのテンプレートであなたのキーをvarsとして抽出することができます。この

function with($view, array $data = []) { 
    extract($data); 
    require $view . '.php'; 
} 

with('some_view', [ 
    'name' => 'John Doe' 
]); 

のように次に、あなたは私がすべてのこれらの変数を作成しないように

<h1><?= $name ?></h1>