TP5简单复习及快速上手2
命令行
自动创建模块:php think build --config build.php
创建控制器:php think make:controller admin/Test --plain
创建模型:php think make:model admin/Use
控制器:
初始化操作:_initialize:
public function _initialize()
{
echo '_initialize<br>';
}
前置操作:
protected $beforeActionList = [
'first', //在所有方法之前,先执行first方法
'first' => ['only'=>'second'], // only只有访问second方法时执行first
'first' => ['except'=>'second'], // except除了second方法之外都执行first
];
跳转:
success
error
重定向:
$this -> redirect(‘模块/控制器/方法’)
多级控制器:http://tp5.com/admin/v1.Test/index
配置系统
框架的配置:thinkphp/convention.php,不建议修改框架的配置
应用程序的配置:application/config.php,前台后台公共的配置
具体模块的配置:admin/config.php index/config.php
额外的配置:默认保存在extra目录下,
读取配置:config() Config::get
路由
简化url路径:
url地址更简洁
SEO友好,
完整的写法
Route::rule('hello/:id','admin/v1.Test/index','GET|POST',['https'=>true],['name'=>'\d+']);
简洁写法
接收请求参数
自动接收
Request类
input助手函数接收
视图、模板
l 渲染、加载html模板页面
l 模板变量
assign()
thinkphp,使用自己的Think模板引擎,内置系统变量
{$Think.get.}
{$Think.post.}
{$Think.session}
{$Think.cookie}
{$Think.const.APP_PATH}
{$Think.APP_PATH }
l 字符串替换
将模板中指定的字符串替换成一个结果
fetch的通过第三个参数传递字符串替换
在配置文件中设置字符串替换
__CSS__
__URL__
__JS__
__STATIC__
模板中的循环标签
volist:
mod:遍历的次数,和mod值取余,奇数次、偶数次循环
key:
name
id
offset:
length
foreach
foreach($arr as $v){}
foreach(name=”goods” item=”v” key=”index”){}
比较标签
{eq}{/eq}
如果简单的比较,使用eq、neq、gt、lt、egt、elt
如果复杂的比较,使用if
视图:
模型:
连接数据库:
通过配置文件,
Db::connect('mysql://root:1234@127.0.0.1:3306/thinkphp#utf8');
对数据库操作:
原生SQL:
Db:query()
Db::execute()
Db类查询构造器:
增:
Db::table(‘user’)->insert()
Db::table(‘user’)->insertGetId()添加并返回主键值
Db::table(‘user’)->insertAll()
删:
Db::table(‘user’)->delete(1)
改:
Db::table(‘user’)->where(‘id’,’=’,1)->update([‘goods_name’=>’诺基亚’]);
Db::table(‘user’)->where(‘id’,’=’,1)->setField(‘shop_price’,1500)
Db::table(‘user’)->where(‘id’,’=’,1)->setInc(‘focus_num’);
Db::table(‘user’)->where(‘id’,’=’,1)->setDesc(‘focus_num’);
查:
Db::table(‘user’)
->where(‘id’,’>’,5)
->field(‘id,name,price’)
->order()
->limit()
->page(5,3)
->having()
->group()
->alia()
->join()
->select()
->find()
ORM,对象关系映射:Object Relation Mapping
一张表-----------------》类
一条记录-------------》对象
一条记录的字段------》对象的属性
我们就可以像操作对象一样,操作数据表
ORM执行
new User;
User::get(1)
model(‘User’)
增:
save()
saveAll()
data()
allowField()
上一篇: Cookie面向对象分装
下一篇: PHP流程控制结构_PHP分支结构语句