## 自動加載
~~~
$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
- 安裝
- 自定義函數
- 任務類
- 帶有日志的任務類