agencycoda / mezzio-skeleton
Laminas mezzio 骨架。立即开始开发 PSR-15 中间件应用!
Requires
- php: ^7.4 || ~8.0.0 || ~8.1.0
- agencycoda/mia-auth-mezzio: dev-main
- agencycoda/mia-core-mezzio: dev-main
- agencycoda/mia-eloquent-mezzio: dev-main
- agencycoda/mia-installer-mezzio: dev-main
- agencycoda/mia-mail-mezzio: dev-main
- composer/package-versions-deprecated: ^1.10.99
- laminas/laminas-component-installer: ^2.6
- laminas/laminas-config-aggregator: ^1.6
- laminas/laminas-diactoros: ^2.7
- laminas/laminas-stdlib: ^3.6
- mezzio/mezzio: ^3.7
- mezzio/mezzio-cors: ^1.0
- mezzio/mezzio-helpers: ^5.7
Requires (Dev)
- chubbyphp/chubbyphp-laminas-config: ^1.1
- composer/composer: ^1.5 || ^2.0
- elie29/zend-phpdi-config: ^6.0 || ^8.0
- filp/whoops: ^2.12.1
- jsoumelidis/zend-sf-di-config: ^0.5
- laminas/laminas-coding-standard: ~2.3.0
- laminas/laminas-development-mode: ^3.3.0
- laminas/laminas-pimple-config: ^1.4
- laminas/laminas-servicemanager: ^3.6.4
- mezzio/mezzio-fastroute: ^3.2.0
- mezzio/mezzio-laminasrouter: ^3.1.0
- mezzio/mezzio-laminasviewrenderer: ^2.3.0
- mezzio/mezzio-platesrenderer: ^2.3.0
- mezzio/mezzio-tooling: ^2.1
- mezzio/mezzio-twigrenderer: ^2.7.0
- mikey179/vfsstream: ^1.6.10
- phpunit/phpunit: ^9.5.11
- psalm/plugin-phpunit: ^0.16.1
- roave/security-advisories: dev-master
- vimeo/psalm: ^4.17
- 3.12.x-dev
- 3.12.1
- 3.11.x-dev
- 3.10.x-dev
- 3.8.x-dev
- 3.8.22
- 3.8.21
- 3.8.20
- 3.8.19
- 3.8.18
- 3.8.17
- 3.8.16
- 3.8.15
- 3.8.14
- 3.8.13
- 3.8.12
- 3.8.11
- 3.8.10
- 3.8.9
- 3.8.8
- 3.8.7
- 3.8.6
- 3.8.5
- 3.8.4
- 3.8.3
- 3.8.2
- 3.8.1
- 3.8
- 3.7.x-dev
- 3.7.0
- 3.6.x-dev
- 3.6.0
- 3.5.x-dev
- 3.5.0
- 3.4.1
- 3.4.0
- 3.3.2
- 3.3.1
- 3.3.0
- 3.2.3
- 3.2.2
- 3.2.1
- 3.2.0
- 3.1.0
- 3.0.6
- 3.0.5
- 3.0.4
- 3.0.3
- 3.0.2
- 3.0.1
- 3.0.0
- 3.0.0rc4
- 3.0.0rc3
- 3.0.0rc2
- 3.0.0rc1
- 3.0.0alpha3
- 3.0.0alpha2
- 3.0.0alpha1
- 2.2.0
- 2.1.0
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- 1.0.0rc8
- 1.0.0rc7
- 1.0.0rc6
- 1.0.0rc5
- 1.0.0rc4
- 1.0.0rc3
- 1.0.0rc2
- 1.0.0rc1
This package is auto-updated.
Last update: 2024-09-15 17:49:17 UTC
README
## 使用 Swagger 生成文档
./vendor/bin/openapi --format json --output public/swagger/swagger.json src config vendor/agencycoda
Mezzio 骨架和安装程序
🇷🇺 致俄罗斯公民
我们,Laminas 的参与者,来自不同的国家。我们中的许多人都有在俄罗斯和乌克兰的朋友、亲戚和同事。我们中的一些人出生在俄罗斯。我们中的一些人目前住在俄罗斯。我们中的一些人的祖父母在第二次世界大战中与法西斯作战。在这里,没有人支持法西斯主义。
我们中的一位成员有一位乌克兰亲戚和她儿子一起逃离了家园。火车因前方道路上的轰炸而延误。我们有一些朋友正在防空洞里躲避。我们在空袭后焦虑地关注他们,这些空袭不分青红皂白地攻击医院、学校、幼儿园和房屋。我们不是从任何媒体上得知这一点。这是我们亲眼所见。
您足够信任我们使用我们的程序,我们请求您再次信任我们。我们需要您的帮助。走出家门,抗议这场无意义的战争。停止流血。说出“停止战争!”
🇺🇸 致俄罗斯公民
我们这些 Laminas 的人来自世界各地。我们中的许多人都在俄罗斯和乌克兰有朋友、家人和同事。我们中的一些人出生在俄罗斯。我们中的一些人目前住在俄罗斯。我们中的一些人的祖父母在第二次世界大战中与纳粹作战。在这里,没有人支持法西斯主义。
我们中的一位团队成员有一位乌克兰亲戚和她儿子一起逃离了家园。火车因前方道路上的轰炸而延误。我们有一些朋友正在防空洞里躲避。我们在空袭后焦虑地关注他们,这些空袭不分青红皂白地攻击医院、学校、幼儿园和房屋。我们不是从任何媒体上得知这一点。这是我们亲身经历。
您足够信任我们使用我们的软件。我们请求您信任我们说出真相。我们需要您的帮助。走出家门,抗议这场无意义的战争。停止杀戮。说出“停止战争!”
立即开始开发 PSR-15 中间件应用!
mezzio 基于 laminas-stratigility 构建,提供了一个最小的 PSR-15 中间件框架,用于 PHP,具有路由、DI 容器、可选的模板和可选的错误处理功能。
此安装程序将根据以下截图所示的用户输入选择可选包来设置基于 mezzio 的骨架应用程序
用户选择的包将被保存到 composer.json
中,以便所有其他参与项目的人都安装了相同的包。配置文件和模板已准备好供首次使用。安装程序命令在设置成功后从 composer.json
中删除,并删除所有与安装程序相关的文件。
入门指南
使用 composer 启动您的 Mezzio 项目
$ composer create-project mezzio/mezzio-skeleton <project-path>
选择并安装您想要的包后,转到 <项目路径>
并启动 PHP 的内置 Web 服务器以验证安装
$ composer run --timeout=0 serve
然后您可以通过 https://:8080 进行浏览。
Linux 用户
在 PHP 7.1.14 和 7.2.2 之前的版本中,由于 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
安装替代包
有一个安装替代包的功能:您实际上可以输入选择之一中的包名和版本,而不仅仅是输入选择。
Which template engine do you want to use? [1] Plates [2] Twig [3] zend-view installs zend-servicemanager [n] None of the above Make your selection or type a composer package name and version (n): infw/pug:0.1 - Searching for infw/pug:0.1 - Adding package infw/pug (0.1)
该功能允许您安装任何所需的替代包。尽管如此,它也有其局限性。
- 替代包必须遵循以下格式
namespace/package:1.0
。它需要正确的版本。 - 模板不会被复制,但 ConfigProvider 可以配置为直接使用包本身中的默认模板。
- 这对于容器不适用,因为需要复制 container.php 文件。
故障排除
如果在 composer create-project
阶段安装程序失败,请在创建新的问题之前先查看以下列表。我们迄今为止看到的许多问题都可以通过 self-update
和 clear-cache
解决。
- 请确保使用
composer self-update
运行最新版本的 composer。 - 尝试通过运行
composer clear-cache
清除 Composer 的缓存。
如果上述任一方法都无法解决问题,您可能面临更严重的问题。
- 有关zlib_decode 错误的信息。
- 有关composer 降级模式的信息和解决方案。
应用程序开发模式工具
此骨架包含 laminas-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 ...
安装 mezzio 的情况。
如果您想对安装程序进行测试,您需要克隆此仓库,并使用composer设置所有依赖项。请确保您使用--no-scripts
来防止composer运行脚本,否则它将删除安装程序和所有测试。
$ composer update --no-scripts
$ composer test
请注意,安装程序测试在运行测试前后会删除已安装的配置文件和模板。
在贡献之前,请阅读贡献指南。