ThinkPHP之模版入门

MVC
Thinkphp框架完全贯穿了MVC思想 在上面BBS项目中我们只对一个表"think_bbs"进行了操作 并且都是在控制器中通过use think\Db然后利用Db类对数据库进行了操作 准确的说上面的BBS项目只用到了VC 而不是MVC
更加准确的做法是 在application下新增一个bbs文件夹(模块) 并且文件下面有 controller view model三个文件夹分别代表控制器 模板 模型
thinkphp默认规定:
控制器都放在controoler这个控制器下面 namespace app\bbs(模块)\controller并且继承控制器父类use think\Controller extends Controller然后通过$this->fetch()调用模版
模版都放在 view 文件夹 控制器名文件夹 方法名.html
模版都放在modele文件夹下面 每一个文件代表一张表 文件中的类名与文件名和表名都应该相同
并且模版都应该放在同一个空间下面namespace app\模块名\model;
模版都要继承父类 use think\model; extends Model{}


控制器中通过模型Model得到数据由以下几种方式 本质上都是获得Model这个类 然后调用静态方法::get();返回对象 然后调用toArray()方法 将对象转换成一定格式的数组
第一种 直接用类名调用get方法 简单暴力 $res = Bbs::get(1); $res =$res->toArray();
需要引用到对应类 use app/bbs/model/Bbs
第二种利用助手函数 什么都不用引用 利用$res = model("Bbs")得到Model对象 然后再去get toArray
第三种方式是实例化 $res = new Bbs();获得Model对象之后 去get toArray()
需要引用到对应类
第四种方式是引用 use think\Loader然后利用Loader::model(model名)获得Model对象 可以传入多个参数 获得一个对象集合 然后再去get toArray()

toArray();
        var_dump($res);
        echo "
"; #第二种方式不需要引入任何文件 #model()参数为model类名 $res = model("Data"); $res =$res::get(3); //接结果转换成预定义好格式的数组 $res=$res->toArray(); //var_dump会转换格式 dump原格式输出 var_dump($res); //array(3) { ["id"]=> int(3) ["name"]=> string(5) "condy" ["status"]=> int(1) } #第三种方式 实例化 $res = new Bbs(); $res = $res::get(4); $res=$res->toArray(); var_dump($res); //rray(4) { ["id"]=> int(4) ["name"]=> string(1) "t" ["content"]=> string(11) "hello world" ["time"]=> string(1) "0" } #第四种方式 需要引入loader 但是可以多模块查询 $res =Loader::model("Bbs"); $res =$res::get(10); $res =$res->toArray(); var_dump($res); //array(4) { ["id"]=> int(10) ["name"]=> string(1) "t" ["content"]=> string(11) "hello world" ["time"]=> string(1) "0" } } }

你可能感兴趣的:(PHP学习)