zendframework/zend-expressive-skeleton

此包已被弃用且不再维护。作者建议使用mezzio/mezzio-skeleton包。

Zend 表达式骨架。几秒钟内开始开发PSR-15中间件应用!


README

仓库已弃用 2019-12-31

此仓库已迁移至mezzio/mezzio-skeleton

Build Status Coverage Status

几秒钟内开始开发PSR-15中间件应用!

zend-expressive基于zend-stratigility构建,提供了一个具有路由、DI容器、可选模板和可选错误处理功能的PHP最小化PSR-15中间件框架。

此安装程序将根据以下截图中的用户输入选择可选包来设置基于zend-expressive的骨架应用程序

screenshot-installer

用户选择的包将被保存到composer.json中,以便所有参与项目的其他人都安装相同的包。配置文件和模板已准备就绪以供首次使用。安装命令在设置成功后将从composer.json中删除,并删除所有安装相关文件。

入门指南

使用composer开始您的新的Expressive项目

$ composer create-project zendframework/zend-expressive-skeleton <project-path>

选择并安装您想要的包后,转到<项目路径>并启动PHP的内置Web服务器以验证安装

$ composer run --timeout=0 serve

然后您可以浏览到http://localhost:8080

Linux用户

在7.1.14和7.2.2之前的PHP版本中,此命令可能无法按预期工作,因为PHP中存在仅影响Linux环境的错误。在这种情况下,您需要自己启动内置Web服务器,使用以下命令

$ php -S 0.0.0.0:8080 -t public/ public/index.php

设置超时

Composer命令在300秒(5分钟)后超时。在基于Linux的系统上,由composer serve生成的php -S命令作为后台进程继续运行,但在其他系统上在超时时停止。

因此,我们建议使用超时运行serve脚本。这可以通过使用具有--timeout选项的composer run来执行serve脚本来完成。当设置为0时,如前例所示,将不会使用超时,它将一直运行,直到您取消进程(通常通过Ctrl-C)。或者,您可以指定一个有限的超时;例如,以下将超时延长至整天

$ composer run --timeout=86400 serve

故障排除

如果在composer create-project阶段安装程序失败,请在打开新问题之前先查看以下列表。我们迄今为止看到的大多数问题都可以通过self-updateclear-cache来解决。

  1. 请确保使用最新版本的composer,通过运行composer self-update来完成。
  2. 尝试通过运行composer clear-cache来清除Composer的缓存。

如果上述方法都不起作用,你可能面临更严重的问题。

应用程序开发模式工具

此骨架附带zf-development-mode。它提供了一个composer脚本,允许您启用和禁用开发模式。

启用开发模式

注意:请不要在生产服务器上运行开发模式!

$ composer development-enable

注意:启用开发模式也会清除您的配置缓存,以安全地更新依赖项并确保新的配置被您的应用程序获取。

禁用开发模式

$ composer development-disable

开发模式状态

$ composer development-status

配置缓存

默认情况下,骨架将在data/config-cache.php中创建一个配置缓存。在开发模式下,配置缓存被禁用,并在进入和退出开发模式时删除配置缓存。

如果您部署到同一目录,则可能需要在生产环境中清除配置缓存。您可以使用以下命令来做到这一点

$ composer clear-config-cache

您还可以通过编辑config/config.php文件并更改本地$cacheConfig变量的config_cache_path条目来更改配置缓存的位置。

骨架开发

本节仅适用于您使用git clone克隆此存储库的情况,而不是使用composer create-project ...安装expressive时。

如果您想对安装程序进行测试,您需要克隆此存储库并使用composer设置所有依赖项。请确保使用--no-scripts来防止composer运行脚本,否则它将删除安装程序和所有测试。

$ composer update --no-scripts
$ composer test

请注意,安装程序测试会在运行测试前后删除已安装的配置文件和模板。

在贡献之前,请阅读贡献指南