首頁 > php框架 > Laravel > 主體

laravel擴充包開發步驟【總結】

藏色散人
發布: 2020-06-17 13:46:42
轉載
3881 人瀏覽過

下面由Laravel教學專欄給大家總結laravel擴充包開發步驟,希望對需要的朋友有幫助!

laravel擴充包開發步驟【總結】

#1. 建立套件##

 php artisan workbench vendor/package --resources
登入後複製

註:  vendor:開發者名稱  package:套件名稱

#2.修改下包裡composer.json中的authors#

"authors": [
    {
        "name": "cicl",
        "email": "test@126.com"
    }
]
登入後複製

3. 為建立的套件註冊ServiceProvider

在專案根目錄執行php artisan dump-autoload<span style="font-family:&#39;Microsoft Yahei&#39;;font-size:medium;"></span>

在app/config/app.php檔案裡的provides陣列中加入該套件,將Vendor\Package\PackageServiceProvider新增至providers陣列.<span style="font-family:&#39;Microsoft Yahei&#39;;font-size:medium;"></span>

為了方便我們的使用,我們在app/config/app.php的aliases中增加一個別名: <span style="font-family:&#39;Microsoft Yahei&#39;;font-size:medium;"></span>'Package' => 'Vendor \Package\Facades\Notification',

啟動開發服務器: php artisan serve ,如果成功啟動,如顯示:Laravel development server started on http://localhost:8000 ,則擴充包的基礎搭建就成功了。

基本的擴展包結構:


        /src
            /Vendor
                /Package
                    PackageServiceProvider.php
            /config
            /lang
            /migrations
            /views
        /tests
        /public
登入後複製

#4、為本包添加獨立路由文件,只需在PackageServiceProvider中的boot函數中新增以下程式碼,並在套件的根目錄建立routes.php檔案

public function boot(){    
    $this->package(&#39;vendor/package&#39;);    
    include __DIR__.&#39;/../../routes.php&#39;;
}
登入後複製

#路由檔案如下: 

Route::get(&#39;test&#39;,  function(){    return "this is test";});
登入後複製

現在,在瀏覽器裡輸入位址如:http://localhost:8000/test,就會輸出「this is test」。

5.接下來嘗試使用Controller

    新路線如下: 

Route::get(&#39;testtwo&#39;,array(&#39;as&#39; => &#39;testtwo&#39;,&#39;uses&#39; => &#39;Vendor\Package\Controllers\PackageController@getTest&#39;));
登入後複製

6、在controllers 中新建RegistrationController.php文件,程式碼如下:

<?php
namespace Ccl\Lenon\Controllers;
use Illuminate\Routing\Controller;
use Illuminate\Support\Facades\View;

Class LenonController extends Controller {
     public function getTest() {
         return "控制器测试";
     }
}
登入後複製

 嘗試開啟頁面,提示找不到控制器,Laravel預設是不自動尋找任何目錄的,需要開發者自己指定檔案的存放目錄,不過它也給了建議路徑,例如在使用artisan workbench的時候是不是生成了src/controllers目錄呢,Ok,我們加入自動載入路徑即可。

7、在套件的根目錄的composer.json的autoload下classmap欄位增加"src/controllers",如:

 "classmap": [
       "src/migrations",
       "src/controllers"
],
登入後複製

並在專案根目錄執行 php artisan dump-autoload,刷新頁面就好了。

8、接下來我們要使用views檔!依照我們理解我們只需要修改controller中程式碼,如下: 

public function getRegister()    
{  
    return View::make(&#39;test&#39;); 
}
登入後複製

在套件src/views/ 下建立test.blade.php文件,並在檔案中寫入相關頁面程式碼,範例:

這是測試視圖的檔案

刷新頁面,發現並沒有成功,在Laravel中,是不會自動索引包中的視圖文件的,所以我們還需要做一點點工作!

9、在載入檢視的時候指定他去套件中尋找檢視檔案即可,修改controller中程式碼如下:##

public function getRegister()    
{ 
    return View::make(&#39;package::test&#39;);    
}
登入後複製
再次刷新頁面,我們期待的頁面出現了,

public遷移     

php artisan asset:publish --bench="vendor/package"
登入後複製
 

建立資料庫遷移

php artisan migrate:make create_users_table --bench="vendor/package"
登入後複製

执行数据库迁移

php artisan migrate --bench="vendor/package"
登入後複製

以上是laravel擴充包開發步驟【總結】的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:cnblogs.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板