Composer自定义组件(二)

composer 自定义组件的引用

  • 创建好自定义组件包,如:laravel-shop,创建自定义组件的具体方法我已经在一中详细的介绍了,这里我就不做过多的赘述了。https://blog.csdn.net/u011006757/article/details/97391030

  • 配置包路径,注意,这里 ../laravl-shop 为相对路径,不要弄错了。

     cd ..
     cd laravel
     composer config repositories.CBright path ../../laravel-shop
    

    当你运行该条语句后,会在laravel的composer中新增如下语句:

      "repositories": {
             "CBright": {
                 "type": "path",
                 "url": "../../laravel-shop"
             }
         }
    
  • .调用本地组件

     composer require CBright/laravel-shop:dev-master
    

执行后会在laravel>vendor下新增快捷方式,如果你看到如下图就说明已经应用成功,是不是觉得挺简单呢!
在这里插入图片描述

  • 组件调用测试

    1. 创建测试控制器 laravel-shop\src\Http\Controllers\JunitController.php

    2. 创建组件内部路由 laravel-shop\src\Http\routes.php

           Route::get('/', 'TestController@index');
           Route::post('/', 'TestController@store')->name('sjunit.store');
      
    3. 添加服务提供者 src\JunitServiceProvide.php

       	   	namespace CBright\LaravelShop; 
       	   	
       	    use Illuminate\Support\Facades\Route;
       	    use Illuminate\Support\ServiceProvider;
       	    
       	    class JunitServiceProvide extends ServiceProvider
       	    {
       	        public function boot()
       	        {
       	            $this->registerRoutes();
       	    
       	            $this->loadViewsFrom(
       	                __DIR__.'/../resources/views', 'junit'
       	            );
       	        }
       	    
       	        private function routeConfiguration()
       	        {
       	            return [
       	                'namespace' => 'CBright\LaravelShop\Http\Controllers',
       	                'prefix' => 'junit',
       	            ];
       	        }
       	        private function registerRoutes()
       	        {
       	            Route::group($this->routeConfiguration(), function () {
       	                $this->loadRoutesFrom(__DIR__.'/Http/routes.php');
       	            });
       	        }
       	    }
      
    4. 然后早config/app.php中添加对于这个服务提供者的加载

        'providers' => [
       				CBright\LaravelShop\JunitServiceProvide::class
       			]
      
    5. 然后再通过php artisan route:list检测加载的路由

php artisan route:list
±---------±---------±-------------±--------------------------------------------------------------±-------------+
| Method | URI | Name | Action | Middleware |
±---------±---------±-------------±--------------------------------------------------------------±-------------+
| GET|HEAD | / | | Closure | web |
| GET|HEAD | api/user | | Closure | api,auth:api |
| GET|HEAD | junit | | CBright\LaravelShop\Http\Controllers\TestController@index | |
| POST | junit | sjunit.store | CBright\LaravelShop\JunitLaravel\Http\Controllers\TestController@store | |
±---------±---------±-------------±--------------------------------------------------------------±-------------+
6.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值