ThinkPHP3开发模式,控制器操作,配置文件,框架语法
ThinkPHP的开发模式
tp框架有两种使用模式:开发模式(调试模式),一种是生产模式(运行模式)
define('APP_DEBUG', true); //调试模式


define('APP_DEBUG', FALSE); //运行模式


运行模式会把很多核心文件代码缓存成" common~runtime.php"文件,把原来每次需要加载许多文件的请求现在只要请求一个缓存文件,节省了很多文件的打开,关闭的开销。
在页面的底部显示日志信息
在配置文件中,添加如下配置

配置完成后,在浏览器的右下角会显示如下标记。

如果想看源码的话,在behavior文件夹下的ShowPageTraceBehavior.class.php

把ThinkPHP的引擎改成Smarty

smarty引擎的存放位置

smarty驱动

如果想更改Smarty的配置(一般不要改)

控制器操作
空操作
系统在找不到请求的方法的时候,会定位到__empty()方法处理,利用这个机制,我们可以对用户请求的不存在的所有操作进行统一处理。

空控制器
当系统请求找不到控制器,会定位到空控制器上EmptyController。

跨控制器调用
1、直接实例化

2、A()
A()用来实例化其他控制器的。

$obj->display(“Manager/ManagerTest1”) //调用的是模版
3、R()
R()和A()基本一样,唯一不同的是R()函数在实例化控制器的时候把操作方法一起传递过去,省略了方法的调用

TP框架的配置文件
惯例配置:ThinkPHP/conf/convention.php
应用配置:Application/Common/conf/config.php
调试配置:Application/Common/conf/debug.php
模块配置:Application/Home/conf/config.php
加载顺序
惯例配置->应用配置->调试配置->模块配置
优先级:
模块配置>调试配置>应用配置>惯例配置
C('配置的名称')用来获取配置信息。
TP框架语法
判断
<if condition='表达式'>
<elseif condition='表达式' />
<else/>
</if>
表达式中运算符
|
PHP运算符 |
对应的TP中的运算符 |
英文全称 |
|
< |
lt |
Less than |
|
> |
gt |
Greater than |
|
== |
eq |
equal |
|
>= |
egt |
Equal or greater than |
|
<= |
elt |

循环


连接数据库

在配置文件中,做如上的配置,即可连接数据库
ThinkPHP3开发模式,控制器操作,配置文件,框架语法的更多相关文章
- thinkphp3.1课程 1-1 为什么thinkphp在开发好后需要关掉开发模式
thinkphp3.1课程 1-1 为什么thinkphp在开发好后需要关掉开发模式 一.总结 一句话总结:因为调试模式中会记录你所有的调试信息,比如a调用b,b调用c,c调用d,比如你从哪个数据库取 ...
- 3.NetDh框架之缓存操作类和二次开发模式简单设计(附源码和示例代码)
前言 NetDh框架适用于C/S.B/S的服务端框架,可用于项目开发和学习.目前包含以下四个模块 1.数据库操作层封装Dapper,支持多种数据库类型.多库实例,简单强大: 此部分具体说明可参考博客: ...
- Asp.net MVC 中 CodeFirst 开发模式实例
昨天写的这篇博客因为下班时间到了忘记保存了,好郁闷,得重新写一遍.实习所在公司使用的是CodeFirst开发模式,最近开始参与到公司的项目里面来了,发现这个模式特别好用,建库建表改变字段属性添加删除字 ...
- C# 动态生成word文档 [C#学习笔记3]关于Main(string[ ] args)中args命令行参数 实现DataTables搜索框查询结果高亮显示 二维码神器QRCoder Asp.net MVC 中 CodeFirst 开发模式实例
C# 动态生成word文档 本文以一个简单的小例子,简述利用C#语言开发word表格相关的知识,仅供学习分享使用,如有不足之处,还请指正. 在工程中引用word的动态库 在项目中,点击项目名称右键-- ...
- MVC开发模式以及Smarty模板引擎的使用
Linux 全局安装 composer 将目录切换到/usr/local/bin/目录 cd /usr/local/bin/ 在 bin 目录中下载 composer curl -sS https:/ ...
- webpack+react+es6开发模式
一.前言 实习了两个月,把在公司用到的前端开发模式做个简单的整理.公司里前端开发模式webpack+react+redux+es6,这里去掉了redux. webpack, react, redux等 ...
- 一种开发模式:ajax + ashx + UserControl
一.ajax+ashx模式的缺点 在web开发过程中,为了提高网站的用户体验,或多或少都会用到ajax技术,甚至有的网站全部采用ajax来实现,大量使用ajax在增强用户体验的同时会带来一些负 ...
- ASP.NET MVC——CodeFirst开发模式
Entity Framework框架提供了几种开发模式,比如Database First,Model First,Code First.Database First是最老也是应用得最广泛的一种设计方式 ...
- java 开发模式
Java-开发模式 Java Web开发方案有多种,这里列举一些经典的开发模式进行横向比较JSP+JAVABEAN开发模式: 特点:该模式将业务逻辑与页面表现进行分离,在一定程度上增加了程序的可 ...
随机推荐
- 解决关于VC++ 6.0打开文件时,程序停止的问题
不少boys和girls安装VC++ 6.0英文版后,开始学习C++语言,但是使用软件的过程中,点击“打开”时,就会出现程序进程错误,崩溃的事儿,很是郁闷.最后直接一个对话框如下: 并且vc6.0直接 ...
- runloop是一个系统架构、是一个系统
信号与系统的系统: 事件源.派发系统.事件传播链.事件处理函数: 等组成的整体: 强调的重点是联系与结合.
- vue.js双向绑定之--select获取text
在大多数情况下select下拉菜单都是value和text设置不同的值的,value一般来说是与后台交互的值,而text是前端用来显示的文本: 但是,vue.js对到表单的双向绑定时如果option设 ...
- 面向开发人员的Windows错误报告(WER)
Windows错误报告是更新的Windows XP上Dr.Watson的替代品.它监视故障并收集可以发送到要分析的服务器(如果用户允许)的有用信息.这项功能帮助微软修复了很多错误——由于收到的报告,微 ...
- gevent.queue
目录 Gevent gevent基础之阻塞,非阻塞 同步,异步概念 同步异步与阻塞,非阻塞区别 Queue python内置Queue介绍 Gevent gevent基础之阻塞,非阻塞 1.geven ...
- CF 900D Unusual Sequences
题目链接 \(Description\) 给定\(x,y\),求有多少个数列满足\(gcd(a_i)=x且\sum a_i=y\).答案对\(10^9+7\)取模. \(1≤x,y≤10^9\) \( ...
- # [SDOI2019]移动金币 阶梯博弈 dp
[SDOI移动金币 链接 vijos 思路 阶梯博弈,dp统计. 参见wxyww 代码 #include <bits/stdc++.h> using namespace std; cons ...
- mac 下使用Charles抓包华为手机app
安装Charles:https://www.cnblogs.com/sea-stream/p/11577418.html 需要保证手机与电脑连接同一个Wi-Fi设置mac charles,打开代理 2 ...
- python 路径拼接
>>> import os>>> os.path.join('/hello/','good/boy/','doiido')>>>'/hello/g ...
- data.table
data.table: Extension of 'data.frame' 安装 data.table install.packages("data.table") 官网:http ...