PHP で開発された MVC フレームワークは、PHP を初めて使用する方にとっては意味が分からないかもしれませんが、それでも構いませんので、今日の記事では、MVC フレームワークについての私の理解と開発方法について詳しくお話します。 PHP を使用した MVC フレームワークメソッド。
MVC を使用すると、プログラムに多くのデータベース操作が追加され、パフォーマンスが低下します。これには本当に驚きました。 MVC は単なるフレームワークであり、データベース操作とは何の関係もありません。 MVC は明確なプログラミング開発モデルを提供するだけであり、これを適切に扱える限り、不必要なデータベース操作を大量に実行することは不可能です。 MVC により、プログラマが知らないうちにさらに多くのデータベース操作を実行できるようになる場合、それは明らかに優れた MVC アーキテクチャとは言えません。 MVC はシンプルな開発フレームワークを提供するだけでよく、多くのライブラリ クラスを統合する必要はなく、プログラマがライブラリ クラスを選択するのが最善だと思います。
私は MVC の理論を深く勉強したことがありません。個人的には、モデルはデータベースのカプセル化です。モデル メソッドを呼び出すことで、対応するデータを取得できますが、プログラマはそのことを気にする必要はありません。実装の詳細。実際の開発では、データベースのテーブルがモデルに相当することが多いでしょう。
たとえば、ユーザー情報テーブル userinfo はモデル ユーザーに対応します。モデル ユーザーの add() メソッドを呼び出すことで、データベースにデータを追加できます。select() を通じて、次のことができます。クエリ.アップデートで更新できます。同時に、モデルは、mysql、oracle、sql のいずれを使用するかに関係なく、特定のデータベース タイプから独立している必要があります。 サーバ。
同時に、WEB 開発で ROR を使用することはお勧めしませんが、複雑な複数テーブルのクエリには SQL 言語を使用する方が便利で高速であり、パフォーマンスも優れています。 SQL の知識すらないプログラマーは、資格のあるプログラマーとは言えないと思います。したがって、直接 SQL クエリを実装するためのクエリ メソッドをモデルに提供します。
以下は、PHP で MVC フレームワークを開発した場合のおおよその結果です。
< ? class module{ var $mysql;//数据库操作类,可以是mysql,oracle,sql等等 var $tbname;//模型对应的表名称 var $debug=false;//是否是调试模式 function module($tbname,$db=''){}//构造函数 function _setDebug($debug=true){} //开启或者关闭调试模式 function add($row,$tbname=''){} //新增加一条记录 function query($strsql){}//直接查询sql语句 function count($where='',$tbname=''){ } //计数统计 function select($where='',$tbname=''){} //查询 function delete($where='',$tbname=''){} //删除满足条件的一个记录 function update($set,$where,$tbname=''){} //更新指定记录 function detail($where,$tbname=''){} //详细显示一条记录 } ?>
このモデルでは、配列とデータベース フィールドを使用して対応させます。初期の PHPBEAN では、オブジェクトを使用して対応していました。しかし後になって、PHP で MVC モデルを開発するこの方法は PHP では良くなく、不要なクラスが大量に追加されていると感じました。配列を使用する方が便利で優れています (PHP の配列は確かに優れており、JAVA よりもはるかに優れています)。
以下のデモでは、デモンストレーションに mysql データベースを使用し、データベース操作クラスは元のライブラリ クラスの 1 つから変更されました。
以下、デモの使用方法を詳しく説明します。 ^_^
元のパッケージのindex.phpに
< ? require_once(SITE_PATH.'/libs/phpbean.class.php'); require_once(SITE_PATH.'/libs/mysql.class.php'); $phpbean=new phpbean(); global $phpbean; $mysql=new mysql("localhost","****","****","52site"); $phpbean->register('db',$mysql); unset($mysql); ?>
を追加します。このPHP開発MVCモデルコードは主にMYSQLをレジストラに登録します。レジストラの使用原理については、私が翻訳した記事が 2 つあります。
次に、新しい mysqlController.class.php ファイルを作成します。コードは次のとおりです:
< ? /** * MVC演示demo * 仅仅实现最基本的MVC功能,不包含安全处理,数据过滤,及其他优化措施。 * @author:feifengxlq * @since:2007-1-24 * @copyright http://www.php.cn/ */ class mysqlController { var $module; function mysqlController(){ require_once(SITE_PATH.'/libs/module.class.php'); $this->module=new module('52site_siteinfo');//52site_siteinfo为表名称 $this->module->query("set names 'gb2312'");//如果是MYSQL5请加上这句 } function indexAction(){ print_r($this->module->select());//这样实现了读取数据 } } ?>
上記は、まずコントローラーのコンストラクターにモデルを追加します。次に、indexAction のモデル メソッドを呼び出してデータを表示します。これは最も単純なクエリ リストを実装します。
関連する推奨事項:
以上がmvcフレームワークとは何ですか? PHPでmvcフレームワークを開発する方法(コード付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。