## 自动加载
~~~
$composer dumpautoload -o
~~~
会生成:`vendor/composer/autoload_namespaces.php`文件,方便自动加载。
## 扩展类库
框架根目录下的`extends`目录称为`扩展类库目录`,用于存放一些自定义的类,只要符合自动加载的规范(命名空间、类名、文件名),就可以直接使用。
### 1.`extend`目录
假设在`extend`目录下创建一个`Upload.php`文件,不需要添加命名空间。
~~~
<?php
class Upload
{
}
~~~
此时可以在控制器中直接使用`\Upload`类。
### 2\. 带层级的类
假设在`extend/file`目录下创建一个`Upload.php`文件,此时需要添加命名空间。
~~~
<?php
namespace file;
class Upload
{
}
~~~
此时可以在控制器中直接使用`\file\Upload`类。
## 公共函数
在公共函数文件中定义的函数在任何地方可以用,也可以理解为自定义助手函数
> 公共函数文件位置
* 全局公共函数文件:在所有应用中都可以使用
~~~
app/common.php
~~~
* 应用公共函数文件
~~~
app/应用名称/common.php
// index 应用的公告函数文件 只能在index应用下使用
app/index/common.php
~~~
## 常用的助手函数
### input
> input( ) 助手函数语法格式
~~~
input('请求类型.]参数名[/变量修饰符]', '默认值', '过滤方法');
~~~
> 获取某个请求类型的所有请求参数
~~~
// 获取get请求类型的所有参数及其参数值
// 返回值:一维数组
// 键名:参数名,键值:参数值
$array = input('get.');
// 获取post请求类型的所有参数及其参数值
// 返回值:一维数组
// 键名:参数名,键值:参数值
$array = input('post.');
// 获取全部变量
$array = input('param.');
~~~
> 获取某个请求参数的值
~~~
// 获取任何请求类型的name参数值
$name = input('name');
//或者
$array = input('param.name');
~~~
> 变量修饰符
~~~
// 获取指定参数的值并将转为数字
$id = input('id/d');
~~~
> 参数默认值
~~~
// 获取指定参数的值 没有获取到将返回默认值
// 示例:如果id参数不存在,返回 666
$id = input('id', 1);
~~~
> 过滤方法
~~~
// 获取指定参数的值再经过intval函数进行过滤
$id = input('id','', 'intval');
~~~
### 构造url
~~~
// /admin/index/index.html
echo url('admin/index/index') . PHP_EOL;
// /admin/index/index.html?id=10
echo url('admin/index/index', ['id' => 10]) . PHP_EOL;
// /admin/index/index.html?id=10
echo url('index/index', ['id' => 10]) . PHP_EOL;
// /index/index.html?id=10
echo url('/index/index', ['id' => 10]) . PHP_EOL;
~~~
### redirect
> redirect 重定向助手函数
~~~
public function index()
{
// 重定向之前,会检查可用性
return redirect('index/login');
}
~~~
### 调用`view`视图
如果使用`view`助手函数,格式如下:
~~~
return view('index', [
'name' => 'foo bar',
'email' => 'foo@bar.com'
]);
~~~
等同于:
~~~
// 或者批量赋值
return View::fetch('index', [
'name' => 'foo bar',
'email' => 'foo@bar.com'
]);
~~~
或:
~~~
View::assign('name','foo bar');
View::assign('email','foo@bar.com);
return View::fetch('index');
~~~
### 获取本地的环境变量`env`
获取本地的环境变量,常常在配置文件中使用。
~~~
//读取 `.env` 文件的配置,如果不存在,用 `root` 代替
Env::get('database.username', 'root'),
//使用助手函数
env('APP_DEBUG');
env('APP.Default_timezone');
~~~
- 搭建ThinkPHP6的开发环境
- 配置ThinkPHP6
- 必要的基础知识(basic)
- MVC开发模式
- 控制器(controller)
- 数据库(database)
- 模型(model)
- 模型关联(relation)
- 视图(view)
- Session
- Cookie
- 缓存(cache)
- 上传(upload)
- 验证器(validate)
- 验证码(captcha)
- 命令行(command)
- 服务器部署(deploy)
- 数据备份(backup)
- 数据同步(synchronization)
- 订阅服务(subscribe)
- PHP 易混淆知识点
- 助手函数
- MySQL规范
- Redis 规范
- office插件 phpoffice
- 拼音插件 pinyin
- 日期插件 datetime
- 消息插件 amqp
- 产品部署环境的搭建
- PDF 等杂项处理
- 文件上传
- 常用扩展
- flc/dysms
- 使用示例 ①
- 使用示例 ②
- qiniu/php-sdk
- 简介
- 使用示例
- 使用示例 2 ②
- liliuwei/thinkphp-jump
- 扩展介绍
- 下载扩展
- 使用方法
- topthink/think-captcha
- 安装扩展
- 验证码显示
- 更换验证码
- 验证码校验
- 验证码配置
- 自定义验证码
- phpoffice/phpspreadsheet
- 数据写入表格
- 读取表格数据
- topthink/think-queue
- 安装
- 自定义函数
- 任务类
- 带有日志的任务类