roniestein/quicktools

一组函数,通过增强命令来提高生产速度,用于引导laravel项目。

dev-master / 0.3.16.x-dev 2019-05-07 06:32 UTC

This package is auto-updated.

Last update: 2024-09-07 18:15:08 UTC


README

Quicktools的唯一任务是在使用PHPStorm的同时,帮助您快速编写和部署测试到您的Laravel应用。它的主要目的是使启动项目更容易,而无需担心过多的高级配置或测试插件。此外,它通过打开您生成的每个文件来添加一些速度便利性,这样您就无需手动同步文件夹。它还更新了所有内置视图,使用tailwind而不是bootstrap。

//TODO:添加一张图片

安装

要安装Quicktools,通过Composer要求

composer require roniestein/quicktools

一旦Composer完成,运行以下命令 注意:这是一个破坏性命令!!

php artisan preset quicktools

这将

  • 添加一个.gitignore
  • 清理您的package.json并添加大量有用的包
  • 将您的composer.json替换为一些有用的包
  • 为快速测试设置phpunit.xml,并更新您的测试以使用quictools类
  • 添加一个新的示例单元测试
  • 添加一系列常见快速开发命令
  • 初始化tailwind
  • 删除旧公共CSS和JS
  • 添加新的app.js、bootstrap.js和app.css
  • 使用postcss-preset-env app.css示例
  • 运行composer install
  • 运行composer update
  • 运行yarn install
  • 运行yarn run development以测试您的系统是否配置正确
  • 使用tailwind添加新的blade文件
  • 生成认证
  • 打开网站

被覆盖或添加的文件列表

  • package.json
  • composer.json
  • composer.lock
  • webpack.mix.js
  • resources/sass/**
  • resources/css/tailwind-config.js
  • resources/css/app.css
  • resources/js/app.js
  • resources/views/welcome.blade.php
  • resources/views/home.blade.php
  • resources/views/auth/login.blade.php
  • resources/views/auth/register.blade.php
  • resources/views/auth/verify.blade.php
  • resources/views/auth/passwords/email.blade.php
  • resources/views/auth/passwords/reset.blade.php
  • resources/views/auth/passwords/reset.blade.php
  • resources/views/layouts/partials/_nav.blade.php
  • resources/views/layouts/app.blade.php
  • resources/views/layouts/app-with-nav.blade.php
  • resources/views/layouts/app-with-nav-single-screen.blade.php
  • resources/views/layouts/app-without-nav.blade.php
  • tests/TestCase.php
  • tests/DomainTestCase.php
  • tests/Assistant/ObjectFactory.php
  • app/Http/Controllers/Controller.php

PHPStorm Shell Commands for MacOS Mojave

在MacOS上,将以下内容添加到您的别名文件中,以便快速运行命令

#HELP 
alias list='listFunction(){

	c
	echo "Laravel Helpers List"
	echo "--------------------"
	echo "NOTE: use directory/class for namespaced files"
	echo ""
	echo "TESTING"
	echo "ft  =>  Feature Test"
	echo "ut  =>  Unit Test"
	echo ""
	echo "SEEDING"
	echo "ts  =>  Test Seeder (not the same as a regular db seeder)"
	echo "rs  =>  Regular App Seeder"
	echo ""
	echo "TDD"
	echo "fmm =>  Make a (namespaced: optional) Model with a migration and a factory"
	echo "pc  =>  Plain Controller"
	echo "rc  =>  Resourcefull Controller"
	echo "pm  =>  Plain Model (Model with migration comming for now mn)"
	echo "fr  =>  Form Request"
	echo "mf  =>  Model Factory"
	echo ""
	echo "REGULAR DEVELOPMENT"
	echo "nc  =>  New Console Command"
	echo "pe  =>  Event"
	echo "pl  =>  Listener"
	echo "px  =>  Exception"	
	echo "mw  =>  Middleware"
	echo "sp  =>  Service Provider"
	echo "pr  =>  Rule"
	echo ""
	echo "MIGRATIONS"
	echo "mn  =>  New Migration, jsut the name of the table create_<posts>_table"
	echo "mp  =>  Plain Migration, mp add_something_to_posts posts"
	echo ""
	echo "OBSCURE DEVELOPMENT"
	echo "nv  =>  New View File {path/to/name or path.name or name.blade.php}"
	echo "nn  =>  New Notification"
	echo "nm  =>  New Mailable"
	# echo "nmm =>  New Markdown Mailable"
	echo ""
	echo "VUE"
	echo "--------------------"
	echo "vc  =>  Vue Component In components Directory (make into proper stub later)"
	echo ""

unset -f listFunction	
}; listFunction'

#VUE

#LARAVEL-VUE
alias vc='{ f=$(cat -); touch resources/assets/js/components/${f}.vue; pstorm resources/assets/js/components/${f}.vue;}<<<'

#LARAVEL


alias ft='{ f=$(cat -); php artisan quicktools:make-db-seeder ${f}Test; pstorm tests/Feature/${f}Test.php;}<<<'
alias ut='{ f=$(cat -); php artisan quicktools:make-db-seeder ${f}Test --unit; pstorm tests/Unit/${f}Test.php;}<<<'
alias pc='{ f=$(cat -); php artisan make:controller ${f}Controller; pstorm app/Http/Controllers/${f}Controller.php;}<<<'
alias rc='{ f=$(cat -); php artisan make:controller ${f}Controller -r; app/Http/Controllers/${f}Controller.php;}<<<'
alias pm='{ f=$(cat -); php artisan quicktools:make-model ${f};}<<<'
alias pe='{ f=$(cat -); php artisan make:event ${f}; pstorm app/Events/${f}.php;}<<<'
alias pl='{ f=$(cat -); php artisan make:listener ${f}; pstorm app/Listeners/${f}.php;}<<<'
alias nc='{ f=$(cat -); php artisan make:command ${f}; pstorm app/Console/Commands/${f}.php;}<<<'
alias px='{ f=$(cat -); php artisan make:exception ${f}; pstorm app/Exceptions/${f}.php;}<<<'
alias pr='{ f=$(cat -); php artisan make:request ${f}Request; pstorm app/Http/Requests/${f}Request.php;}<<<'
alias fr='{ f=$(cat -); php artisan make:request Forms/${f}Form; pstorm app/Http/Requests/Forms/${f}Form.php;}<<<'
alias mw='{ f=$(cat -); php artisan make:middleware ${f}; pstorm app/Http/Middleware/${f}.php;}<<<'
alias sp='{ f=$(cat -); php artisan make:provider ${f}Provider; pstorm app/Providers/${f}Provider.php;}<<<'
alias mf='{ f=$(cat -); php artisan make:factory ${f}Factory; pstorm database/factories/${f}Factory.php;}<<<'
alias pr='{ f=$(cat -); php artisan make:rule ${f}; pstorm app/Rules/${f}.php;}<<<'
alias nn='{ f=$(cat -); php artisan make:notification ${f}; pstorm app/Notifications/${f}.php;}<<<'
alias nm='{ f=$(cat -); php artisan make:mail ${f}; pstorm app/Mail/${f}.php;}<<<'
# alias nmm='{ f=$(cat -); php artisan make:mail ${f}; pstorm app/Mail/${f}.php;}<<<'
alias rs='{ f=$(cat -); php artisan quicktools:make-db-seeder ${f};}<<<'
alias nv='{ f=$(cat -); php artisan quicktools:make-view ${f};}<<<'
alias ts='{ f=$(cat -); php artisan quicktools:make-test-seeder  ${f};}<<<'
alias fmm='{ f=$(cat -); php artisan quicktools:make-test-resource ${f};}<<<'

alias mn='function __migrate-new-make(){
	tab=$(php artisan make:migration create_$*_table --create=$* --table=$*); 
	pstorm database/migrations/${tab:19}.php; 
	unset -f __migrate-new-make; 
}; __migrate-new-make'

alias mp='function __migrate-make(){
	tab=$(php artisan make:migration $1 --table=$2); 
	pstorm database/migrations/${tab:19}.php; 
	unset -f __migrate-make; 
}; __migrate-make'

路由更新

Quicktools\Setup发布后,您的App\Http\Controllers\Controller.php将具有额外的功能,允许您在路由文件上点击。

您可以根据自己的喜好配置路由

Route::get('/', 'FooController@index');
// Can also be 

use App\Http\Controllers\FooController;

Route::get('/', FooController::at('index'));



Route::resource('post','PostController');

// Can also be 

use App\Http\Controllers\PostController;

Route::resource('post', FooController::res());

路线图

Quicktools将继续在macos、valet、本地测试环境中开发。请随意分支它或向我提问或报告问题。我决定在这个早期阶段发布它,以便您可以帮助我使其变得更好,但我已经在多个网站(包括我的个人博客)上使用它了。

以下是即将到来的计划

  • 添加测试
  • 为其他操作系统或编辑器平台添加一些配置
  • 添加人们可以选择的别名
  • 制作更好的文档

贡献

查看贡献指南

许可

Quicktools是开源软件,许可协议为MIT许可