ホームページ > 記事 > PHPフレームワーク > thinkphpのモードは何ですか?
thinkphp は mvc モードです。 ThinkPHP は、MVC モデルに基づいており、マルチレイヤー (多層) 設計をサポートしており、エンタープライズ レベルのアプリケーション開発とアジャイルな WEB アプリケーション開発を簡素化するために生まれたオープンソースの軽量 PHP フレームワークです。
このチュートリアルの動作環境: Windows 7 システム、thinkphp v5.1 バージョン、Dell G3 コンピューター。
ThinkPHP は MVC モデルに基づいており、マルチレイヤー (多層) 設計をサポートしています。
ThinkPHP は、高速で互換性があり、シンプルで軽量な国産 PHP 開発フレームワークです。2006 年初頭に誕生し、以前は FCS として知られていました。2007 年の元旦に正式に ThinkPHP に名前が変更され、リリースされました。 Apache2 オープンソース契約に基づき、Struts から派生した構造を移植し、改良して完成させたと同時に、多くの優れた外国のフレームワークやパターンから学び、オブジェクト指向開発構造や MVC パターンを使用し、 Struts と TagLib (タグ ライブラリ)、RoR の ORM マッピングと ActiveRecord モデル。
M (モデル) – ThinkPHP のモデル クラス
Model
基本モデル クラスは Think\Model クラスであり、基本的な CURD、ActiveRecord モード、コヒーレントな操作、および統計クエリを完了します。一部の高度な機能は他のモデル拡張機能にカプセル化されています。
注: 基本モデル クラスの設計は非常に柔軟です。モデル定義を行わずに、関連するデータ テーブルに対して ORM および CURD 操作を実行することもできます。別個のビジネスをカプセル化する必要がある場合にのみ、ロジックを使用するには、モデル クラスを定義する必要があります。
モデル定義
モデルクラスは定義する必要はなく、独立したビジネスがある場合にのみ定義する必要があります。ロジックとか属性とか。
モデル クラスは通常、system\Think\Model クラスまたはそのサブクラスを継承する必要があります。Home\Model\UserModel クラスの定義は次のとおりです:
namespace Home\Model; use Think\Model; class UserModel extends Model{ }
モデルクラス データベースを操作するために使用されることが多く、システムの仕様に合わせてモデルクラス名を付けておけば、ほとんどの場合自動的にデータテーブルと対応付けることができます。
モデル名 | 対応するデータテーブルに同意します (データテーブルのプレフィックス定義が think_ であると仮定します) |
---|---|
think_user | |
think_user_type |
用法 | 描述 |
---|---|
不带任何参数 | 自动定位当前操作的模板文件 |
[模块@][控制器:][操作] | 常用写法,支持跨模块 模板主题可以和theme方法配合 |
完整的模板文件名 | 直接使用完整的模板文件名(包括模板后缀) |
eg.
//不带任何参数 自动定位当前操作的模板文件 $this->display();
通常默认的视图目录是View
如果没有按照模板定义的规则来定义模板文件(或者需要调用其他控制器下面的某个模板),使用:
//表示调用当前控制器下面的edit模块 $this->display('edit'); //表示调用Member控制器下面的read模块 $this->display('Member:read');
如果我们使用了模板主题功能,那么也可以支持主题调用,使用:
\\表示调用blue主题下面的User控制器的edit模块 $this->theme('blue')->display('User:edit');
获取模板地址
T函数用于生成模板文件名,用法: T([资源://][模块@][主题/][控制器/]操作,[视图分层])
T函数的返回值为一个完整的模板文件名,可以直接用于display和fetch方法进行渲染输出。
eg.
T('Public/menu'); //返回 当前模块/View/Public/menu.html T('blue/Public/menu'); //返回 当前模块/View/blue/Public/menu.html T('Public/menu','Tpl'); //返回 当前模块/Tpl/Public/menu.html T('Admin@Public/menu'); //返回 Admin/View/Public/menu.html
在display方法中直接使用T函数
//使用T函数输出模板 $this->display(T('Admin@Public/menu'));
T函数可以输出不同的视图分层模块。
如果需要获取渲染模板的输出内容而不是直接输出,可以使用fetch方法。
eg. $content = $this->fetch('Member:edit');
使用fetch方法获取渲染内容后,可以进行过滤和替换等操作。
如果没有定义任何模板文件,或者把模板内容存储到数据库的话,就需要使用show方法来渲染输出。
show方法调用格式:
show(‘渲染内容’[,’字符编码’][,’输出类型’])
eg.$this->show($content);
【相关教程推荐:thinkphp框架】
以上がthinkphpのモードは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。