欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  神坛PHP

TP5简单复习及快速上手2

程序员文章站 2022-01-04 19:58:13
...

命令行

自动创建模块: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()










相关标签: 复习 快速上手