bobanum / revamp
扩展描述
0.1.7
2023-06-06 19:27 UTC
Requires
- php: ^8.1
- illuminate/console: ^8.0|^9.0|^10.0
- laravel/framework: ^8.0|^9.0|^10.0
README
在Laravel中更有效地查找文件的方法!
| 安装 | 使用 | 配置 | 源 | 自定义源 | 图解 |
介绍
Revamp将您的普通文件层次结构添加一个_concepts文件夹,里面填充了按模型排序和分组的链接到重要文件。对这些文件所做的任何更改都会影响目标文件,因为它们是相同的文件。
例如,模型
/app/Models.School.php
与_concepts/School/Model.php
是相同的文件。更容易找到,更容易维护。
查看图解获取更多详细信息。
安装
composer require --dev bobabum/revamp
使用
Revamp
php artisan revamp
将添加新的链接,但不会删除过时的链接。
撤销Revamp以删除概念文件夹
php artisan revamp:back
刷新Revamp以删除概念文件夹并重新创建它
php artisan revamp:refresh
配置
发布配置文件
php artisan vendor:publish --tag=config
将发布配置文件config/revamp.php
配置
源
自定义源
您可以在配置文件中添加自定义源。键是目标文件或文件夹。
- 如果键以
/
开头,则值必须是另一个自定义源数组,键为目标文件夹。 - 键(目标)可以是
preg_replace
替换模式($1
,$2
...)。值(源)必须包含匹配数量的*
。例如:'$2/$1.php' => 'views/*/*.php'
- 值(源)可以是字符串或数组。
- 如果它是一个数组
- 第一个值将是源文件或
glob
模式 - 第二个值将是一个返回路径的调用(如
resource_path
或base_path
) - 第三个值将是一个将允许revamp修改源文件或
glob
模式中每个*
的匹配项的调用。例如:fn(&$matches) => $matches[1] = strtoupper($matches[1])
- 第一个值将是源文件或
图解
<style> .columns { display: grid; grid-template-columns: 1fr max-content; justify-content: space-between; gap: .5em; } .columns>div { line-height: 1em; overflow-x: hidden; font-size: 0.8em; } .columns pre { } .columns code { line-height: 1.1em; letter-spacing: -0.1ch; white-space: no-wrap !important; } } </style>原始Laravel层次结构
📦my-laravel-project
┣━📂app
┃ ┣━📂Http
┃ ┃ ┣━📂Controllers
┃ ┃ ┃ ┣━📜Controller.php
┃ ┃ ┃ ┣━📜DepartmentController.php
┃ ┃ ┃ ┣━📜SchoolController.php
┃ ┃ ┃ ┗━📜TeacherController.php
┃ ┃ ┗━📂Requests
┃ ┃ ┣━📜StoreDepartmentRequest.php
┃ ┃ ┣━📜StoreSchoolRequest.php
┃ ┃ ┣━📜StoreTeacherRequest.php
┃ ┃ ┣━📜UpdateDepartmentRequest.php
┃ ┃ ┣━📜UpdateSchoolRequest.php
┃ ┃ ┗━📜UpdateTeacherRequest.php
┃ ┣━📂Models
┃ ┃ ┣━📜Department.php
┃ ┃ ┣━📜School.php
┃ ┃ ┣━📜Teacher.php
┃ ┃ ┗━📜User.php
┃ ┗━📂Policies
┃ ┣━📜DepartmentPolicy.phpz
┃ ┣━📜SchoolPolicy.php
┃ ┗━📜TeacherPolicy.php
┣━📂concepts
┃ ┣━📂Department
┃ ┃ ┣━📜Controller.php
┃ ┃ ┣━📜Factory.php
┃ ┃ ┣━📜migration.php
┃ ┃ ┣━📜Model.php
┃ ┃ ┣━📜Seeder.php
┃ ┃ ┣━📜StoreRequest.php
┃ ┃ ┗━📜UpdateRequest.php
┃ ┣━📂School
┃ ┃ ┣━📂views
┃ ┃ ┃ ┗━📜index.blade.php
┃ ┃ ┣━📜Controller.php
┃ ┃ ┣━📜Factory.php
┃ ┃ ┣━📜migration.php
┃ ┃ ┣━📜Model.php
┃ ┃ ┣━📜Policy.php
┃ ┃ ┣━📜Seeder.php
┃ ┃ ┣━📜StoreRequest.php
┃ ┃ ┗━📜UpdateRequest.php
┃ ┣━📂Teacher
┃ ┃ ┣━📜Controller.php
┃ ┃ ┣━📜Factory.php
┃ ┃ ┣━📜migration.php
┃ ┃ ┣━📜Model.php
┃ ┃ ┣━📜Policy.php
┃ ┃ ┣━📜Seeder.php
┃ ┃ ┣━📜StoreRequest.php
┃ ┃ ┗━📜UpdateRequest.php
┃ ┗━📂User
┃ ┣━📜Factory.php
┃ ┣━📜migration.php
┃ ┗━📜Model.php
┣━📂database
┃ ┣━📂factories
┃ ┃ ┣━📜DepartmentFactory.php
┃ ┃ ┣━📜SchoolFactory.php
┃ ┃ ┣━📜TeacherFactory.php
┃ ┃ ┗━📜UserFactory.php
┃ ┣━📂migrations
┃ ┃ ┣━📜create_users_table.php
┃ ┃ ┣━📜create_schools_table.php
┃ ┃ ┣━📜create_departments_table.php
┃ ┃ ┗━📜create_teachers_table.php
┃ ┗━📂seeders
┃ ┣━📜DatabaseSeeder.php
┃ ┣━📜DepartmentSeeder.php
┃ ┣━📜SchoolSeeder.php
┃ ┗━📜TeacherSeeder.php
┣━📂resources
┃ ┗━📂views
┃ ┗━📂school
┃ ┣━📜index.blade.php
┃ ┗━📜show.blade.php
┗━📂routes
┣━📜api.php
┣━📜channels.php
┣━📜console.php
┗━📜web.php
在_concepts文件夹中的改进层次结构
📦my-laravel-project
┣━📂_concepts
┃ ┣━📂Department
┃ ┃ ┣━📜Controller.php
┃ ┃ ┣━📜Factory.php
┃ ┃ ┣━📜migration.php
┃ ┃ ┣━📜Model.php
┃ ┃ ┣━📜Seeder.php
┃ ┃ ┣━📜StoreRequest.php
┃ ┃ ┗━📜UpdateRequest.php
┃ ┣━📂School
┃ ┃ ┣━📂views
┃ ┃ ┃ ┣━📜index.blade.php
┃ ┃ ┃ ┗━📜show.blade.php
┃ ┃ ┣━📜Controller.php
┃ ┃ ┣━📜Factory.php
┃ ┃ ┣━📜migration.php
┃ ┃ ┣━📜Model.php
┃ ┃ ┣━📜Policy.php
┃ ┃ ┣━📜Seeder.php
┃ ┃ ┣━📜StoreRequest.php
┃ ┃ ┗━📜UpdateRequest.php
┃ ┣━📂Teacher
┃ ┃ ┣━📜Controller.php
┃ ┃ ┣━📜Factory.php
┃ ┃ ┣━📜migration.php
┃ ┃ ┣━📜Model.php
┃ ┃ ┣━📜Policy.php
┃ ┃ ┣━📜Seeder.php
┃ ┃ ┣━📜StoreRequest.php
┃ ┃ ┗━📜UpdateRequest.php
┃ ┗━📂User
┃ ┣━📜Factory.php
┃ ┣━📜migration.php
┃ ┗━📜Model.php
┗━...