composer create-project --prefer-dist laravel/laravel projectName "5.4.*"
composer initYou have to answer few questions to generate this composer.json file. Your answer should generate a composer.json file like below: (press enter if you do not know any anser)
{
"name": "vendorname/packagename",
"description": "This is my first Laravel package.",
"type": "laravel",
"license": "MIT",
"authors": [
{
"name": "Rejaul",
"email": "rejauldu@gmail.com"
}
],
"minimum-stability": "dev",
"require": {}
}
<?php
Route::get('/demo', function() {
return 'This is a demo route';
});
<?php
namespace Vendorname\Packagename;
use Illuminate\Support\ServiceProvider;
class PackagenameServiceProvider extends ServiceProvider
{
public function boot()
{
require __DIR__.'/routes/web.php';
}
public function register()
{
//
}
}
"Onbiponi\\Message\\":"packages/message/src"The psr-4 section will look like:
"psr-4": { "App\\": "app/", "Onbiponi\\Message\\":"packages/message/src" }psr-4 basically defines the namespace:location-of-src
Vendorname\Packagename\PackagenameServiceProvider::class,
composer dump-autoloador the following three commands
php artisan config:clear
php artisan clear-compiled
composer dump-autoload
{ | |
"name": "onbiponi/message", | |
"description": "This is my first Laravel package.", | |
"type": "laravel", | |
"license": "MIT", | |
"authors": [ | |
{ | |
"name": "Rejaul", | |
"email": "rejauldu@gmail.com" | |
} | |
], | |
"autoload": { | |
"files": [ | |
"src/helpers.php" | |
], | |
"psr-4": { | |
"Onbiponi\\Message\\":"src/" | |
} | |
}, | |
"minimum-stability": "dev", | |
"require": { | |
"php": ">=5.6.4", | |
"laravel/framework": ">=5.5.0" | |
}, | |
"extra": { | |
"laravel": { | |
"providers": [ | |
"Onbiponi\\Message\\MessageServiceProvider" | |
] | |
} | |
} | |
} |
Labels: Laravel, Web development