2017-03-14 9 views
0

私は学習目的でPHPフレームワーク(MVC)を構築しています。私はコントローラからビューに変数を送るのに助けが必要です。コントローラからの変数をPHPで表示するには

にHomeController私は私の見解で$some_var変数にアクセスできるようにしたい

<?php 
class HomeController{ 
    public function home() 
    { 
     $some_var = "Do Something"; 
     return view("home.php",compact('some_var')); 
    } 
} 
?> 

ビュー

<h3>$some_var</h3> 
+0

index.phpファイル内$variableにアクセスできるようになりそして、あなたの質問は何ですか? –

+0

は、コントローラデータをビューファイルに渡すためのSMARTYテンプレートを推奨します。 SMARTYとコードを統合する方法については、このリンクを参照してください。http://codesamplez.com/development/smarty-basics-tutorial –

+0

このlaravelフレームワークはありますか、カスタムフレームワークを構築しようとしていますか? –

答えて

1

からである参照here.からこのマニュアルどのようにCodeIgniterのロードビューファイルを読み込み、どのように内部的に$this->load->view('view', $data); htmlファイルでアクセス可能なコントローラからの変数は、から変数を取得しますhtmlファイル

<?php 

// Controller Class 

class Controller 
{ 
    public function someMethod() 
    { 
     $variable = "SomeVar"; 
     return view("home.php",compact('variable')); 
    } 
} 

// template loader 

function view($page,$variables=[]) 
{ 
    if(count($variables)) 
    { 
     extract($variables); 
    } 
    require $page; 
} 

を含む前に、PHPのextract機能extract function documentationを使っ機能は、これは

-1
<?php 
class HomeController{ 
    public function home() 
    { 
     $some_var = "Do Something"; 
     return view("home")->with('some_var',$some_var); 
    } 
} 
?> 
+3

コードを削除するだけでなく、彼とあなたのコードで何が起こっているのかを説明するのもいいでしょう。これは、著者や他のユーザの質問に役立ちます。それがうまくいくといいですが、私の意見では**がなぜもっと重要かを知っています。 – Nrzonline

0

あなたは取得します基本的な考え方view()関数は、以下からデータを読み込みます。

view()機能の作品はpublic function view()機能の次のコード

public function view($view, $vars = array(), $return = FALSE) 
{ 
    return $this->_ci_load(array('_ci_view' => $view, '_ci_vars' => $this->_ci_prepare_view_vars($vars), '_ci_return' => $return)); 
} 

詳細を作るためにhere.

関連する問題