simplydi/framework

基于Mezzio (Zend Expressive)的完整栈PHP框架!

This package is auto-updated.

Last update: 2024-09-26 20:13:22 UTC


README

这是一个基于mezzio框架(原名,Zend Expressive)的完整栈PHP框架。

所有文档都位于docs文件夹中。如果不需要,您可以删除该文件夹。

Tailwind CSS

运行以下命令以编译压缩的Tailwind CSS。

npx tailwindcss -i ./assets/tailwind.css -o ./public/static/css/tailwind.min.css --minify --watch

Mezzio骨架和安装程序

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

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

此安装程序将根据用户输入选择可选包来设置基于mezzio的骨架,如下截图所示

screenshot-installer

用户选择的包将被保存到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-updateclear-cache来解决。

  1. 请确保使用最新版本的composer,运行composer self-update
  2. 尝试通过运行composer clear-cache来清除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

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

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