首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ThinkPHP一些默认规则

1.每个应用模块都有独立的配置文件(位于模块目录的Conf/config.php),定义格式默认采用PHP数组定义

2.为所有模块定义公共的配置文件,可以在公共模块中定义(通常位于 Common/Conf/config.php)

4.标准的URL访问格式:http://serverName/index.php/模块/控制器/操作

5.ThinkPHP中的视图主要就是指模板文件和模板引擎

6.模板文件都在模块的View目录下面,并且是以模块下面的控制器名为目录,然后是每个控制器的具体操作 作为模板文件

7.默认的找模版规则:View/控制器名/操作名.html;(操作和模版对应关系)

要输出视图,必须在控制器方法中进行模板渲染输出操作,模板输出最常用的是使用display方法,$this->display();表示系统会按照默认规则自动定位模板文件

•如果当前没有启用模板主题则定位到:当前模块/默认视图目录/当前控制器/当前操作.html ;

•如果有启用模板主题则定位到:当前模块/默认视图目录/当前主题/当前控制器/当前操作.html;

•如果有更改TMPL_FILE_DEPR设置(假设 'TMPL_FILE_DEPR'=>'_')的话,则上面的自动定位规则变成: 当前模块/默认视图目录/当前控制器_当前操作.html 和 当前模块/默认视图目录/当前主题/当前控制器_当前操作.html。

8.如果我们需要读取数据库中的数据,就需要在模块配置文件中添加数据库连接信息。

10.按照系统的规范来命名模型类的话,大多数情况下是可以自动对应数据表

模型类名字 === 除去表前缀的数据表名称,采用驼峰法命名,并且首字母大写,然后加上Model

11.ThinkPHP在没有找到对应操作方法的情况下,会检查是否存在对应的模板文件,由于我们有对应的add模板文件,所以控制器就直接渲染该模板文件输出了。

12.使用D函数实例化模型类,一般需要对应一个模型类

13.模版表达式:模块@主题/控制器/操作  默认都是在view文件夹下

14.在模板文件中输出变量,内置模板的话,就可以这样输出: {$name}

使用PHP本身作为模板引擎的话 ,就可以直接在模板文件里面输出了:

15.模版中使用函数:需要采用 {:U('参数1', '参数2'…)} 的方式

16.Common模块和普通模块一样,可以添加控制器、模型和视图,并且支持多层,但不能直接访问,只能继承,其中模型层可以作为公用模型,在D方法实例化中调用。D函数实例化的时候 才能自动判断 当前模块模型类不存在的时候 实例化公共模块中的同名模型,自己实例化肯定做不到这点了。

回复 @thinkphp : 你的意思是common模块里的控制器、模型和视图有两个作用:1当前模块里的php文件不存在的时候,自动去找公共模块中的同名文件 2.其他模块里的控制器、模型和视图 继承公共模块里的控制器、模型和视图, 总结的对吗?

如果其他模块直接使用common模块,需要加模块名common吗?

thinkphp 回复:

Common模块是一个特殊的模块,是应用的公共模块,访问所有的模块之前都会首先加载公共模块下面的配置文件(Conf/config.php)和公共函数文件(Common/function.php)。但Common模块本身不能通过URL直接访问,公共模块的其他文件则可以被其他模块继承或者调用

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190119G10X7000?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券