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下新增快捷方式,如果你看到如下图就说明已经应用成功,是不是觉得挺简单呢!
-
组件调用测试
-
创建测试控制器 laravel-shop\src\Http\Controllers\JunitController.php
-
创建组件内部路由 laravel-shop\src\Http\routes.php
Route::get('/', 'TestController@index'); Route::post('/', 'TestController@store')->name('sjunit.store');
-
添加服务提供者 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'); }); } }
-
然后早config/app.php中添加对于这个服务提供者的加载
'providers' => [ CBright\LaravelShop\JunitServiceProvide::class ]
-
然后再通过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.