jschreuder/middle-skeleton

为新项目设置的中层框架。

dev-master 2023-02-05 21:38 UTC

This package is auto-updated.

Last update: 2024-09-06 01:09:56 UTC


README

Middle 框架 提供的基本(虽然具有意见)设置。它配置了以下内容

安装

在命令行中使用 composer

$ composer create-project jschreuder/middle-skeleton myapp dev-master

之后,您需要使日志目录可写

$ chmod 0755 var/logs

接下来,您将设置配置文件。将 dev.php 中的数据库凭据修改为您所需的内容。您可以通过重命名 dev.php 文件并编辑 env.php 的返回值以返回该名称来更改环境。

$ mv etc/dev.php.dist etc/dev.php
$ mv etc/env.php.dist etc/env.php

之后,如果您打算使用数据库,还应在环境配置文件中设置正确的凭据。

最后:您可能想将一切放在不同的命名空间下 ;-)

测试是否正常工作

转到命令行并输入 ./console middle:example MyName 以显示欢迎信息。该命令位于 src/Command/ExampleCommand.php

转到命令行并进入 web 目录,输入 php -S localhost:8080 并在浏览器中访问 https://:8080。它应该显示一个 JSON 编码的 你好,世界 消息。该控制器的位置在 src/Controller/ExampleController.php,路由设置在 src/GeneralRoutingProvider.php

运行 bin/phpspec run 以使 phpspec 在示例类上运行规格。

连接

有几个文件将应用程序连接在一起

  • etc/app_init.php,它加载自动加载器,设置一些合理的环境设置,设置 Monolog,并使用 GeneralServiceProvider 初始化 DiC;
  • web/index.php,它是 Web 应用程序的入口点,将加载路由并将请求通过应用程序运行;
  • console,它注册命令;
  • DiC 在 ServiceContainer 类中配置;
  • 路由在 GeneralRoutingProvider 类中配置;
  • 控制台命令在 ConsoleCommandsProvider 类中配置。

包含在中层框架中

在中层框架中包含了一些您可能想要考虑但尚未设置的事情

  • 会话:您可以使用 SessionMiddleware 以及 Laminas 实现为应用程序添加会话支持。注意,您还需要安装 Laminas Session 包。
  • 视图/模板:您可以使用 ViewRenderer 类与 Twig 一起生成来自强大模板的输出。或者根据提供的接口实现您自己的视图层。
  • 使用请求验证器和请求过滤器在请求到达控制器之前检查 HTTP 请求。