PHPackages                             khs1994/example - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. khs1994/example

ActiveProject[API Development](/categories/api)

khs1994/example
===============

Create PHP Project By Composer

18.06.02(7y ago)44485[1 issues](https://github.com/khs1994-docker/php-demo/issues)MITPHPPHP ^7.1.3CI failing

Since Aug 15Pushed 9mo ago3 watchersCompare

[ Source](https://github.com/khs1994-docker/php-demo)[ Packagist](https://packagist.org/packages/khs1994/example)[ Docs](https://github.com/khs1994-php/example)[ RSS](/packages/khs1994-example/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependencies (3)Versions (4)Used By (0)

Docker 化 PHP 项目最佳实践
===================

[](#docker-化-php-项目最佳实践)

完全使用 Docker 开发、部署 PHP 项目。本指南只是简单列出，具体内容请查看 [文档](https://github.com/khs1994-docker/lnmp/tree/master/docs)

- [问题反馈](https://github.com/khs1994-docker/lnmp/issues/187)

IDE
---

[](#ide)

**本页面以 PHPStorm 为例进行介绍。**

如果你使用的是 VSCode 请参考 [这里](https://github.com/khs1994-docker/lnmp/tree/master/vscode-remote)

Create PHP Application by Composer
----------------------------------

[](#create-php-application-by-composer)

[![GitHub stars](https://camo.githubusercontent.com/35b5c2f45f165484550ceb2aa6468c6cd178bbb0778ac5796f4149f33b1841c8/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f6b6873313939342d646f636b65722f7068702d64656d6f2e7376673f7374796c653d736f6369616c266c6162656c3d5374617273)](https://github.com/khs1994-docker/php-demo) [![PHP from Packagist](https://camo.githubusercontent.com/b13c322972a207f6750b67577069a38cae13c4d9feea8f6d2a8b6704bd08cc30/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f6b6873313939342f6578616d706c652e737667)](https://packagist.org/packages/khs1994/example) [![GitHub (pre-)release](https://camo.githubusercontent.com/bdd2f9a16e9aa2c5673ce6056186522bd1bcb49a9f0d5a7843adbec3d4319fdb/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f6b6873313939342d646f636b65722f7068702d64656d6f2f616c6c2e737667)](https://github.com/khs1994-docker/php-demo/releases) [![StyleCI](https://camo.githubusercontent.com/fd53a739a32c599bfff69e63a83e3f56ef1d0f74b6e276aed8ff021b055a2a14/68747470733a2f2f6769746875622e7374796c6563692e696f2f7265706f732f3132343136383936322f736869656c643f6272616e63683d6d6173746572)](https://styleci.io/repos/124168962)

```
$ composer create-project --prefer-dist khs1994/example demo

$ cd demo
```

微信订阅号
-----

[](#微信订阅号)

[![](https://user-images.githubusercontent.com/16733187/46847944-84a96b80-ce19-11e8-9f0c-ec84b2ac463e.jpg)](https://user-images.githubusercontent.com/16733187/46847944-84a96b80-ce19-11e8-9f0c-ec84b2ac463e.jpg)

**关注项目作者微信订阅号，接收项目最新动态**

说明
--

[](#说明)

- Laravel 项目，请查看

初始化
---

[](#初始化)

- 编辑 `.pcit.php` 文件中的常量
- 执行 `php .pcit.php` 完成替换

### 准备

[](#准备)

建立一个自己的 PHP 项目模板（即 `composer` 包类型为 `project`),里面包含了常用的文件的模板。

示例：

#### 内置文件模板

[](#内置文件模板)

FilenameDescription`.github/workflows`GitHub Actions CI 工具`.gitattributes`git 打包时排除文件（例如 测试代码）`.drone.yml`[`Drone` CI 工具](https://github.com/khs1994-docker/ci)`.editorconfig`[定义文件格式规则（例如 缩进方式）](https://editorconfig.org/)`.pcit.yml`[`PCIT` CI 工具](https://ci.khs1994.com)`.php_cs`[PHP 代码格式化工具](https://github.com/FriendsOfPHP/PHP-CS-Fixer)`.doctum.php`[PHP 文档生成工具](https://github.com/code-lts/doctum)`.styleci.yml`[`Style CI` PHP 代码格式化 CI 工具](https://styleci.io/)一、开发
----

[](#一开发)

### 环境（以下步骤缺一不可）

[](#环境以下步骤缺一不可)

- 假设系统中不包含任何 PHP 等程序
- 启动 Docker CE
- LNMP [khs1994-docker/lnmp](https://github.com/khs1994-docker/lnmp)
- 将 Docker 化的常用命令所在文件夹加入 `PATH`，具体请查看 [这里](https://github.com/khs1994-docker/lnmp/tree/master/bin)。
- git 分支 `dev`
- 使用 Docker 作为 LNMP 环境，实际上大大简化了部署，但配置开发环境需要较多步骤，同时由于 Windows(性能特别差)、macOS（还可以） 运行 Docker 效率较 Linux 差，实际在开发环境是否使用 Docker，请各位自行权衡。

### 1. 新建 PHP 项目

[](#1-新建-php-项目)

使用自己的模板项目初始化 `PHP` 项目。

```
$ cd lnmp/app

$ lnmp-composer create-project --prefer-dist khs1994/example:dev-master demo

$ cd demo

$ git init

$ git remote add origin git@url.com:username/PROJECT_NAME.git

$ git checkout -b dev

$ echo -e "
