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