ronaldroyce / zend-zfcommandline-skeleton
Zend ZF 命令行骨架。
Requires
- php: ^7.1
- doctrine/doctrine-orm-module: ^2.1
- doctrine/migrations: ^2.1
- symfony/console: ^4.3
- symfony/event-dispatcher: ^4.3
- symfony/lock: ^4.3
- symfony/process: ^4.3
- zendframework/zend-component-installer: ^2.1.1
- zendframework/zend-config: ^3.3
- zendframework/zend-config-aggregator: ^1.0
- zendframework/zend-config-aggregator-modulemanager: ^1.0
- zendframework/zend-crypt: ^3.3
- zendframework/zend-db: ^2.8.1
- zendframework/zend-expressive-fastroute: ^3.0
- zendframework/zend-expressive-twigrenderer: ^2.0
- zendframework/zend-json: ^3.0
- zendframework/zend-mvc: ^3.0.1
- zendframework/zend-psr7bridge: ^0.2.2
- zendframework/zend-servicemanager: ^3.3
- zfcampus/zf-development-mode: ^3.0
Requires (Dev)
- composer/composer: ^1.5
- elie29/zend-phpdi-config: ^3.0
- filp/whoops: ^2.1.12
- jsoumelidis/zend-sf-di-config: ^0.3
- mikey179/vfsstream: ^1.6.5
- northwoods/container: ^3.0
- phpstan/phpstan: ^0.9.2
- phpstan/phpstan-strict-rules: ^0.9.0
- phpunit/phpunit: ^7.0.1
- roave/security-advisories: dev-master
- squizlabs/php_codesniffer: ^2.9.1
- zendframework/zend-auradi-config: ^1.0
- zendframework/zend-coding-standard: ~1.0.0
- zendframework/zend-expressive-aurarouter: ^3.0
- zendframework/zend-expressive-fastroute: ^3.0
- zendframework/zend-expressive-platesrenderer: ^2.0
- zendframework/zend-expressive-tooling: ^1.0
- zendframework/zend-expressive-twigrenderer: ^2.0
- zendframework/zend-expressive-zendrouter: ^3.0
- zendframework/zend-expressive-zendviewrenderer: ^2.0.2
- zendframework/zend-pimple-config: ^1.0
- zendframework/zend-servicemanager: ^3.3
- zfcampus/zf-development-mode: ^3.1
This package is auto-updated.
Last update: 2024-09-19 18:03:05 UTC
README
立即开始开发PSR-15中间件应用!
zend-expressive 基于以下内容构建:zend-stratigility,提供一个用于PHP的最简PSR-15中间件框架,具有路由、DI容器、可选模板和可选错误处理功能。
此安装程序将根据以下截图中的用户输入选择可选包,以设置基于zend-expressive的骨架应用
用户选择的包将保存到 composer.json
中,以便所有其他参与项目的人都能安装相同的包。为首次使用准备了配置文件和模板。设置成功后,安装命令将从 composer.json
中删除,并删除所有相关安装文件。
入门
使用composer开始新的Expressive项目
$ composer create-project zendframework/zend-expressive-skeleton <project-path>
选择并安装您想要的包后,转到 <project-path>
并启动PHP的内置Web服务器以验证安装
$ composer run --timeout=0 serve
然后您可以通过 https://:8080 进行浏览。
Linux用户
在PHP版本7.1.14之前和7.2.2之前,此命令可能无法按预期工作,因为PHP中存在一个仅影响Linux环境的错误。在这种情况下,您需要自己启动以下内置Web服务器:内置Web服务器
$ php -S 0.0.0.0:8080 -t public/ public/index.php
设置超时
Composer命令在300秒(5分钟)后超时。在基于Linux的系统上,由
composer serve
生成的php -S
命令作为后台进程继续运行,但在其他系统上在超时发生时停止。因此,我们建议使用超时运行
serve
脚本。这可以通过使用composer run
执行serve
脚本来完成,并带有--timeout
选项。当设置为0
时,如前面的示例所示,不会使用超时,它会一直运行,直到您取消进程(通常通过Ctrl-C
)。或者,您也可以指定一个有限的超时时间;例如,以下示例将超时延长到整整一天$ composer run --timeout=86400 serve
故障排除
如果在 composer create-project
阶段安装程序失败,请在打开新问题之前先查看以下列表。我们迄今为止遇到的大多数问题都可以通过 self-update
和 clear-cache
解决。
- 请确保使用最新版本的composer,通过运行
composer self-update
来完成。 - 尝试通过运行
composer clear-cache
清除Composer的缓存。
如果上述任一项都没有帮助,您可能面临更严重的问题
- 有关 zlib_decode错误 的信息。
- 有关 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
请注意,安装程序测试在运行测试前后会删除已安装的配置文件和模板。
在贡献之前,请阅读 贡献指南。