thinkphp 3.2.3版本学习笔记
2、开启调试模式,有什么作用?(默认关闭,在ThinkPHP.php 33行左右)
(1)非法调用的时候,有详细的报错信息,便于调试
(2)APP_DEBUG为true并且缓存文件存在,走缓存文件,否则加载Common文件夹下Runtime.php (代码如下 Think.php)
(3)同时不产生缓存文件 APP_DEBUG为true 会删除RUNTIME_FILE(缓存)文件 (Runtime.php 126行左右).
ThinkPHP.php文件 (最底下)
if(!APP_DEBUG && is_file(RUNTIME_FILE)) {
// 部署模式直接载入运行缓存
//echo __FILE__; //G:\wamp\www\orange\ThinkPHP\ThinkPHP.php
require RUNTIME_FILE;
}else{
// 系统目录定义
//THINK_PATH G:\wamp\www\orange\ThinkPHP
defined('THINK_PATH') or define('THINK_PATH', dirname(__FILE__).'/');
// 加载运行时文件
require THINK_PATH.'Common/runtime.php';
}
2、url模式
(1)0->普通模式
(2)1->默认模式 pathinfo模式
(3)2->重写模式
(4)3->兼容模式
若要输出当前的url模式:echo C('URL_MODEL');
若要获取当前页面地址:使用U方法
形式:U(‘控制器名/方法’,array('id'=>X),'后缀名',是否显示域名(true或false),‘localhost(域名)’);
例如:U(‘Index/index’,array('id'=>1),'html',true,‘localhost’);
示例:
输出结果:
接着,我们将出现的url进行复制并进行打开,就会看到:
注:若要修改URL模式,可在Config/config.php中进行:'URL_MODEL'=>要修改的模式(如:0,1,2,3);
每个模式给出的URL页面地址都不同
3、自定义函数库
(1)在项目中的Common文件夹中创建自定义函数库文件,名字必须为:function.php
(2)在function.php中定义方法,例如:
定义一个九九乘法表函数
接着在indexController.php中进行调用函数:
结果:
thinkphp 3.2.3版本学习笔记的更多相关文章
- react-router 4.0版本学习笔记
Router 所有路由组件的底层接口,一般情况都不使用,而是使用更加高级的路由. 最常用的有两种<BrowserRouter>.<HashRouter> <Browser ...
- OpenGL编程指南第版本学习笔记 --- OpenGL程序实现过程(win32 + OpenGL)
1. 先上代码 头文件glCommon.h #include <GL/glew.h> #include <GL/GL.h> #include <GL/GLU.h> ...
- pyecharts v1 版本 学习笔记 饼图,玫瑰图
饼图: 普通案例 from example.commons import Faker from pyecharts import options as opts from pyecharts.char ...
- pyecharts v1 版本 学习笔记 折线图,面积图
折线图 折线图 基本demo import pyecharts.options as opts from pyecharts.charts import Line c = ( Line() .add_ ...
- pyecharts v1 版本 学习笔记 散点图
散点图 基本案例 from example.commons import Faker from pyecharts import options as opts from pyecharts.char ...
- pyecharts v1 版本 学习笔记 柱状图
柱状图 bar 基本演示例子 from pyecharts import options as opts from pyecharts.charts import Bar c =( Bar().add ...
- thinkphp学习笔记9—自动加载
原文:thinkphp学习笔记9-自动加载 1.命名空间自动加载 在3.2版本中不需要手动加载类库文件,可以很方便的完成自动加载. 系统可以根据类的命名空间自动定位到类库文件,例如定义了一个类Org\ ...
- thinkphp学习笔记8—命名空间
原文:thinkphp学习笔记8-命名空间 新版本(3.2)中采用命名空间的方式定义和加载类库文件,解决多个模块之间的冲突问题,并实现了更加高效的自动加载机制. 需要给类库定义所在的命名空间,命名空间 ...
- thinkphp学习笔记5—模块化设计
原文:thinkphp学习笔记5-模块化设计 1.模块结构 完整的ThinkPHP用用围绕模块/控制器/操作设计,并支持多个入口文件盒多级控制.ThinkPHP默认PATHINFO模式,如下: htt ...
随机推荐
- Codeforces Round #279 (Div. 2) C. Hacking Cypher (大数取余)
题目链接 C. Hacking Cyphertime limit per test1 secondmemory limit per test256 megabytesinputstandard inp ...
- js注册
ScriptManager.RegisterStartupScript(this, GetType(), "", "alert('修改失败!')", true) ...
- jquery 操作表格实例
案例1:隔行变色,滑动,点击变色以(选中取消效果)(addClass(),removeClass(),toggleClass()) Html: <h4>1.隔行变行</h4> ...
- STL特性总述——写在前面
所谓的容器,见名知意,容纳其他数据的"器具": 特点 1)支持泛型: 2)保存副本:本质上传入对象的拷贝. 3)内存托管 :构建对象于堆,无需人工干预,自动管理内存的生存周期. S ...
- oracle例程
原创转载请注明出处 启动例程: 数据库启动例程的3个步骤 启动例程(NOMOUNT状态):读取参数文件,分配SGA和启动后台进程. 装载数据库(MOUNT状态):根据初始化参数control_file ...
- python web开发之flask框架学习(1) 创建flask项目
python 开发越来越火,作为菜鸟,也应该学习一下,感觉还可以,记录下来,方便学习参考. 不管做什么开发首先肯定是安装环境,这里我用的是pycharm,python3.如果不清楚怎么安装环境可以去网 ...
- 多线程中wait、notify理解
实在惭愧,java开发多年,多线程运用一直不多,该知识点理解也不够,不怎么会用.赶上使用多线程 生产者.消费者模式,学习下该知识点. synchronized 获取锁 wait 阻塞本线程,释放对象 ...
- k8s缩放应用程序
参考:https://kubernetes.io/docs/tutorials/kubernetes-basics/ 步骤1:扩展部署 要列出部署,请使用GET部署命令:kubectl get dep ...
- php静态方法和属性
静态方法和属性由static关键字定义 静态方法和属性不用实例化也可以直接访问,如 self::test(),self::tt 类实例化后可以访问静态方法,但是不可以访问静态属性 声明类属性或方法为静 ...
- Jenkins +Maven+Tomcat+SVN +Apache项目持续集成构建
详解Jenkins +Maven+Tomcat+SVN +Apache项目持续集成 一:前言 1. Jenkins jenkins版本大全http://mirrors.jenkins-ci.org/ ...