ホームページ >バックエンド開発 >PHPチュートリアル >ThinkPHP 学習メモ (6) モデルをインスタンス化する 4 つの方法

ThinkPHP 学習メモ (6) モデルをインスタンス化する 4 つの方法

WBOY
WBOYオリジナル
2016-06-13 12:54:28873ブラウズ

ThinkPHP学習記⑥ モデルをインスタンス化する4つの方法


この記事は ThinkPHP 学習ノート (5) に基づいて修正されています。学生がこのコードを使用する場合は、まず ThinkPHP 学習ノート (5) を読んでください。

アクションクラスの作成

<?php
class NewObjectAction extends Action{
	public function index(){
		//1.创建一个基础模型
//		//一:实例化一个系统的数据库操作类
//		//new Model('User')相当于M('User'),在Model中放置一个需要操作的表
//		//1命名:
//		//	thinkphp默认的有表名前缀,如果为think_user;则在Model中可以使用User或者user来获取
//		//	如果是think_user_message;则使用Model('UserMessage');大写表示对于的表名前面加上一个_
//		$User=new Model('User');
//		//调用查询方法
//		$list=$User->select();
//		dump($list);
		
//		//二:跨模型操作;实例化一个表,同时实例化一个自己写的数据库操作类
		//多用于将一些公共的业务逻辑抽离出来形成公共的Model
//		//M('user','CommonModel')相当于new CommonModel('user');model是自动载入的
////		$user=M('user','CommonModel');
//		$user=new CommonModel('user');
//		$list=$user->select();
//		dump($list);
//		$user->modelTest();
		
		//三:实例化一个用户定义的模型
		//多用于不需要更加复杂的业务
		//1.手动创建一个模型,针对user表创建一个自定义模型,可以封装thinkphp提供的功能
		//$user=new UserModel()相当于D('user');
		//D方法如果模型不存在,则抛出异常,只会实例一个,默认,只支持调用当前应用下面的模型
//		$user=new UserModel();
//		$list=$user->select();
//		dump($list);
//		$user->modelTest();
		
		//四、实例化一个空模型;就是传统sql语句的方式;需要加表前缀
		//
		$user=new Model();
		$list=$user->query('select * from tb_user');
		dump($list);
		
		//分组:D('admin.user');
	}
}
?>
2 つのモデル:

<?php
	class CommonModel extends Model{
		function modelTest(){
			echo '测试的跨模型操作,调用模型中的方法';
		}
	}
?>

<?php
	class UserModel extends Model{
		
		
		function modelTest(){
			echo '测试的跨模型操作,调用模型中的方法';
		}
	}
?>


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。