bobanum/revamp

扩展描述

0.1.7 2023-06-06 19:27 UTC

This package is auto-updated.

Last update: 2024-09-06 22:21:30 UTC


README

在Laravel中更有效地查找文件的方法!

Total Downloads Latest Stable Version License

| 安装 | 使用 | 配置 | | 自定义源 | 图解 |

介绍

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'
  • 值(源)可以是字符串或数组。
  • 如果它是一个数组
    1. 第一个值将是源文件或glob模式
    2. 第二个值将是一个返回路径的调用(如resource_pathbase_path
    3. 第三个值将是一个将允许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
 ┗━...