thisisdevelopment / laravel-base
有观点的Laraval基础安装
0.8.0
2024-04-25 19:38 UTC
Requires
- php: ^8.2
- laravel/framework: ^11.0
- laravel/tinker: ^2.9
- oomphinc/composer-installers-extender: ^2.0
Requires (Dev)
- fakerphp/faker: ^1.23
- laravel/pint: ^1.13
- laravel/sail: ^1.26
- mockery/mockery: ^1.6
- nunomaduro/collision: ^8.0
- phpunit/phpunit: ^11.0.1
- roave/security-advisories: dev-master
- spatie/laravel-ignition: ^2.4
- thisisdevelopment/laravel-base-dev: ^0.6.0
README
这是一个有观点的基础Laraval安装。
安装
composer create-project thisisdevelopment/laravel-base <dir>
或者,如果您没有在本地安装composer
dir=<dir>
git clone https://github.com/thisisdevelopment/laravel-base $dir
cd $dir
rm -rf .git
./bin/dev init
文件夹结构
这基于sticher.io提出的面向域的结构:https://stitcher.io/blog/laravel-beyond-crud-01-domain-oriented-laravel。建议的结构通过模块的概念进行了扩展,模块是通用域代码的默认实现。
完整的结构是
app
<= 顶级应用目录,此处无代码app/App/<app name>/
<= 应用特定代码app/Domain/<domain>
<= 域特定代码app/Domain/vendor/<domain>
<= 通用域代码(由composer管理,对于类型为laravel-domain的包)app/Module/<module>
<= 模块代码(由composer管理,对于类型为laravel-module的包)packages/<package>/
<= composer将自动拾取此目录中的任何包。这允许在您的应用程序旁边开发包(参见packages/README.md)
使用oomphinc/composer-installers-extender
安装类型为laravel-module/laravel-domain的包到app/Module
和app/Domain/vendor
文件夹。
Docker compose支持
这个基础安装自带完整的docker-compose设置。它假设您有一个工作状态下的本地docker安装,允许您的用户访问docker。
为了方便访问容器,您还应该运行thisisdevelopment/docker-hoster
容器(参见https://github.com/thisisdevelopment/docker-hoster),以动态更新您的hosts文件。
docker run --restart=unless-stopped -d \
-v /var/run/docker.sock:/tmp/docker.sock \
-v /etc/hosts:/tmp/hosts \
thisisdevelopment/docker-hoster
开发脚本
为了方便访问容器,您应该使用包含的bin/dev
脚本。此脚本允许在您的容器中轻松执行composer等命令。
支持的命令有
up
down
rm
deploy
logs
php-cli
composer
artisan
phpcs
phpcbf
phpunit
编码规范
这个基础安装强制执行PSR-12
代码规范。它是通过安装一个git钩子来实现的,该钩子强制执行这个规范(通过phpcs
)。