ebarbeito / php
该软件包最新版本(dev-master)没有提供许可证信息。
使用docker启动纯PHP项目的骨架
dev-master
2020-05-30 22:42 UTC
Requires
- php: ^7.4
Requires (Dev)
- phpstan/phpstan: ^0.12.25
- phpstan/phpstan-phpunit: ^0.12.9
- phpunit/phpunit: ^9.1
- roave/security-advisories: dev-master
This package is auto-updated.
Last update: 2024-09-29 06:08:52 UTC
README
使用docker启动纯PHP项目的骨架
使用此骨架创建全新的PHP项目,无需编写常见的样板代码,以便从头开始。
该项目旨在与以下开发环境一起使用
- 类UNIX操作系统
- Docker和Docker Compose
- GNU Make
这些不是必需的,但强烈推荐。它将允许您无需本地安装任何东西,例如PHP本身、Composer、PHPUnit或Web服务器等。想法是作为一个容器化环境来执行所有这些。
启动新项目
安装docker
后,创建您的项目
docker run --rm -it -v $(pwd):/app \
composer create-project ebarbeito/php project-name
创建后,您可以从自定义composer.json
文件开始,查看bin/
脚本,或Makefile
中的准备好的任务。
$ cd project-name
$ tree -f -I "README.md" .
.
├── ./Makefile
├── ./bin
│ ├── ./bin/composer
│ ├── ./bin/php
│ ├── ./bin/phpunit
│ └── ./bin/run
├── ./composer.json
├── ./config
│ ├── ./config/composer
│ │ └── ./config/composer/Dockerfile
│ ├── ./config/fpm
│ │ ├── ./config/fpm/Dockerfile
│ │ └── ./config/fpm/conf.d
│ │ └── ./config/fpm/conf.d/ext-xdebug.ini
│ └── ./config/nginx
│ └── ./config/nginx/site.conf
├── ./docker-compose.yml
├── ./phpunit.xml.dist
├── ./public
│ └── ./public/index.php
├── ./src
├── ./tests
│ ├── ./tests/Functional
│ │ └── ./tests/Functional/DummyFunctionalSuiteTest.php
│ ├── ./tests/Integration
│ │ └── ./tests/Integration/DummyIntegrationSuiteTest.php
│ └── ./tests/Unit
│ └── ./tests/Unit/DummyUnitSuiteTest.php
└── ./var
bin/脚本
由于没有安装任何开发工具(只有Docker),这些脚本的目标是模拟真实命令。
./bin/run脚本
./bin/run
实际上是docker-compose run
命令的包装器。因此,每次您执行它时,您实际上就是在运行docker-compose run
。
./bin/run <command> [arguments]
“命令”是在docker-compose.yml
中定义的服务
./bin/run composer [arguments]
:使用composer./bin/run phpunit [arguments]
:使用phpunit./bin/run php [arguments]
:使用php
其他脚本
其他命令依赖于./bin/run
来完成它们的任务。它们做的是同样的事情,但更简洁。
./bin/composer [arguments]
:使用composer./bin/phpunit [arguments]
:使用phpunit./bin/php [arguments]
:使用php
因此,而不是使用全局的php
命令(或一个composer
命令),这些脚本可以作为替代品以通常相同的方式使用。
Makefile任务
...
Docker Compose服务
...