dan-english / package-creator
Package creator for my laravel projects
12
2022-01-15 20:34 UTC
Requires
- php: ^7.2|^8.0
- illuminate/support: *
This package is auto-updated.
Last update: 2024-09-25 18:31:29 UTC
README
This was used as the example for creating a custom Laravel package for my Laravel projects.
Requirements
Annotations package (laravel 8 support)
composer require laravelcollective/annotations
- a "packages" directory
- Update composer.json PSR-4 with the "packages" path
alias cc='clear;composer dump-autoload; php artisan cache:clear; php artisan view:clear; php artisan config:clear; php artisan config:clear; php artisan route:clear'
alias a_route='php artisan route:clear; php artisan route:scan;php artisan route:list'
expects:
packages/
attempts to create:
packages/<package-name>/Http
packages/<package-name>/Http/Controllers
packages/<package-name>/Http/Controllers/<package-name>Controller.php
packages/<package-name>/Listeners
packages/<package-name>/Models
packages/<package-name>/Models/<model-name>.php
packages/<package-name>/Models/Logic
packages/<package-name>/Models/Logic/<model-name>Logic.php
packages/<package-name>/Observers
packages/<package-name>/Observers/<model-name>Observer.php
packages/<package-name>/Providers
packages/<package-name>/Providers/<package-name>ServiceProvider.php
packages/<package-name>/Tests
packages/<package-name>/Views
packages/<package-name>/Views/index.blade.php
In app.js
resolve: (name) => {
const matched = /@(.*)::/.exec(name);
if (matched === null) {
return require(`./Pages/${name}`).default;
}
const module = matched[1];
const pageName = name.replace(matched[0], "");
return require(`../../packages/${module}/Assets/Pages/${pageName}.vue`) //in root of project
},