# 會話
`ThinkPHP5.0`使用`think\Session`類進行`Session`的操作管理。
- - [Session初始化](http://www.hmoore.net/thinkphp/thinkphp5_quickstart/183828#-code-session-code-)
- [讀取Session](http://www.hmoore.net/thinkphp/thinkphp5_quickstart/183828#-code-session-code--1)
- [SESSION操作](http://www.hmoore.net/thinkphp/thinkphp5_quickstart/183828#-code-session-code--2)
- [助手函數](http://www.hmoore.net/thinkphp/thinkphp5_quickstart/183828#u52A9u624Bu51FDu6570)
- [模板輸出](http://www.hmoore.net/thinkphp/thinkphp5_quickstart/183828#u6A21u677Fu8F93u51FA)
- [Session驅動](http://www.hmoore.net/thinkphp/thinkphp5_quickstart/183828#-code-session-code--3)
- [Session示例](http://www.hmoore.net/thinkphp/thinkphp5_quickstart/183828#session-)
## `Session`初始化
大多數情況,我們不需要手動進行Session初始化操作。`ThinkPHP5`會在第一次調用`Session`類的時候按照配置的參數自動初始化和開啟`Session`(如果`auto_start`設置為`true`的話),例如,我們在應用配置中添加如下配置:
```
<pre class="calibre18">
```
<span class="hljs-string">'session'</span> => [
<span class="hljs-string">'prefix'</span> => <span class="hljs-string">'think'</span>,
<span class="hljs-string">'type'</span> => <span class="hljs-string">''</span>,
<span class="hljs-string">'auto_start'</span> => <span class="hljs-keyword">true</span>,
],
```
```
無需任何操作就可以直接調用`Session`類的相關方法,例如:
```
<pre class="calibre18">
```
<span class="hljs-operator"><span class="hljs-title1">Session</span>:<span class="hljs-string">:<span class="hljs-function">set</span>(<span class="hljs-operator">'name'</span>,<span class="hljs-operator">'thinkphp'</span>)</span></span>;
<span class="hljs-operator"><span class="hljs-title1">Session</span>:<span class="hljs-string">:<span class="hljs-function">get</span>(<span class="hljs-operator">'name'</span>)</span></span>;
```
```
如果你的應用不同模塊需要不同的`session`配置參數,那么可以在模塊配置文件中重新設置:
```
<pre class="calibre18">
```
<span class="hljs-string">'session'</span> => [
<span class="hljs-string">'prefix'</span> => <span class="hljs-string">'module'</span>,
<span class="hljs-string">'type'</span> => <span class="hljs-string">''</span>,
<span class="hljs-string">'auto_start'</span> => <span class="hljs-keyword">true</span>,
],
```
```
或者在模塊的公共文件中調用`init`方法進行初始化:
```
<pre class="calibre18">
```
Session::init([
<span class="hljs-string">'prefix'</span> => <span class="hljs-string">'module'</span>,
<span class="hljs-string">'type'</span> => <span class="hljs-string">''</span>,
<span class="hljs-string">'auto_start'</span> => <span class="hljs-keyword">true</span>,
]);
```
```
> 如果你沒有使用Session類進行Session操作的話,例如直接操作`$_SESSION`,必須使用上面的方式手動初始化或者直接調用`session_start()`方法進行`session`初始化,但不建議直接操作`$_SESSION`全局變量。
## 讀取`Session`
建議的讀取`Session`數據的方法是通過`Request`請求對象的`session`方法,例如:
```
<pre class="calibre18">
```
<span class="hljs-keyword">namespace</span> <span class="hljs-title">app</span>\<span class="hljs-title">index</span>\<span class="hljs-title">controller</span>;
<span class="hljs-keyword">use</span> <span class="hljs-title">think</span>\<span class="hljs-title">Request</span>;
<span class="hljs-operator"><span class="hljs-keyword">class</span> <span class="hljs-title">User</span></span>{
<span class="hljs-keyword">public</span> <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">index</span><span class="hljs-number">(Request <span class="hljs-regexp">$request</span>)</span></span>{
<span class="hljs-keyword">echo</span> <span class="hljs-regexp">$request</span>->session(<span class="hljs-string">'user_name'</span>);
<span class="hljs-comment">// 讀取二維數組</span><span class="hljs-keyword">echo</span> <span class="hljs-regexp">$request</span>->session(<span class="hljs-string">'user.name'</span>);
}
}
```
```
> 通過Request對象讀取Session數據支持默認值及過濾方法,因此也更加安全,并且支持多維數組的讀取。
當然也支持使用`Session`類直接讀取數據:
```
<pre class="calibre18">
```
<span class="hljs-keyword">namespace</span> <span class="hljs-title">app</span>\<span class="hljs-title">index</span>\<span class="hljs-title">controller</span>;
<span class="hljs-keyword">use</span> <span class="hljs-title">think</span>\<span class="hljs-title">Session</span>;
<span class="hljs-operator"><span class="hljs-keyword">class</span> <span class="hljs-title">User</span></span>{
<span class="hljs-keyword">public</span> <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">index</span><span class="hljs-number">()</span></span>{
<span class="hljs-keyword">echo</span> Session::get(<span class="hljs-string">'user_name'</span>);
<span class="hljs-keyword">echo</span> Session::get(<span class="hljs-string">'user.name'</span>);
}
}
```
```
> `Session`類的`get`方法只支持最大二維數組的讀取,而`Request`對象的`session`方法可以支持任意級別的二維數組獲取。
## `SESSION`操作
使用`think\Session`類進行`Session`的操作和管理,例如:
```
<pre class="calibre18">
```
<span class="hljs-keyword">namespace</span> <span class="hljs-title">app</span>\<span class="hljs-title">index</span>\<span class="hljs-title">controller</span>;
<span class="hljs-keyword">use</span> <span class="hljs-title">think</span>\<span class="hljs-title">Session</span>;
<span class="hljs-operator"><span class="hljs-keyword">class</span> <span class="hljs-title">User</span></span>{
<span class="hljs-keyword">public</span> <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">index</span><span class="hljs-number">()</span></span>{
<span class="hljs-comment">// 賦值(當前作用域)</span>
Session::set(<span class="hljs-string">'name'</span>,<span class="hljs-string">'thinkphp'</span>);
<span class="hljs-comment">// 賦值think作用域</span>
Session::set(<span class="hljs-string">'name'</span>,<span class="hljs-string">'thinkphp'</span>,<span class="hljs-string">'think'</span>);
<span class="hljs-comment">// 判斷(當前作用域)是否賦值</span>
Session::has(<span class="hljs-string">'name'</span>);
<span class="hljs-comment">// 判斷think作用域下面是否賦值</span>
Session::has(<span class="hljs-string">'name'</span>,<span class="hljs-string">'think'</span>);
<span class="hljs-comment">// 取值(當前作用域)</span>
Session::get(<span class="hljs-string">'name'</span>);
<span class="hljs-comment">// 取值think作用域</span>
Session::get(<span class="hljs-string">'name'</span>,<span class="hljs-string">'think'</span>);
<span class="hljs-comment">// 指定當前作用域</span>
Session::prefix(<span class="hljs-string">'think'</span>);
<span class="hljs-comment">// 刪除(當前作用域)</span>
Session::delete(<span class="hljs-string">'name'</span>);
<span class="hljs-comment">// 刪除think作用域下面的值</span>
Session::delete(<span class="hljs-string">'name'</span>,<span class="hljs-string">'think'</span>);
<span class="hljs-comment">// 清除session(當前作用域)</span>
Session::clear();
<span class="hljs-comment">// 清除think作用域</span>
Session::clear(<span class="hljs-string">'think'</span>);
<span class="hljs-comment">// 賦值(當前作用域)</span>
Session::set(<span class="hljs-string">'name.item'</span>,<span class="hljs-string">'thinkphp'</span>);
<span class="hljs-comment">// 判斷(當前作用域)是否賦值</span>
Session::has(<span class="hljs-string">'name.item'</span>);
<span class="hljs-comment">// 取值(當前作用域)</span>
Session::get(<span class="hljs-string">'name.item'</span>);
<span class="hljs-comment">// 刪除(當前作用域)</span>
Session::delete(<span class="hljs-string">'name.item'</span>);
}
}
```
```
## 助手函數
系統也提供了助手函數`session`完成相同的功能,例如:
```
<pre class="calibre18">
```
<span class="hljs-comment">// 初始化session</span>
session([
<span class="hljs-string">'prefix'</span> => <span class="hljs-string">'module'</span>,
<span class="hljs-string">'type'</span> => <span class="hljs-string">''</span>,
<span class="hljs-string">'auto_start'</span> => <span class="hljs-keyword">true</span>,
]);
<span class="hljs-comment">// 賦值(當前作用域)</span>
session(<span class="hljs-string">'name'</span>, <span class="hljs-string">'thinkphp'</span>);
<span class="hljs-comment">// 賦值think作用域</span>
session(<span class="hljs-string">'name'</span>, <span class="hljs-string">'thinkphp'</span>, <span class="hljs-string">'think'</span>);
<span class="hljs-comment">// 判斷(當前作用域)是否賦值</span>
session(<span class="hljs-string">'?name'</span>);
<span class="hljs-comment">// 取值(當前作用域)</span>
session(<span class="hljs-string">'name'</span>);
<span class="hljs-comment">// 取值think作用域</span>
session(<span class="hljs-string">'name'</span>, <span class="hljs-string">''</span>, <span class="hljs-string">'think'</span>);
<span class="hljs-comment">// 刪除(當前作用域)</span>
session(<span class="hljs-string">'name'</span>, <span class="hljs-keyword">null</span>);
<span class="hljs-comment">// 清除session(當前作用域)</span>
session(<span class="hljs-keyword">null</span>);
<span class="hljs-comment">// 清除think作用域</span>
session(<span class="hljs-keyword">null</span>, <span class="hljs-string">'think'</span>);
```
```
## 模板輸出
如果需要在模板中輸出Session數據,可以使用下面的方法:
```
<pre class="calibre18">
```
{<span class="hljs-regexp">$Request</span>.session.user_name}
```
```
也可以支持二維數組的輸出
```
<pre class="calibre18">
```
{<span class="hljs-regexp">$Request</span>.session.user.name}
```
```
## `Session`驅動
支持指定 Session 驅動,配置文件如下:
```
<pre class="calibre18">
```
<span class="hljs-string">'session'</span> => [
<span class="hljs-string">'prefix'</span> => <span class="hljs-string">'module'</span>,
<span class="hljs-string">'type'</span> => <span class="hljs-string">'redis'</span>,
<span class="hljs-string">'auto_start'</span> => <span class="hljs-keyword">true</span>,
<span class="hljs-comment">// redis主機</span><span class="hljs-string">'host'</span> => <span class="hljs-string">'127.0.0.1'</span>,
<span class="hljs-comment">// redis端口</span><span class="hljs-string">'port'</span> => <span class="hljs-number">6379</span>,
<span class="hljs-comment">// 密碼</span><span class="hljs-string">'password'</span> => <span class="hljs-string">''</span>,
]
```
```
表示使用`redis`作為`session`類型。
## Session示例
下面舉一個例子。
```
<pre class="calibre18">
```
<span class="hljs-keyword">namespace</span> <span class="hljs-title">app</span>\<span class="hljs-title">index</span>\<span class="hljs-title">controller</span>;
<span class="hljs-keyword">use</span> <span class="hljs-title">think</span>\<span class="hljs-title">Controller</span>;
<span class="hljs-keyword">use</span> <span class="hljs-title">think</span>\<span class="hljs-title">Session</span>;
<span class="hljs-operator"><span class="hljs-keyword">class</span> <span class="hljs-title">Index</span> <span class="hljs-keyword">extends</span> <span class="hljs-title">Controller</span></span>{
<span class="hljs-keyword">public</span> <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">index</span><span class="hljs-number">()</span></span>{
<span class="hljs-keyword">return</span> <span class="hljs-regexp">$this</span>->fetch();
}
<span class="hljs-keyword">public</span> <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">save</span><span class="hljs-number">(<span class="hljs-regexp">$name</span>=<span class="hljs-string">''</span>)</span></span>{
Session::set(<span class="hljs-string">'user_name'</span>,<span class="hljs-regexp">$name</span>);
<span class="hljs-regexp">$this</span>->success(<span class="hljs-string">'Session設置成功'</span>);
}
}
```
```
定義默認文件(`application/index/view/index.html`)如下:
```
<pre class="calibre18">
```
<span class="hljs-regexp"><!doctype html></span><span class="hljs-regexp"><<span class="hljs-operator">html</span>></span><span class="hljs-regexp"><<span class="hljs-operator">head</span>></span><span class="hljs-regexp"><<span class="hljs-operator">meta</span> <span class="hljs-operator">charset</span>=<span class="hljs-string">"UTF-8"</span>></span><span class="hljs-regexp"><<span class="hljs-operator">title</span>></span>Session示例<span class="hljs-regexp"></<span class="hljs-operator">title</span>></span><span class="hljs-regexp"><<span class="hljs-operator">style</span>></span><span class="css"><span class="hljs-regexp">body</span> <span class="hljs-operator">{
<span class="hljs-operator"><span class="hljs-title1">font-family</span>:<span class="hljs-string"><span class="hljs-operator">"Microsoft Yahei"</span>,<span class="hljs-operator">"Helvetica Neue"</span>,Helvetica,Arial,sans-serif</span></span>;
<span class="hljs-operator"><span class="hljs-title1">font-size</span>:<span class="hljs-string"><span class="hljs-number">16px</span></span></span>;
<span class="hljs-operator"><span class="hljs-title1">padding</span>:<span class="hljs-string"><span class="hljs-number">5px</span></span></span>;
}</span><span class="hljs-regexp">.form</span><span class="hljs-operator">{
<span class="hljs-operator"><span class="hljs-title1">padding</span>:<span class="hljs-string"> <span class="hljs-number">15px</span></span></span>;
<span class="hljs-operator"><span class="hljs-title1">font-size</span>:<span class="hljs-string"> <span class="hljs-number">16px</span></span></span>;
}</span><span class="hljs-regexp">.form</span> <span class="hljs-regexp">.text</span> <span class="hljs-operator">{
<span class="hljs-operator"><span class="hljs-title1">padding</span>:<span class="hljs-string"> <span class="hljs-number">3px</span></span></span>;
<span class="hljs-operator"><span class="hljs-title1">margin</span>:<span class="hljs-string"><span class="hljs-number">2px</span> <span class="hljs-number">10px</span></span></span>;
<span class="hljs-operator"><span class="hljs-title1">width</span>:<span class="hljs-string"> <span class="hljs-number">240px</span></span></span>;
<span class="hljs-operator"><span class="hljs-title1">height</span>:<span class="hljs-string"> <span class="hljs-number">24px</span></span></span>;
<span class="hljs-operator"><span class="hljs-title1">line-height</span>:<span class="hljs-string"> <span class="hljs-number">28px</span></span></span>;
<span class="hljs-operator"><span class="hljs-title1">border</span>:<span class="hljs-string"> <span class="hljs-number">1px</span> solid <span class="hljs-title">#D4D4D4</span></span></span>;
}</span><span class="hljs-regexp">.form</span> <span class="hljs-regexp">.btn</span><span class="hljs-operator">{
<span class="hljs-operator"><span class="hljs-title1">margin</span>:<span class="hljs-string"><span class="hljs-number">6px</span></span></span>;
<span class="hljs-operator"><span class="hljs-title1">padding</span>:<span class="hljs-string"> <span class="hljs-number">6px</span></span></span>;
<span class="hljs-operator"><span class="hljs-title1">width</span>:<span class="hljs-string"> <span class="hljs-number">120px</span></span></span>;
<span class="hljs-operator"><span class="hljs-title1">font-size</span>:<span class="hljs-string"> <span class="hljs-number">16px</span></span></span>;
<span class="hljs-operator"><span class="hljs-title1">border</span>:<span class="hljs-string"> <span class="hljs-number">1px</span> solid <span class="hljs-title">#D4D4D4</span></span></span>;
<span class="hljs-operator"><span class="hljs-title1">cursor</span>:<span class="hljs-string"> pointer</span></span>;
<span class="hljs-operator"><span class="hljs-title1">background</span>:<span class="hljs-string"><span class="hljs-title">#eee</span></span></span>;
}</span><span class="hljs-regexp">a</span><span class="hljs-operator">{
<span class="hljs-operator"><span class="hljs-title1">color</span>:<span class="hljs-string"> <span class="hljs-title">#868686</span></span></span>;
<span class="hljs-operator"><span class="hljs-title1">cursor</span>:<span class="hljs-string"> pointer</span></span>;
}</span><span class="hljs-operator"><span class="hljs-title1">a</span>:<span class="hljs-string">hover{
text-decoration: underline</span></span>;
}
<span class="hljs-regexp">h2</span><span class="hljs-operator">{
<span class="hljs-operator"><span class="hljs-title1">color</span>:<span class="hljs-string"> <span class="hljs-title">#4288ce</span></span></span>;
<span class="hljs-operator"><span class="hljs-title1">font-weight</span>:<span class="hljs-string"> <span class="hljs-number">400</span></span></span>;
<span class="hljs-operator"><span class="hljs-title1">padding</span>:<span class="hljs-string"> <span class="hljs-number">6px</span> <span class="hljs-number">0</span></span></span>;
<span class="hljs-operator"><span class="hljs-title1">margin</span>:<span class="hljs-string"> <span class="hljs-number">6px</span> <span class="hljs-number">0</span> <span class="hljs-number">0</span></span></span>;
<span class="hljs-operator"><span class="hljs-title1">font-size</span>:<span class="hljs-string"> <span class="hljs-number">28px</span></span></span>;
<span class="hljs-operator"><span class="hljs-title1">border-bottom</span>:<span class="hljs-string"> <span class="hljs-number">1px</span> solid <span class="hljs-title">#eee</span></span></span>;
}</span><span class="hljs-regexp">div</span><span class="hljs-operator">{
<span class="hljs-operator"><span class="hljs-title1">margin</span>:<span class="hljs-string"><span class="hljs-number">8px</span></span></span>;
}</span><span class="hljs-regexp">.info</span><span class="hljs-operator">{
<span class="hljs-operator"><span class="hljs-title1">padding</span>:<span class="hljs-string"> <span class="hljs-number">12px</span> <span class="hljs-number">0</span></span></span>;
<span class="hljs-operator"><span class="hljs-title1">border-bottom</span>:<span class="hljs-string"> <span class="hljs-number">1px</span> solid <span class="hljs-title">#eee</span></span></span>;
}</span><span class="hljs-regexp">.copyright</span><span class="hljs-operator">{
<span class="hljs-operator"><span class="hljs-title1">margin-top</span>:<span class="hljs-string"> <span class="hljs-number">24px</span></span></span>;
<span class="hljs-operator"><span class="hljs-title1">padding</span>:<span class="hljs-string"> <span class="hljs-number">12px</span> <span class="hljs-number">0</span></span></span>;
<span class="hljs-operator"><span class="hljs-title1">border-top</span>:<span class="hljs-string"> <span class="hljs-number">1px</span> solid <span class="hljs-title">#eee</span></span></span>;
}</span></span><span class="hljs-regexp"></<span class="hljs-operator">style</span>></span><span class="hljs-regexp"></<span class="hljs-operator">head</span>></span><span class="hljs-regexp"><<span class="hljs-operator">body</span>></span><span class="hljs-regexp"><<span class="hljs-operator">h2</span>></span>Session示例<span class="hljs-regexp"></<span class="hljs-operator">h2</span>></span><span class="hljs-regexp"><<span class="hljs-operator">FORM</span> <span class="hljs-operator">method</span>=<span class="hljs-string">"post"</span> <span class="hljs-operator">class</span>=<span class="hljs-string">"form"</span> <span class="hljs-operator">action</span>=<span class="hljs-string">"{:url('save')}"</span>></span>
輸入用戶名:<span class="hljs-regexp"><<span class="hljs-operator">INPUT</span> <span class="hljs-operator">type</span>=<span class="hljs-string">"text"</span> <span class="hljs-operator">class</span>=<span class="hljs-string">"text"</span> <span class="hljs-operator">name</span>=<span class="hljs-string">"name"</span> <span class="hljs-operator">value</span>=<span class="hljs-string">"{$Request.session.user_name}"</span> ></span><span class="hljs-regexp"><<span class="hljs-operator">br</span>/></span><span class="hljs-regexp"><<span class="hljs-operator">INPUT</span> <span class="hljs-operator">type</span>=<span class="hljs-string">"submit"</span> <span class="hljs-operator">class</span>=<span class="hljs-string">"btn"</span> <span class="hljs-operator">value</span>=<span class="hljs-string">" 保存 "</span>></span><span class="hljs-regexp"></<span class="hljs-operator">FORM</span>></span><span class="hljs-regexp"><<span class="hljs-operator">div</span> <span class="hljs-operator">class</span>=<span class="hljs-string">"copyright"</span>></span><span class="hljs-regexp"><<span class="hljs-operator">a</span> <span class="hljs-operator">title</span>=<span class="hljs-string">"官方網站"</span> <span class="hljs-operator">href</span>=<span class="hljs-string">"http://www.thinkphp.cn"</span>></span>ThinkPHP<span class="hljs-regexp"></<span class="hljs-operator">a</span>></span><span class="hljs-regexp"><<span class="hljs-operator">span</span>></span>V5<span class="hljs-regexp"></<span class="hljs-operator">span</span>></span><span class="hljs-regexp"><<span class="hljs-operator">span</span>></span>{ 十年磨一劍-為API開發設計的高性能框架 }<span class="hljs-regexp"></<span class="hljs-operator">span</span>></span><span class="hljs-regexp"></<span class="hljs-operator">div</span>></span><span class="hljs-regexp"></<span class="hljs-operator">body</span>></span><span class="hljs-regexp"></<span class="hljs-operator">html</span>></span>
```
```
訪問URL地址
```
<pre class="calibre18">
```
<span class="hljs-string">http:</span>
<span class="hljs-comment">//tp5.com</span>
```
```
頁面顯示:

當我們輸入`ThinkPHP`后點擊保存按鈕


然后頁面后 用戶名輸入框中會顯示已經保存的`session`值。

- 脕茫隆壟脨貌脩脭
- 脕茫隆壟脨貌脩脭
- 脪祿隆壟祿霉麓隆
- 脪祿隆壟祿霉麓隆
- 露鎂隆壟URL潞脥脗路脫脡
- 露鎂隆壟URL潞脥脗路脫脡
- 脠媒隆壟脟毛脟貿潞脥脧矛脫婁
- 脠媒隆壟脟毛脟貿潞脥脧矛脫婁
- 脣脛隆壟脢媒戮脻驢芒
- 脣脛隆壟脢媒戮脻驢芒
- 脦氓隆壟虜茅脩爐脫茂脩脭
- 脦氓隆壟虜茅脩爐脫茂脩脭
- 脕霉隆壟脛攏脨脥潞脥鹿脴脕陋
- 攏簍1攏漏脛攏脨脥露簍脪氓
- 攏簍2攏漏祿霉麓隆虜脵脳梅
- 攏簍3攏漏露脕脠隆脝梅潞脥脨脼賂脛脝梅
- 攏簍4攏漏脌脿脨脥脳陋祿祿潞脥脳脭露爐脥錨魯脡
- 攏簍5攏漏虜茅脩爐路露脦摟
- 攏簍6攏漏脢盲脠毛潞脥脩茅脰隴
- 攏簍7攏漏鹿脴脕陋
- 攏簍8攏漏脛攏脨脥脢盲魯枚
- 脝脽隆壟脢脫脥錄潞脥脛攏擄氓
- 脝脽隆壟脢脫脥錄潞脥脛攏擄氓
- 擄脣隆壟碌梅脢脭潞脥脠脮脰戮
- 擄脣隆壟碌梅脢脭潞脥脠脮脰戮
- 戮脜隆壟API驢陋路壟
- 戮脜隆壟API驢陋路壟
- 脢廬隆壟脙眉脕卯脨脨鹿隴戮脽
- 脢廬隆壟脙眉脕卯脨脨鹿隴戮脽
- 脢廬脪祿隆壟脌漏脮鹿
- 脢廬脪祿隆壟脌漏脮鹿
- 脢廬露鎂隆壟脭脫脧卯
- Cookie
- Session
- 碌樓脭陋虜芒脢脭
- 脥錄脧帽麓婁脌鉚
- 脦脛錄鎂脡脧麓蘆
- 脩茅脰隴脗毛
- 賂陸脗錄
- A隆壟魯攏錄沒脦脢脤芒錄爐
- B隆壟3.2潞脥5.0脟酶鹵冒
- C隆壟脰煤脢脰潞爐脢媒
- 路盧脥芒脝陋攏潞脩摟脧擄ThinkPHP5碌脛脮媒脠路脳脣脢脝
- 路盧脥芒脝陋攏潞脩摟脧擄ThinkPHP5碌脛脮媒脠路脳脣脢脝