# 隊列消息
目錄
文件
* 在線文檔收集
* 路由組
* 控制器
* 問題
* 筆記
* OctoberCms服務
* app容器
* 擴展行為
* 緩存
* Collection類
* Lazy Collections
* Collection方法
* 助手函數
* 數組助手函數
* 路徑助手函數
* 玄樂助手函數
* 其他助手函數
* 錯誤與記錄
* 事件處理
* HTML頁面
* 文件與目錄操作
* 散列和加密
* 郵件
* 郵件內容
* 郵件發送
* 分頁
* 模板解析器
* 動態解析器語法
* 隊列消息
* 請求與輸入
* 響應
* 視圖
* 路由器
* 配置
* 驗證操作
* October CMS
* OctoberCms控制器
* 轉載
* vscode編輯器
* OctoberCms數據庫操作
* corlate模板修改
* 修改頂部導航
新建章節
最后由xhdx\_2005在4 天前編輯
### 組態
?
隊列允許您將諸如發送電子郵件之類的耗時任務的處理推遲到以后,從而大大加快了對應用程序的Web請求。
?
隊列配置文件存儲在中`config/queue.php`。在此文件中,您將找到包含的每個隊列驅動程序的連接配置,例如數據庫,\[Beanstalkd\](http://kr.github.com/beanstalkd),\[IronMQ\](http://iron.io/),\[Amazon SQS\](http://aws.amazon.com/sqs),\[Redis\](http://redis.io/),空和同步(供本地使用)驅動程序。該`null`隊列駕駛員簡單地丟棄排隊的作業,使他們永遠不會執行。
?
### 驅動程序先決條件
?
在使用Amazon SQS,Beanstalkd,IronMQ或Redis驅動程序之前,您需要安裝\[Drivers plugin\](http://octobercms.com/plugin/october-drivers)。
?
### \[\](https://octobercms.com/docs/services/queues#basic\-usage)基本用法
?
#### 將作業推入隊列
?
要將新作業推送到隊列,請使用以下`Queue::push`方法:
?
~~~
Queue::push('SendEmail', \['message' => $message\]);
~~~
?
給該`push`方法的第一個參數是應用于處理作業的類的名稱。第二個參數是應傳遞給處理程序的數據數組。作業處理程序應如下定義:
?
~~~
class SendEmail
{
public function fire($job, $data)
{
//
}
}
~~~
?
注意,唯一需要的方法是`fire`,它接收一個`Job`實例以及該實例的數組`data`被推送到隊列中。
?
#### 指定自定義處理程序方法
?
如果您希望作業使用以外的方法`fire`,則可以在推送作業時指定該方法:
?
~~~
Queue::push('SendEmail@send', \['message' => $message\]);
~~~
?
#### 指定作業的隊列名稱
?
您還可以指定將作業發送到的隊列/管道:
?
~~~
Queue::push('SendEmail@send', \['message' => $message\], 'emails');
~~~
?
#### 延遲執行工作
?
有時您可能希望延遲執行排隊的作業。例如,您可能希望將注冊后15分鐘發送電子郵件給客戶的作業排隊。您可以使用以下`Queue::later`方法完成此操作:
?
~~~
$date = Carbon::now()\-\>addMinutes(15);
?
Queue::later($date, 'SendEmail', \['message' => $message\]);
~~~
?
在此示例中,我們使用\[Carbon\](https://github.com/briannesbitt/Carbon)日期庫指定希望分配給作業的延遲。或者,您可以將希望延遲的秒數作為整數傳遞。
?
\> \*\*注意:\*\*Amazon SQS服務的延遲限制為900秒(15分鐘)。
?
#### 隊列和模型
?
如果您排隊的作業在其數據中采用了模型,則只有模型的標識符將被序列化到隊列中。在實際處理完作業后,隊列系統將自動從數據庫中重新檢索完整的模型實例。所有這些對您的應用程序都是完全透明的,并且可以防止序列化完整模型實例引起的問題。
?
#### 刪除已處理的作業
?
處理完作業后,必須將其從隊列中刪除,這可以通過實例上的`delete`方法來完成`Job`:
?
~~~
public function fire($job, $data)
{
// Process the job...
?
$job->delete();
}
~~~
?
#### 將作業釋放回隊列
?
如果希望將作業釋放回隊列,則可以通過以下`release`方法進行釋放:
?
~~~
public function fire($job, $data)
{
// Process the job...
?
$job->release();
}
~~~
?
您還可以指定釋放作業之前要等待的秒數:
?
~~~
$job\-\>release(5);
~~~
?
#### 檢查運行嘗試次數
?
如果在處理作業時發生異常,它將自動釋放回隊列。您可以使用以下`attempts`方法檢查已嘗試運行該作業的次數:
?
~~~
if ($job\-\>attempts() > 3) {
//
}
~~~
?
#### 訪問工作ID
?
您還可以訪問工作標識符:
?
~~~
$job\-\>getJobId();
~~~
?
### \[\](https://octobercms.com/docs/services/queues#queueing\-closures)排隊關閉
?
您也可以將Closure推入隊列。這對于需要排隊的快速,簡單任務非常方便:
?
#### 將閉包推入隊列
?
~~~
Queue::push(function($job) use ($id) {
Account::delete($id);
?
$job->delete();
});
~~~
?
\> \*\*注意:\*\*不要通過`use`指令將對象提供給排隊的閉包,而應考慮傳遞主鍵并從隊列作業中重新拉相關的模型。這通常可以避免意外的序列化行為。
?
使用Iron.io\[推送隊列時\](https://octobercms.com/docs/services/queues#push-queues),應采取額外的預防措施將Closures排隊。接收隊列消息的端點應檢查令牌以驗證請求是否確實來自Iron.io。例如,您的推送隊列端點應類似于:`https://example.com/queue/receive?token=SecretToken`。然后,您可以在編組隊列請求之前檢查應用程序中秘密令牌的值。
?
### \[\](https://octobercms.com/docs/services/queues#running\-the\-queue\-worker)運行隊列工作器
?
October包含一些\[控制臺命令\](https://octobercms.com/docs/console/commands),這些\[命令\](https://octobercms.com/docs/console/commands)將處理隊列中的作業。
?
要在將新作業推入隊列時對其進行處理,請運行以下`queue:work`命令:
?
~~~
php artisan queue:work
~~~
?
此任務啟動后,它將繼續運行,直到手動將其停止為止。您可以使用諸如\[Supervisor之\](https://octobercms.com/docs/services/queues#supervisor-configuration)類的進程監視器來確保隊列工作器不會停止運行。
?
隊列工作進程將啟動的應用程序狀態存儲在內存中。啟動后,他們將無法識別您的代碼更改。部署更改時,請重新啟動隊列工作器。
?
#### 處理單個作業
?
要僅處理隊列中的第一個作業,請使用以下`--once`選項:
?
~~~
php artisan queue:work \--once
~~~
?
#### 指定連接和隊列
?
您還可以指定工作者應使用哪個隊列連接:
?
~~~
php artisan queue:work \--once connection
~~~
?
您可以將以逗號分隔的隊列連接列表傳遞給`work`命令以設置隊列優先級:
?
~~~
php artisan queue:work \--once \--queue=high,low
~~~
?
在此示例中,`high`將始終處理`low`隊列中的作業,然后再將其從隊列移至作業。
?
#### 指定作業超時參數
?
您還可以設置允許每個作業運行的時間長度(以秒為單位):
?
~~~
php artisan queue:work \--once \--timeout=60
~~~
?
#### 指定隊列睡眠時間
?
另外,您可以指定在輪詢新作業之前要等待的秒數:
?
~~~
php artisan queue:work \--once \--sleep=5
~~~
?
請注意,如果隊列中沒有作業,則隊列僅“休眠”。如果有更多的作業可用,隊列將繼續工作而不休眠。
?
### \[\](https://octobercms.com/docs/services/queues#daemon\-queue\-worker)守護程序隊列工作者
?
默認情況下,`queue:work`將處理作業,而無需重新啟動框架。與該`queue:work --once`命令相比,這可顯著減少CPU使用率,但會增加部署期間需要清空當前正在執行的作業隊列的復雜性。
?
要以守護程序模式啟動隊列工作器,只需省略該`--once`標志:
?
~~~
php artisan queue:work connection
?
php artisan queue:work connection \--sleep=3
?
php artisan queue:work connection \--sleep=3 \--tries=3
~~~
?
您可以使用該`php artisan help queue:work`命令查看所有可用選項。
?
### 使用守護程序隊列工作器進行部署
?
使用守護程序隊列工作器部署應用程序的最簡單方法是在部署開始時將應用程序置于維護模式。可以使用后端設置區域完成此操作。一旦應用程序處于維護模式,十月將不接受隊列中的任何新作業,但將繼續處理現有作業。
?
重新啟動工作程序的最簡單方法是在部署腳本中包括以下命令:
?
~~~
php artisan queue:restart
~~~
?
此命令將指示所有隊列工作器在處理完當前作業后重新啟動。
?
\> \*\*注意:\*\*此命令依賴于高速緩存系統來計劃重新啟動。默認情況下,APCu不適用于CLI命令。如果您使用的是APCu,請添加`apc.enable\_cli=1`到您的APCu配置中。
?
### 守護程序隊列工作者的編碼
?
守護程序隊列工作程序在處理每個作業之前不會重新啟動平臺。因此,在工作完成之前,您應小心釋放任何大量資源。例如,如果要使用GD庫進行圖像處理,`imagedestroy`則完成后應釋放內存。
?
同樣,長時間運行的守護程序使用數據庫連接時可能會斷開連接。您可以使用該`Db::reconnect`方法來確保您具有全新的連接。
?
### \[\](https://octobercms.com/docs/services/queues#supervisor\-configuration)主管配置
?
### 安裝主管
?
Supervisor是Linux操作系統的進程監視器,`queue:work`如果進程失敗,它將自動重啟。要在Ubuntu上安裝Supervisor,可以使用以下命令:
?
~~~
sudo apt\-get install supervisor
~~~
?
### 配置主管
?
主管配置文件通常存儲在`/etc/supervisor/conf.d`目錄中。在此目錄中,您可以創建任意數量的配置文件,這些文件指導主管如何監視您的過程。例如,讓我們創建一個`october-worker.conf`啟動并監視`queue:work`過程的文件:
?
~~~
\[program:october\-worker\]
process\_name=%(program\_name)s\_%(process\_num)02d
command=php /path/to/october/artisan queue:work \--sleep=3 \--tries=3
autostart=true
autorestart=true
user=october
numprocs=8
redirect\_stderr=true
stdout\_logfile=/path/to/october/worker.log
~~~
?
在此示例中,`numprocs`指令將指示Supervisor運行8個`queue:work`進程并監視所有進程,如果它們失敗則自動將其重新啟動。當然,您應該更改`queue:work`命令指令的部分以反映所需的隊列連接。該`user`指令應更改為有權運行該命令的用戶的名稱。
?
### 起始主管
?
創建配置文件后,您可以使用以下命令更新Supervisor配置并啟動過程:
?
~~~
sudo supervisorctl reread
?
sudo supervisorctl update
?
sudo supervisorctl start october\-worker:\*
~~~
?
有關Supervisor的更多信息,請參閱\[Supervisor文檔\](http://supervisord.org/index.html)。
?
### \[\](https://octobercms.com/docs/services/queues#failed\-jobs)失敗的工作
?
由于事情并非總是按計劃進行,因此有時排隊的工作將失敗。別擔心,這發生在我們當中!有一種方便的方法可以指定嘗試作業的最大次數。作業超過此嘗試次數后,它將被插入`failed\_jobs`表中。可以通過`config/queue.php`配置文件配置失敗的作業表名稱。
?
您可以使用`--tries`以下`queue:work`命令上的開關指定嘗試作業的最大次數:
?
~~~
php artisan queue:work connection\-name \--tries=3
~~~
?
如果您想要注冊將在隊列作業失敗時調用的事件,則可以使用該`Queue::failing`方法。此事件是通過電子郵件或其他第三方服務通知您的團隊的好機會。
?
~~~
Queue::failing(function($connection, $job, $data) {
//
});
~~~
?
您還可以`failed`直接在隊列作業類上定義方法,從而使您可以在發生故障時執行特定于作業的操作:
?
~~~
public function failed($data)
{
// Called when the job is failing...
}
~~~
?
的原始數組`data`也將自動傳遞給失敗的方法。
?
### 重試失敗的作業
?
要查看所有失敗的作業,可以使用`queue:failed`Artisan命令:
?
~~~
php artisan queue:failed
~~~
?
該`queue:failed`命令將列出作業ID,連接,隊列和故障時間。作業ID可用于重試失敗的作業。例如,要重試ID為5的失敗作業,應發出以下命令:
?
~~~
php artisan queue:retry 5
~~~
?
如果要刪除失敗的作業,可以使用以下`queue:forget`命令:
?
~~~
php artisan queue:forget 5
~~~
?
要刪除所有失敗的作業,可以使用以下`queue:flush`命令:
?
~~~
php artisan queue:flush
~~~
?
?
### 組態
隊列允許您將諸如發送電子郵件之類的耗時任務的處理推遲到以后,從而大大加快了對應用程序的Web請求。
隊列配置文件存儲在中`config/queue.php`。在此文件中,您將找到包含的每個隊列驅動程序的連接配置,例如數據庫,[Beanstalkd](http://kr.github.com/beanstalkd),[IronMQ](http://iron.io/),[Amazon SQS](http://aws.amazon.com/sqs),[Redis](http://redis.io/),空和同步(供本地使用)驅動程序。該`null`隊列駕駛員簡單地丟棄排隊的作業,使他們永遠不會執行。
### 驅動程序先決條件
在使用Amazon SQS,Beanstalkd,IronMQ或Redis驅動程序之前,您需要安裝[Drivers plugin](http://octobercms.com/plugin/october-drivers)。
### [](https://octobercms.com/docs/services/queues#basic-usage)基本用法
#### 將作業推入隊列
要將新作業推送到隊列,請使用以下`Queue::push`方法:
~~~
Queue::push('SendEmail', ['message' => $message]);
~~~
給該`push`方法的第一個參數是應用于處理作業的類的名稱。第二個參數是應傳遞給處理程序的數據數組。作業處理程序應如下定義:
~~~
class SendEmail
{
public function fire($job, $data)
{
//
}
}
~~~
注意,唯一需要的方法是`fire`,它接收一個`Job`實例以及該實例的數組`data`被推送到隊列中。
#### 指定自定義處理程序方法
如果您希望作業使用以外的方法`fire`,則可以在推送作業時指定該方法:
~~~
Queue::push('SendEmail@send', ['message' => $message]);
~~~
#### 指定作業的隊列名稱
您還可以指定將作業發送到的隊列/管道:
~~~
Queue::push('SendEmail@send', ['message' => $message], 'emails');
~~~
#### 延遲執行工作
有時您可能希望延遲執行排隊的作業。例如,您可能希望將注冊后15分鐘發送電子郵件給客戶的作業排隊。您可以使用以下`Queue::later`方法完成此操作:
~~~
$date = Carbon::now()->addMinutes(15);
Queue::later($date, 'SendEmail', ['message' => $message]);
~~~
在此示例中,我們使用[Carbon](https://github.com/briannesbitt/Carbon)日期庫指定希望分配給作業的延遲。或者,您可以將希望延遲的秒數作為整數傳遞。
> \*\*注意:\*\*Amazon SQS服務的延遲限制為900秒(15分鐘)。
#### 隊列和模型
如果您排隊的作業在其數據中采用了模型,則只有模型的標識符將被序列化到隊列中。在實際處理完作業后,隊列系統將自動從數據庫中重新檢索完整的模型實例。所有這些對您的應用程序都是完全透明的,并且可以防止序列化完整模型實例引起的問題。
#### 刪除已處理的作業
處理完作業后,必須將其從隊列中刪除,這可以通過實例上的`delete`方法來完成`Job`:
~~~
public function fire($job, $data)
{
// Process the job...
$job->delete();
}
~~~
#### 將作業釋放回隊列
如果希望將作業釋放回隊列,則可以通過以下`release`方法進行釋放:
~~~
public function fire($job, $data)
{
// Process the job...
$job->release();
}
~~~
您還可以指定釋放作業之前要等待的秒數:
~~~
$job->release(5);
~~~
#### 檢查運行嘗試次數
如果在處理作業時發生異常,它將自動釋放回隊列。您可以使用以下`attempts`方法檢查已嘗試運行該作業的次數:
~~~
if ($job->attempts() > 3) {
//
}
~~~
#### 訪問工作ID
您還可以訪問工作標識符:
~~~
$job->getJobId();
~~~
### [](https://octobercms.com/docs/services/queues#queueing-closures)排隊關閉
您也可以將Closure推入隊列。這對于需要排隊的快速,簡單任務非常方便:
#### 將閉包推入隊列
~~~
Queue::push(function($job) use ($id) {
Account::delete($id);
$job->delete();
});
~~~
> \*\*注意:\*\*不要通過`use`指令將對象提供給排隊的閉包,而應考慮傳遞主鍵并從隊列作業中重新拉相關的模型。這通常可以避免意外的序列化行為。
[使用Iron.io](http://xn--iron-9s6fu80r.io/)[推送隊列時](https://octobercms.com/docs/services/queues#push-queues),應采取額外的預防措施將Closures排隊。[接收隊列消息的端點應檢查令牌以驗證請求是否確實來自Iron.io](http://xn--iron-455fg838csuex3vq4gjof1rl7if01d66fm9bm5f6uv1vf5qs6yhy4yk8ji7o2q6bcq5cxgbv15oe30a.io/)。例如,您的推送隊列端點應類似于:`https://example.com/queue/receive?token=SecretToken`。然后,您可以在編組隊列請求之前檢查應用程序中秘密令牌的值。
### [](https://octobercms.com/docs/services/queues#running-the-queue-worker)運行隊列工作器
October包含一些[控制臺命令](https://octobercms.com/docs/console/commands),這些[命令](https://octobercms.com/docs/console/commands)將處理隊列中的作業。
要在將新作業推入隊列時對其進行處理,請運行以下`queue:work`命令:
~~~
php artisan queue:work
~~~
此任務啟動后,它將繼續運行,直到手動將其停止為止。您可以使用諸如[Supervisor之](https://octobercms.com/docs/services/queues#supervisor-configuration)類的進程監視器來確保隊列工作器不會停止運行。
隊列工作進程將啟動的應用程序狀態存儲在內存中。啟動后,他們將無法識別您的代碼更改。部署更改時,請重新啟動隊列工作器。
#### 處理單個作業
要僅處理隊列中的第一個作業,請使用以下`--once`選項:
~~~
php artisan queue:work --once
~~~
#### 指定連接和隊列
您還可以指定工作者應使用哪個隊列連接:
~~~
php artisan queue:work --once connection
~~~
您可以將以逗號分隔的隊列連接列表傳遞給`work`命令以設置隊列優先級:
~~~
php artisan queue:work --once --queue=high,low
~~~
在此示例中,`high`將始終處理`low`隊列中的作業,然后再將其從隊列移至作業。
#### 指定作業超時參數
您還可以設置允許每個作業運行的時間長度(以秒為單位):
~~~
php artisan queue:work --once --timeout=60
~~~
#### 指定隊列睡眠時間
另外,您可以指定在輪詢新作業之前要等待的秒數:
~~~
php artisan queue:work --once --sleep=5
~~~
請注意,如果隊列中沒有作業,則隊列僅“休眠”。如果有更多的作業可用,隊列將繼續工作而不休眠。
### [](https://octobercms.com/docs/services/queues#daemon-queue-worker)守護程序隊列工作者
默認情況下,`queue:work`將處理作業,而無需重新啟動框架。與該`queue:work --once`命令相比,這可顯著減少CPU使用率,但會增加部署期間需要清空當前正在執行的作業隊列的復雜性。
要以守護程序模式啟動隊列工作器,只需省略該`--once`標志:
~~~
php artisan queue:work connection
php artisan queue:work connection --sleep=3
php artisan queue:work connection --sleep=3 --tries=3
~~~
您可以使用該`php artisan help queue:work`命令查看所有可用選項。
### 使用守護程序隊列工作器進行部署
使用守護程序隊列工作器部署應用程序的最簡單方法是在部署開始時將應用程序置于維護模式。可以使用后端設置區域完成此操作。一旦應用程序處于維護模式,十月將不接受隊列中的任何新作業,但將繼續處理現有作業。
重新啟動工作程序的最簡單方法是在部署腳本中包括以下命令:
~~~
php artisan queue:restart
~~~
此命令將指示所有隊列工作器在處理完當前作業后重新啟動。
> \*\*注意:\*\*此命令依賴于高速緩存系統來計劃重新啟動。默認情況下,APCu不適用于CLI命令。如果您使用的是APCu,請添加`apc.enable_cli=1`到您的APCu配置中。
### 守護程序隊列工作者的編碼
守護程序隊列工作程序在處理每個作業之前不會重新啟動平臺。因此,在工作完成之前,您應小心釋放任何大量資源。例如,如果要使用GD庫進行圖像處理,`imagedestroy`則完成后應釋放內存。
同樣,長時間運行的守護程序使用數據庫連接時可能會斷開連接。您可以使用該`Db::reconnect`方法來確保您具有全新的連接。
### [](https://octobercms.com/docs/services/queues#supervisor-configuration)主管配置
### 安裝主管
Supervisor是Linux操作系統的進程監視器,`queue:work`如果進程失敗,它將自動重啟。要在Ubuntu上安裝Supervisor,可以使用以下命令:
~~~
sudo apt-get install supervisor
~~~
### 配置主管
主管配置文件通常存儲在`/etc/supervisor/conf.d`目錄中。在此目錄中,您可以創建任意數量的配置文件,這些文件指導主管如何監視您的過程。例如,讓我們創建一個`october-worker.conf`啟動并監視`queue:work`過程的文件:
~~~
[program:october-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /path/to/october/artisan queue:work --sleep=3 --tries=3
autostart=true
autorestart=true
user=october
numprocs=8
redirect_stderr=true
stdout_logfile=/path/to/october/worker.log
~~~
在此示例中,`numprocs`指令將指示Supervisor運行8個`queue:work`進程并監視所有進程,如果它們失敗則自動將其重新啟動。當然,您應該更改`queue:work`命令指令的部分以反映所需的隊列連接。該`user`指令應更改為有權運行該命令的用戶的名稱。
### 起始主管
創建配置文件后,您可以使用以下命令更新Supervisor配置并啟動過程:
~~~
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start october-worker:*
~~~
有關Supervisor的更多信息,請參閱[Supervisor文檔](http://supervisord.org/index.html)。
### [](https://octobercms.com/docs/services/queues#failed-jobs)失敗的工作
由于事情并非總是按計劃進行,因此有時排隊的工作將失敗。別擔心,這發生在我們當中!有一種方便的方法可以指定嘗試作業的最大次數。作業超過此嘗試次數后,它將被插入`failed_jobs`表中。可以通過`config/queue.php`配置文件配置失敗的作業表名稱。
您可以使用`--tries`以下`queue:work`命令上的開關指定嘗試作業的最大次數:
~~~
php artisan queue:work connection-name --tries=3
~~~
如果您想要注冊將在隊列作業失敗時調用的事件,則可以使用該`Queue::failing`方法。此事件是通過電子郵件或其他第三方服務通知您的團隊的好機會。
~~~
Queue::failing(function($connection, $job, $data) {
//
});
~~~
您還可以`failed`直接在隊列作業類上定義方法,從而使您可以在發生故障時執行特定于作業的操作:
~~~
public function failed($data)
{
// Called when the job is failing...
}
~~~
的原始數組`data`也將自動傳遞給失敗的方法。
### 重試失敗的作業
要查看所有失敗的作業,可以使用`queue:failed`Artisan命令:
~~~
php artisan queue:failed
~~~
該`queue:failed`命令將列出作業ID,連接,隊列和故障時間。作業ID可用于重試失敗的作業。例如,要重試ID為5的失敗作業,應發出以下命令:
~~~
php artisan queue:retry 5
~~~
如果要刪除失敗的作業,可以使用以下`queue:forget`命令:
~~~
php artisan queue:forget 5
~~~
要刪除所有失敗的作業,可以使用以下`queue:flush`命令:
~~~
php artisan queue:flush
~~~
- 基本說明
- 基本操作
- October cms 安裝
- 后臺控制器路徑
- 圖標
- 獲取安裝網上的插件/主題
- 插件構造器使用
- 定時任務
- October后臺控制器
- vscode編輯器
- ajax操作
- 使用
- ajax更新組件
- ajax屬性API
- JavaScript API
- ajax綜合使用
- 主題
- 多語言主題
- 安裝市場主題
- 主題程序處理
- 主題
- 頁面
- 部件
- 布局
- 內容
- 組件
- 媒體
- 主題表單操作
- 表單使用
- 表單后端程序處理
- 插件
- 自定義插件
- 插件說明
- 插件導航條
- 插件數據庫設置
- 插件的設置管理
- 插件的配置文件config
- 組件
- app服務
- app容器
- 擴展行為
- 緩存
- Collection類
- Lazy Collections
- Collection方法
- 助手函數
- 數組助手函數
- 路徑助手函數
- 玄樂助手函數
- 其他助手函數
- 錯誤與記錄
- 事件處理
- HTML頁面
- 文件與目錄操作
- 散列和加密
- 郵件
- 郵件內容
- 郵件發送
- 分頁
- 模板解析器
- 動態解析器語法
- 隊列消息
- 請求與輸入
- 響應
- 視圖
- 路由器
- 配置
- 驗證操作
- 處理錯誤消息
- 錯誤消息與視圖
- 可用的驗證規則
- 有條件的驗證規則
- 驗證數組
- 錯誤消息
- 自定義驗證規則
- 模型操作
- 定義模型與其屬性
- 檢索模型
- 插入與更新
- 刪除模型
- 查詢范圍
- 事件操作
- 關聯操作
- 定義關系
- 關系類型
- 多肽關系
- 關系查詢
- 渴望加載
- 插入模型
- 數據庫操作
- 基本用法
- 數據表結構
- 查詢連貫操作
- 結果檢索
- select子句
- 插入更新
- where子句
- 排序,分組,限制和偏移
- 文件附件
- Collection操作
- 屬性操作
- 系列化json
- 數據庫屬性
- 數據庫行為
- 控制器
- 后臺控制器定義
- 后臺頁面
- 后臺組件
- 后臺表單
- 表單組件
- 表單視圖
- 表單行為
- 后臺列表
- 列表行為
- 列表過濾器
- 可用列類型
- 關系行為
- 關系行為類型
- 擴展關系行為
- 列表排序操作
- 導入導出操作
- 用于與權限
- corlate模板修改
- 修改頂部導航
- laravel問題
- 控制器不存在
- 控制器
- 路由組
- laravel筆記
- laravel 安裝
- 偽靜態配置
- 依賴注入 & 控制器
- 中間件
- 路由文件
- 視圖