thisisdevelopment/laravel-base

有观点的Laraval基础安装

0.8.0 2024-04-25 19:38 UTC

This package is auto-updated.

Last update: 2024-09-26 13:54:18 UTC


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/Moduleapp/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)。