dan-english / package-creator
用于我的laravel项目的包创建器
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
这被用作创建自定义Laravel包的示例,用于我的Laravel项目。
要求
注解包(支持laravel 8) composer require laravelcollective/annotations
- 一个 "packages" 目录
- 更新 composer.json 中的 PSR-4,添加 "packages" 路径
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'
期望
packages/
尝试创建
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
在 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
},