cahdek / middleware
已安装并配置了 doctrine 的 Mezzio 项目
Requires
- php: ~8.0.0 || ~8.1.0 || ~8.2.0
- composer/package-versions-deprecated: ^1.10.99
- doctrine/migrations: ^3.5
- laminas/laminas-component-installer: ^2.6 || ^3.0
- laminas/laminas-config-aggregator: ^1.6
- laminas/laminas-diactoros: ^2.7
- laminas/laminas-servicemanager: ^3.4
- laminas/laminas-stdlib: ^3.6
- mezzio/mezzio: ^3.7
- mezzio/mezzio-helpers: ^5.7
- mezzio/mezzio-laminasrouter: ^3.0.1
- roave/psr-container-doctrine: ^3.6
- symfony/serializer: ^6.0
Requires (Dev)
- filp/whoops: ^2.7.1
- laminas/laminas-coding-standard: ^2.5
- laminas/laminas-development-mode: ^3.3.0
- mezzio/mezzio-tooling: ^2.8
- phpunit/phpunit: ^9.5.11
- roave/security-advisories: dev-master
README
🇷🇺 俄罗斯公民
我们是 Laminas 的参与者,来自不同的国家。我们中许多人都有在俄罗斯和乌克兰的朋友、亲戚和同事。我们中的一些人出生在俄罗斯。我们中的一些人现在住在俄罗斯。我们中的一些祖父母曾在二战中与法西斯作战。在这里,没有人支持法西斯主义。
我们中的一位成员有一位乌克兰亲戚,她和她儿子一起逃离了家园。火车因为前方道路的轰炸而延误。我们有一些朋友躲在防空洞里。我们在空袭后焦急地等待他们的消息,空袭不分青红皂白地袭击医院、学校、幼儿园和住宅。我们不是从任何媒体上得知这些的。这是我们亲眼目睹的。
你们足够信任我们,使用我们的程序,我们请求你们再次信任我们。我们需要帮助。走出家门,抗议这场无谓的战争。停止杀戮。说“不,战争!”
🇺🇸 致俄罗斯公民
Laminas 的我们来自世界各地。我们中许多人都在俄罗斯和乌克兰有朋友、家人和同事。我们中的一些人出生在俄罗斯。我们中的一些人现在住在俄罗斯。我们中的一些祖父母曾在二战中与纳粹作战。在这里,没有人支持法西斯主义。
我们团队的一位成员有一位乌克兰亲戚,她和儿子一起逃离了家园。火车因为前方道路的轰炸而延误。我们有一些朋友躲在防空洞里。我们在空袭后焦急地等待他们的消息,空袭不分青红皂白地袭击医院、学校、幼儿园和住宅。我们不是从任何媒体上得知这些的。这是我们亲眼目睹的。
你们足够信任我们,使用我们的软件。我们请求你们相信我们在这件事上的真实性。我们需要帮助。走出家门,抗议这场无谓的战争。停止杀戮。说“停止战争!”
几秒钟内开始开发 PSR-15 中间件应用程序!
mezzio 基于 laminas-stratigility 构建,为 PHP 提供了一个具有路由、DI 容器、可选模板和可选错误处理功能的极简 PSR-15 中间件框架。
此安装程序将根据以下截图所示的用户输入选择可选包来设置基于 mezzio 的基本应用程序
用户选择的包将被保存到 composer.json
中,以便所有其他参与项目的人都有相同的包安装。为首次使用准备了配置文件和模板。在设置成功后,安装命令将从 composer.json
中删除,并删除所有与安装相关的文件。
入门
使用 composer 开始新的 Mezzio 项目
$ composer create-project mezzio/mezzio-skeleton <project-path>
选择并安装您想要的包后,转到 <project-path>
并启动 PHP 内置的 web 服务器以验证安装
$ composer serve
然后您可以通过访问 https://:8080 来浏览。
安装替代包
有一个安装替代包的功能:您实际上可以输入选择之一 包名和版本。
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
请注意,安装程序测试在运行测试之前和之后会删除安装的配置文件和模板。
在贡献之前,请阅读 贡献指南。