2012-03-11 21 views
0

まず、自分の問題を説明するよりも自分のコードを見てください。他のPHPファイルでコントローラ関数を呼び出す方法 - codigniter

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 

class Category extends CI_Controller { 

function Category() 
{ 
    parent::__construct(); 
    $this->load->model('category_model'); 
} 
public function index() 
{ 


} 

public function _left() 
{ 
    echo "side"; 
    $data['all_categories'] = $this->category_model->getallcategory(); 

    $this->load->view('include/left', $data); 
} 
} 

これは私が私のウェブサイトの左側のバーにあるすべてのカテゴリをリストされている左()関数を持って、私のカテゴリコントローラです。

left()関数のデータを別のPHPファイルに表示するにはどうすればいいですか?

答えて

3

...通常、あなたはヘルパーライブラリまたはプラグインとしてそれらを置きたいと思うでしょうあなたは本当にあなたが繰り返しまたはコントローラ内の他のファイルから呼び出してしまう機能を持つべきではありません...

あなたが作成した関数を使用すると、他のビューを呼び出すビューを持つことができるかどうか分かりますか?たとえば、ヘッダービュー、コントローラーの$ dataで参照されるビュー、および左のビューなどをロードするテンプレートビューがあります。

MVCの詳細と設定方法あなたはあなたのファイルをもう少しレイアウトすると、頭痛や厄介なコードを大幅に節約できます。

運が良かった!

0

あなたは1つの関数を作成し、この関数から多くのビューを呼び出します。私はヘルパーを作成する方法の詳細については

をヘルパーを書いて、あなたの設定ファイルでそれを自動ロード検討する またはメインビューから、右、

0

を中心ビューと負荷を1つ左のメインビューや他のトップを作成するには、ここに行きますCodeIgniter: Create new helper?またはCodeIgniterのユーザーガイドを確認してください。

0

免責事項:これは、私は誰もが「役に立つ」になろうとしている知っているRANT

ですが、してください、「ヘルパー」クラスと「ヘルパー」ファイルを使用して中止してくださいしてください。モデルは自分のデータを取得し、彼らは自分のデータを保持し、要するに、彼らは助けをする!!

例:

単に「user.php」というファイルにメソッドを入れて、「userhelper.php」と呼ばれるファイルを作成しないでください。これはモデルと呼ばれます。この時点で、「私のプロジェクトの他の部分や他の場所とモデルを共有する必要がありますが、モデルが異なって見えるようにしたらどうなりますか?」それで、あなたはビューモデルを使うでしょう。ビューモデルには永続性の情報はありません。実際、モデルとはそれ自体の存在を正当化するのに十分な違いがあります。

ラップアップするには、モデル自体にCRUDを入れます。

CodeIgniterが "ヘルパー"フレームワークでこれを奨励するかどうかは気にしません。それでも誤っていてOOPではありません。あなたは面倒なコードを書くことになり、場所全体に労力をかけることになります。

関連する問題