mathieutu/php-project-launcher

一个带有Docker的PHP项目启动器。

v0.1.1 2020-03-04 23:24 UTC

This package is auto-updated.

Last update: 2024-09-07 00:27:33 UTC


README

在秒内设置灵活的Docker开发环境。此包假定您已安装docker,并且有兼容bash的操作系统(实际上未在Windows上测试)。

设置您的项目服务

每个项目只在根源文件夹中设置一次。

如果服务已为您的项目设置好,您可以直接跳转到“启动服务”章节。

📦 需要的包

$ composer require mathieutu/php-project-launcher

如果您电脑上没有php和composer,您可以直接使用composer docker容器。

$ docker run --rm -ti -v $PWD:/app composer require mathieutu/php-project-launcher

提示:您应该在这里提交!😇

🐳 初始化Docker文件

$ ./vendor/bin/ppl init {project-name?}

提示:您可以个性化项目名称,或者留空以使用目录名称。默认情况下,它将用于自动设置域名:project-name.testproject-name.localhost。要使用*.test,开发者需要编辑其hosts添加dns服务器,但*.localhost应在Unix操作系统上开箱即用。

📝 选择您的口味

编辑docker-compose.ymldocker/*.env文件以适应您的需求。

一个标准的Laravel 5 / Symfony 4应用程序,带有PostgreSQL数据库,在更新您的.env文件后应该可以直接使用。

请参阅配置章节以获取所有详细信息。

提示:您也应该在这里提交 😇!

启动服务

对于每个电脑上的开发者,每次他们需要启动项目时。

🚀 启动您的项目

$ ./vendor/bin/ppl up

提示:如果找不到,将启动一个作为nginx-proxy运行的jwilder/nginx-proxy容器,如果存在标准'web'容器。它将允许您为项目使用多个域名。

🎉 创造伟大的事物

更新您的.env文件

使用ppl db命令,您将看到您的.env文件所需的所有值。

$ ./vendor/bin/ppl db
From the container:
    DB_CONNECTION=pgsql
    DB_HOST=db
    DB_PORT=5432
    DB_USERNAME=root
    DB_PASSWORD=
    DB_DATABASE=local
    DATABASE_URL=postgresql://root:@db:5432/local
...

在浏览器中查看您的项目

$ ./vendor/bin/ppl open {path?}

提示:如果您在up命令后立即这样做,您可能会看到502页面。稍等片刻,几秒钟后刷新,这只是服务器启动所需的时间!

提示²:您可以使用web服务中的$PPL_OPEN环境变量自定义要打开的域名。

在专用软件中查看您的数据库内容

您可以使用以下方法查看您数据库的公共端口:

$ ./vendor/bin/ppl db
...
From outside:
    Type: PostgresSQL
    Host: 127.0.0.1
    Port: 32813
    Username: root
    Password: 
    Database: local
    Url: postgresql://root:@127.0.0.1:32813/local

使用您喜欢的框架CLI工具

您可以直接访问CLI工具:

$ ./vendor/bin/ppl artisan
$ ./vendor/bin/ppl console

提示:因为我们从未节省太多时间,您可以直接使用pplapplsf别名。

示例

ppla migrate
pplsh doctrine:migrations:migrate

等等...

您可以使用以下方法查看您能做的一切:

$ ppl --help

PHP Project Launcher.

Usage:
  ./vendor/bin/ppl [COMMAND] [ARGS...]
  ./vendor/bin/ppl -h | --help

Commands:
  init               Install the docker files to set the services. Can be used with project name in parameter.
  up | u             Run the project services (run the proxy if not already launched).
  down | d           Stop and remove the project services.
  reload | rl        Down and up the project services (with image rebuild).
  open | o           Open project in web browser.
  database | db      Show the env variables and the database connection information.           
  artisan | a        Execute Laravel Artisan in the web service (with access to DB).
  console | sf       Execute Symfony Console in the web service (with access to DB).
  composer | c       Execute Composer in the web service (with proper version of php).
  yarn | y           Execute Yarn in the web service.
  bash | sh          Open a bash console in the web service.
  exec | e           Execute a command in the web service.
  inspect | i        Show the docker configuration for a service.
  logs               View output from services.
  ps                 List services.
  *                  Fallback on docker-compose binary.

提示:通过将./vendor/bin/添加到您的路径,您将能够直接输入ppl而不是./vendor/bin/ppl。这将对所有composer二进制文件很有用,例如phpunit!为此,您只需将export PATH=./vendor/bin:$PATH添加到您的.bashrc或.zshrc文件中。

使配置完全属于您

一个带有PostgreSQL数据库的标准Laravel/Symfony应用程序应在配置了您的.env文件后开箱即用。

如果您希望使用它,请取消注释 docker-compose.yml 中的 mysql 示例。

目前,在原始版本中,您可以看到以下文档页面:

自定义您的 URL

docker-compose.yml 文件中,您将能够自定义 Web 服务中的几个环境变量

  • $VIRTUAL_HOST,这是代理将重定向到该容器的所有域名列表。
  • $PPL_OPEN,这是命令 ppl open 将使用的根 URL。

待续...

为此项目做出贡献

请积极提出 Issue 和 Pull Requests,包括新功能和错误修复以及文档。