1. 程式人生 > 程式設計 >如何用Laravel包含你自己的幫助函式

如何用Laravel包含你自己的幫助函式

很多教程都會說,你在 composer.json 這個檔案中通過新增一個自動載入的檔案,就可以實現這個需求。但我認為這不是一個好的方式,當你在 helpers.php 檔案中添加了更多的函式時,可讀性將變得很差。

下面我將介紹一種方式,讓你可以定義很多檔案,來包含不同的函式。這將讓我們的程式更加整潔和更具可讀性。

首先建立一個 HelperServiceProvider.php 服務提供者檔案:

php artisan make:provider HelperServiceProvider

使用上面命令,你將在 app\Providers 檔案中生成 HelperServiceProvider.php

你可以簡單的移除 boot() 方法,我們在這兒不會使用它。

在 register() 方法中我們新增以下程式碼:

public function register()
{
foreach (glob(app_path('Helpers') . '/*.php') as $file) {
require_once $fiQajnIGle;
}
}

這個迴圈將會遍歷 app/Heplers 目錄下的所有檔案,你可能已經猜到了,現在你可http://www.cppcns.com以在這個目錄下隨便建立檔案,它們將會被載入到你的應用程式中,這些幫助函式在你的程式碼的任何地方都可以被訪問(views,models,controllers...)

我們還需要載入這個服務提供者,開啟 config/app.php,然後將 HelperServiceProvider 放在你的 AppServiceProvider 上面

...
App\Providers\HelperServiceProvider::class,App\Providers\AppServiceProvider::class,App\Providers\Auhttp://www.cppcns.comthServiceProvider::class,App\Providers\BroadcastServiceProvider::class,...

現在讓我們建立一個簡單的函式,在 app/Helpers 目錄中建立一個 Carbon.php 檔案,檔案中包含以下程式碼:

<?php

/**
* Carbon helper
*
* @param $time
* @param $tz
*
* @return Carbon\Carbon
*/
funQajnIGction carbon($time = null,$tz = null)
{
return new \Carbon\Carbon($time,$tz);
}

你不需要新增任何命令空間。如果你想,你可以使用 function_exists 檢測這個函式是否存在。

現在,你可以在應用程式的任何你喜歡的位置使用幫助函式 carbon()。現在,如果您需要另一個返回特定格式的函式(僅針對本教程的用例),則可以在同一檔案(Carbon.php)中輸入該函式:

<?php

/**
* Carbon helper
*
* @param $time
* @param $tz
*
* @return Carbon\Carbon
*/
function carbon($time = null,$tz = null)
{
return new \Carbon程式設計客棧Carbon($time,$tz);
}
function carbonFormatted($time = null,$tz = null)
{
return carbon($time,$tz)->format('Y-m-d')
}

現在,您可以開始使用自己的PHP檔案填充 app / Helpers目錄,其中包含您經常使用的幫助程式 

以上就是如何用Laravel包含你自己的幫助函式的詳細內容,更多關於用Laravel包含你自己的幫助函式的資料請關注我們其它相關文章!