tp5.0
入口文件绑定 :
define('BIND_MODULE','admin/index');
配置 auto_bind_moudle = ture|false. 入口自动绑定模块
入口文件
define('APP_PATH',__DIR__.'../app/') ; 应用目录
define('CONF_PATH',__DIR__.'/../conf/');配置文件目录
require __DIR__.'/../thinkphp/start.php';
- 如果继承了think\Controller类的话,可以直接调用think\View及think\Request类的方法,例如:
- namespace app\index\controller;
- use think\Controller;
- class Index extends Controller
- {
- public function index()
- {
- // 获取包含域名的完整URL地址
- $this->assign('domain',$this->request->url(true));
- return $this->fetch('index');
- }
- }
fetchSql用于直接返回SQL而不是执行查询,适用于任何的CURD操作方法。 例如:
$result = Db::table('think_user')->fetchSql(true)->find(1);
输出result结果为: SELECT * FROM think_user where id = 1
方法 | 说明 |
---|---|
fetch | 渲染模板输出 |
display | 渲染内容输出 |
assign | 模板变量赋值 |
engine | 初始化模板引擎 |
助手函数调用格式:
view(’[模板文件]’[,‘模板变量(数组)’][,模板替换(数组)])
助手函数
系统为一些常用的操作方法封装了助手函数,便于使用,包含如下:
助手函数 | 描述 |
---|---|
abort | 中断执行并发送HTTP状态码 |
action | 调用控制器类的操作 |
cache | 缓存管理 |
config | 获取和设置配置参数 |
controller | 实例化控制器 |
cookie | Cookie管理 |
db | 实例化数据库类 |
debug | 调试时间和内存占用 |
dump | 浏览器友好的变量输出 |
exception | 抛出异常处理 |
halt | 变量调试输出并中断执行 |
import | 导入所需的类库 |
input | 获取输入数据 支持默认值和过滤 |
json | JSON数据输出 |
jsonp | JSONP数据输出 |
lang | 获取语言变量值 |
load_trait | 快速导入Traits PHP5.5 以上无需调用 |
model | 实例化Model |
redirect | 重定向输出 |
request | 实例化Request对象 |
response | 实例化Response对象 |
session | Session管理 |
trace | 记录日志信息 |
token | 生成表单令牌输出 |
url | Url生成 |
validate | 实例化验证器 |
vendor | 快速导入第三方框架类库 |
view | 渲染模板输出 |
widget | 渲染输出Widget |
xml | XML数据输出 |
核心框架不依赖任何助手函数,系统只是默认加载了助手函数,配置如下:
// 扩展函数文件定义
'extra_file_list' => [THINK_PATH . 'helper' . EXT],
因此,你可以随意修改助手函数的名称或者添加自己的助手函数,然后修改配置为:
// 扩展函数文件定义
'extra_file_list' => [APP_PATH . 'helper' . EXT],
// 使用扩展函数文件
'extra_file_list' => [
THINK_PATH . 'helper' . EXT,
APP_PATH . 'helper' . EXT
],
tp5.0的更多相关文章
- Tp5.0 PHPMailer邮件发送
今天突然想起来邮件发送,就看了一下PHPmailer,其实这个用起来很简单,都是封装好的 https://github.com/PHPMailer/PHPMailer,直接下载下来之后,把他放入TP5 ...
- tp5.0.7 修复getshell漏洞
这里 接手项目用的是 tp5.0.7 突然想到前段事件的tp bug 事件 就试了下 发现确实有这种情况 参考帖子: https://bbs.ichunqiu.com/thread-48687-1-1 ...
- TP5.0 PHPExcel 数据表格导出导入(引)
TP5.0 PHPExcel 数据表格导出导入(引) 今天看的是PHPExcel这个扩展库,Comporse 下载不下来,最后只能自己去github里面手动下载,但有一个问题就是下载下来的PHPExc ...
- tp5.0 SHOW COLUMNS FROM 生成数据表字段缓存
TP5.0 生成数据表字段缓存 =控制台执行以下命令= 1.生成指定数据库的所有表字段缓存 php think optimize:schema --db databaseName 2.生成指定数据表的 ...
- 关于 tp5.0 阿里云 oss 上传文件操作
tp5.0 结合阿里云oss 上传文件 1.引入 oss 的空间( composer install 跑下第三方拓展包及核心代码包) 备注:本地测试无误,放到线上有问题 应该是移动后的路劲(相对于服 ...
- TP5.0中多图上传文件名重复问题
最近在做项目的时候出现了一个问题,这里记录一下: 问题: 使用TP5.0框架自带的文件上传方法后,发现多图上传可能会出现文件名重复的问题. 问题代码: 找到TP5框架上传文件命名方法,/thinkph ...
- TP5.0生成模块(home/admin)命令
TP5.0> 进入项目根目录(tp5/),执行以下命令: > php think make:controller 模块名/控制器名 //语法 > php think make:con ...
- 【TP3.2与TP5.0区别】
Tp3.2 和 Tp5.0之间的区别 5.0版本和之前版本的差异较大,本篇对熟悉3.2版本的用户给出了一些5.0的主要区别. URL和路由 5.0的URL访问不再支持普通URL模式,路由也不支持正 ...
- tp5.0和tp3.2中前台模板IF标签和FOREACH的区别
IF标签 tp3.2 <if condition="($name eq 1) OR ($name gt 100) "> value1 <elseif condit ...
- TP5.0中的小知识总结
2017年6月26日15:01:231.input 获取输入数据 支持默认值和过滤:接收用户在前台输入的数据,可以是get方式也可以是post方式.2.ThinkPHP5.0内置了分页实现,要给 ...
随机推荐
- 为什么说Java String 类型的值是不可改变的?
String对象是不可变的,它的内容是不能改变的.下列代码会改变字符串的内容吗? 1 2 String s = "Java"; s = "HTML"; 答案是不 ...
- scrapy设置代理
在爬取网站内容的时候,最常遇到的问题是:网站对IP有限制,会有防抓取功能,最好的办法就是IP轮换抓取(加代理) 下面来说一下Scrapy如何配置代理,进行抓取 1.在Scrapy工程下新建“middl ...
- 字符串的查找删除---C++中string.find()函数与string::npos
给定一个短字符串(不含空格),再给定若干字符串,在这些字符串中删除所含有的短字符串 输入: 输入只有一组数据 输入一个短字符串(不含空格),再输入若干字符串直到文件结束为止 输出: 删除输入的短字符串 ...
- Selenium家谱
自动化测试一词也算是整个测试行业里面比较热门的一个词儿,工资高,前景好,有实力,有态度等等,很多企业的管理者也在不断的扩大自己的队伍和职能,这也是导致自动化测试比较流行的原因之一.但是很多企业做自动化 ...
- C# 取得内网IP、外网IP、客户端IP方法
前言 在 Windows Form Application 里对于取得 IP Address 有内网.外网两种 IP Address ,如果只需要取得内网 IP Address ,可以透过使用 IPH ...
- Android 动态改变图片的颜色值
public void onViewClicked(View view) { switch (view.getId()) { case R.id.bt1: img1.setColorFilter(ge ...
- java类创建时里面成员执行的先后顺序
静态代码块在类第一次使用的时候执行一次,在构造函数执行之前执行.只要用到类,哪怕new对象(比如只声明变量)也会被执行,且只执行一次.一般用于对类进行初始化. 先执行静态代码块,静态成员(谁在前就先执 ...
- 学习React中遇到的问题
1.执行eject后,再次启动项目报错 情景:使用create-react-app搭建了项目,启动没有问题,然后执行 $ yarn eject 暴露出webpack配置文件等,再次 $ yarn st ...
- winform panel显示子窗体
private void ZiChuangTi() {//确认当前为子窗体 this.IsMdiContainer = true; //建立个子窗体的对象 Son mySon = new Son(); ...
- 扩展卢卡斯定理(Exlucas)
题目链接 戳我 前置知识 中国剩余定理(crt)或扩展中国剩余定理(excrt) 乘法逆元 组合数的基本运用 扩展欧几里得(exgcd) 说实话Lucas真的和这个没有什么太大的关系,但是Lucas还 ...