私は自分自身のPHP MVCウェブサイトを作成しています。PHPでMVCモデルクラスを正しく作成する
私はDBと復帰への接続を作成する機能を持っているモデルクラスを持っている私は、ビュー、モデル、およびコントローラを作成しましたが、私は私のクラスを使用してトラブルを抱えて、適切にオブジェクト...
ていますいくつかのデータを配列に格納します。この関数は、index.phpがアクセスされたときにコントローラによってアクセスされます。次に、データをページングを使用してhtmlテーブルに出力します。
私がページングの次のページをクリックすると、モデルから同じ配列が取得されます。ただし、関数がすべてのSQLを再作成しているため、再度冗長に見えます。私はこれをおそらく基本的なoo prgamming私がモデルのクラスを作成する方法を教えてください。次のデータのチャンクを取得するたびに、最初から作成しなくても配列を再利用することができます。
私のモデルクラスの概要は次のとおりですdbコマンドに関するすべてのコードを削除し、簡単にするために配列を作成しました。クラスを構造化して、配列を一度作成してから、必要なときにアプリケーション全体に再利用できるようにするにはどうすればいいですか?前もって感謝します。
<?php
class Pagination_m extends CI_Model {
public $myarray = array();
public function get_data()
{
//sql connection implemented
//Sql query executed
//create an array
//return the array to index.php
return $myarray;
}
public function get_array()
{
//all other pages clicked will just return the created array rather than doing all the database work again..
return $myarray;
}
}
?>
あなたの回答はありがたいですが、私はこの段階でどのようにページングを実装しているのか心配していませんが、データベースに戻らずにアプリケーションの複数の領域に配列を共有することについて詳しく説明します。ありがとう。 – Craigoh1
したがって、複数のHTTPリクエストで同じ読み込まれたデータを使用したいとします。 phpはJavaのようなアプリケーションコンテキストを持っていないので、これは不可能です。この問題を解決するには、キャッシュファイルを作成する必要があり、httpリクエストが実行されるたびに、アプリケーションはそのデータを配列に再度取得します。または、一度のHTTPリクエストの生存期間中にそのデータを共有したい場合は、静的変数で配列を変換するか、UIとモデルの間のメディエータになるため、コントローラのデータを保持する責任を渡します。 –