如果你是第一次安装的话,在命令行下面,切换到你的WEB根目录下面并执行下面的命令:
这里的tp目录名你可以任意更改,这个目录就是我们后面会经常提到的应用根目录。
composer create-project topthink/think tp
如果你之前已经安装过,那么切换到你的应用根目录下面,然后执行下面的命令进行更新:
composer update topthink/framework
一般情况下,composer 安装的是最新的稳定版本,不一定是最新版本,如果你需要安装实时更新的版本(适合学习过程),可以安装6.0.x-dev版本。
composer create-project topthink/think=6.0.x-dev tp
应用默认是部署模式,在开发阶段,可以修改环境变量APP_DEBUG开启调试模式,上线部署后切换到部署模式。
本地开发的时候可以在应用根目录下面定义.env文件。
php think run
open http://localhost:8000/
如果你本地80端口没有被占用的话,也可以直接使用
php think run -p 80
composer require topthink/think-multi-app
快速生成一个 admin 目录
php think build admin
如果你希望自定义生成应用的结构,可以在app目录下增加一个build.php
文件,内容如下:
return [// 需要自动创建的文件'__file__' => [],// 需要自动创建的目录'__dir__' => ['controller', 'model', 'view'],// 需要自动创建的控制器'controller' => ['Index'],// 需要自动创建的模型'model' => ['User'],// 需要自动创建的模板'view' => ['index/index'],
];
快速生成一个 Check 中间件
php think make:middleware Check
快速生成一个 User 验证器
php think make:validate User
快速生成一个 index 应用下的 Blog 控制器
php think make:controller index@Blog
composer require topthink/think-view
composer require topthink/think-helper
use think\\helper\\Str;// 检查字符串中是否包含某些字符串
Str::contains($haystack, $needles)// 检查字符串是否以某些字符串结尾
Str::endsWith($haystack, $needles)// 获取指定长度的随机字母数字组合的字符串
Str::random($length = 16)// 字符串转小写
Str::lower($value)// 字符串转大写
Str::upper($value)// 获取字符串的长度
Str::length($value)// 截取字符串
Str::substr($string, $start, $length = null)//驼峰转下划线
Str::snake($value, $delimiter = '_')//下划线转驼峰(首字母小写)
Str::camel($value)//下划线转驼峰(首字母大写)
Str::studly//转为首字母大写的标题格式
Str::title($value)
use think\\helper\\Arr;// 判断能否当做数组一样访问
//数组返回真
//模型查询的结果也为真
Arr::accessible($value)// 向数组添加一个元素,支持"点"分割
Arr::add($array, $key, $value)
//如下操作
$arr = [];
$arr = Arr::add($arr,'name.3.ss','thinkphp'); //本行结果$arr['name'][3]['ss'] = 'thinkphp'
Arr::add($arr,'name','thinkphp2');//本行不会产生影响,因为'name'已存在.// 将数据集管理类转换为数组
Arr::collapse($array)// 排列数组组合
$arr = Arr::crossJoin(['dd'],['ff'=>'gg'],[2],[['a'=>'mm','kk'],'5']);
//上面行没有什么意义,但是可以看到该函数的作用,数组索引被忽略,数组得值被全部组合
$arr = Arr::crossJoin(['a','b','c'],['aa','bb','cc','dd']);
//这一行可以看到组合的效果,返回一个二维数组,第二维每个数组是的给定值排列,比如(a,aa),(a,bb),(a,cc)...直到(c,dd)
composer require topthink/think-captcha
// html
{:captcha_img()}
// 或
// 控制器
$this->validate($data,['captcha|验证码'=>'require|captcha'
]);
// 或
if(!captcha_check($captcha)){// 验证失败
};
如果是多应用模式下,你需要自己注册一个验证码的路由。
// Route
Route::get('captcha/[:config]','\\think\\captcha\\CaptchaController@index');