thinkphp フレームワーク アプリケーションの概要

WBOY
リリース: 2016-06-13 13:02:32
オリジナル
929 人が閲覧しました

thinkphp フレームワークの使用の概要
以前に書いたので、ここに行ってください!
プロジェクトを開発したいので、TP を使用して迅速に構築します。TP は軽量で使いやすく、開発が速いため、優れたフレームワークだと感じています。いいえ、時間をかけて zend フレームワークの使用法を調べました。結局のところ、zend フレームワークは TP よりも豊富です。将来的には時間を見つけて勉強しますが、どちらもほぼ同じですが、それでも走行速度はzendよりも優れています。まだ巨大です。

TP の最も印象的な点は、その関連付けモデルです。データベースの関連付けは、プログラム開発において非常に重要な概念です。従来の SQL 言語を使用する場合は、関連付けを完了する必要があります。 JOIN ON と LEFT JOIN または RIGHT JOIN を使用すると、思考が複雑になることがよくありますが、TP はこのプロセスをモジュール式にカプセル化するため、いくつかの主要な属性を明示的に定義するだけで済みます。たとえば、

の場合。テーブル Profile は Dept テーブル

の id フィールドに関連付けられており、モジュール内で次のように定義されています:

protected $_link=array(

    'Dept'=> array(  

          'mapping_type'=>BELONGS_TO,  //映射类型,此处是属于的一对多关系

                   'class_name'=>'Dept', //要关联的数据表名(不含前缀)

                   'foreign_key'=>'userId', //Profile表中的与Dept表中id字段要关联的字段userId

                   'mapping_name'=>'dept', //映射名称,即在模板中要用到的关联名称

        // 定义更多的关联属性

                                 ……

                 ),

);
ログイン後にコピー


上記の内容を ProfileModel に入れますDept テーブルを関連付けるには、他の関連属性があります。

コントローラーで関連クエリを使用する場合は、次のようになります。

$Profile=D('Profile');

$data=$Profile->relation(true)->find(1);

print_r($data);

$Profile->display();
ログイン後にコピー


結果は次のとおりです:

array(

'id'           =>     1,

'account'      =>     'ThinkPHP',

'password'     =>     '123456',

'Dept'         => array(

                              'email'     =>'gs@123.com',

                              'nickname'  =>'状元秀',

   ),

 )
ログイン後にコピー


'as_fields'=>'email,nickname' が関連付けられた属性に追加される場合、次の結果については

array(

'id'           =>   1,

'account'      =>  'ThinkPHP',

'password'     => 'name',

'email'        =>'gs@123.com',

'nickname'     =>'状元秀',

 )
ログイン後にコピー


これは 1 つずつ挙げることはしませんが、これらの強力な機能の自動検証や自動完了など、多くの鋭い箇所があります。迅速な開発のためには、モジュール化されたテクノロジーを使用することが、確かに良い選択です。プログラミングにとって、それは、何百もの考え方の強みから学ぶための最後の手段です。 。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート