usanzadunje/scaffold-laravel
Composer 安装命令:
composer require usanzadunje/scaffold-laravel
包简介
Multiple scaffolding options for Laravel application.
README 文档
README
Multiple scaffolding options for Laravel application.
Installing Vue, adding Vue Router/Inertia as your frontend router, adding Vuex as state manager. Replacing Webpack with Vite or installing Browser Sync plugin for Webpack. Also adds scaffolding for Docker with any of these presets mentioned.
Installation
You can install the package via composer:
composer require usanzadunje/scaffold-laravel
Usage
php artisan scaffold [preset]
Available presets :
vuevue-router(if you have vue application set up)vuex(if you have vue application set up)vite(replaces webpack for vite)dockerall(installs vue, vite and docker preset all together)
Vue
Will generate following files and directories inside your resources/js directory :
componentsdirectorycomposablesdirectoryviewsdirectory andExample.vueinside itapp.jsfiles with minimal scaffolding for Vue applicationapp.blade.phpfile with #app container defined- Change
/route to returnappview instead ofwelcome
Additionally, it will ask if you would like router or state manager installed as well.
Vue Router
Will generate following files and directories inside your resources/js directory :
routerdirectory and inside it basic scaffolding for routes with one example route definedWelcome.vuefile insideviewswhich will be shown for example route definedExampleApp.vuewhich will serve as entrypoint to router (it has defined in it)- It will initialize itself inside
app.jsfile
Additionally, it will ask if you would like basic middleware scaffolding for your routes. This will then create middlewarePipeline.js file which is responsible for calling all middlewares defined on certain route. And inside router/index,js file where routes are defined it will add beforeEach navigation gourd and call this pipeline.
Routes which require middleware(s) should have meta filed with middleware property defined on them which is an array of middlewares. You can define your middlewares in middlewares directory which will be created along with example middleware.
Vuex
Will generate following files and directories inside your resources/js directory :
storedirectory and inside it basic scaffolding for vuex in module fashionModule.jsfile insidestorewhich is example of single module state- It will initialize itself inside
app.jsfile - Vuex scaffolding comes along with
vue-persistedstateplugin which will persist data from state inLocal Storage
Vite
Will remove all packages, scripts and files associated with Webpack. Additionally, it will create vite.config.js in root of project directory and setup basic configuration.
If you have Vue installed it will add Vite plugin for Vue and optimize configuration for it as well (same goes if Vue Router or Vuex are installed)
If you installed Vue using this package it will generate app.blade.php file and Vite scaffolding will remove assets(css/js) imported using Webpack and generate @vite blade directive which will generate imports for Vite assets(css/js).
If you however do not have app.blade.php file it will not try and replace these, so you will need to add @vite directive yourself to your layout file.
It will also import your css/app.css file inside app.js since this is how Vite handles css.
Docker
Will generate docker-compose.yml and docker-compose.prod.yml files with container details. Also it will generate docker-compose directory which contains configuration for: nginx, php, suppervisord and initialization scripts for development and production.
It will adopt itself depending on whether you use Webpack or Vite in order to work smoothly with them and change Webpack or Vite configuration accordingly
It will change your .env file and following contents of it:
DB_HOSTand set it todbso docker can resolve it, since database will live inside containerDB_USERNAMEonly if it is set torootand will change it tolaravelDB_PASSWORDonly if it is set to nothing(empty) and will change it tolaravelDB_PORTonly if it is set to something other than3306since this is port used by container_name
Additional information:
Database port exposed on your local machine is set to 3310 if you want to connect to it from your host machine.
Application port if using with Webpack but without Browser Sync plugin setup will be exposed to 8000(served on localhost:8000).
If you are however using Webpack with Browser Sync port exposed will be 3000 (served on localhost:3000)
When using Vite port exposed will be 3000 (served on localhost:3000)
Scripts that are responsible for applications in production / development are inside docker-compose directory, and they are init.sh / initDev.sh files respectively.
Feel free to change them as these are commands that will run on start of the container which hold application.
Disclaimer
This is my first package, and I made it primarily because I caught myself doing same things on almost every project(copy -> pasting) so I wanted to save myself some time and created this. I also tweaked it a little, so it could be used in multiple occasions so maybe other people can use it. But keep in mind it was made having my problems in mind.
If you have any suggestion that would help you or things to add I would be happy to do it. If it helps one person I would be glad :).
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.
usanzadunje/scaffold-laravel 适用场景与选型建议
usanzadunje/scaffold-laravel 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 18 次下载、GitHub Stars 达 0, 最近一次更新时间为 2022 年 01 月 30 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「laravel」 「usanzadunje」 「scaffold-laravel」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 usanzadunje/scaffold-laravel 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 usanzadunje/scaffold-laravel 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 usanzadunje/scaffold-laravel 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Alfabank REST API integration
Multiple templates for your Vue application resources.
Laravel package for Accurate Online API integration.
Shared RCX Laravel DataTables UI and configuration helpers.
Boot a Laravel project on any machine with one command: app:serve installs missing tools (PHP, Node, Composer, Herd, Docker), creates .env, sets up the database, runs migrations, builds assets, starts a queue worker and serves via Herd, Sail or artisan serve; app:down cleanly stops everything it sta
Branded, diagnostic error pages (500, 403, 404, 419, 503) for Filament — native Filament UI, dark mode and translations out of the box.
统计信息
- 总下载量: 18
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2022-01-30