Zend Expressive 项目教程
zend-expressivePSR-15 middleware in minutes!项目地址:https://gitcode.com/gh_mirrors/ze/zend-expressive
1. 项目的目录结构及介绍
Zend Expressive 是一个基于 PSR-7 的 PHP 微框架,提供了灵活的路由和中间件支持。以下是其典型的目录结构:
zend-expressive/
├── config/
│ ├── autoload/
│ ├── config.php
│ └── routes.php
├── public/
│ └── index.php
├── src/
│ └── Middleware/
│ └── Action/
├── vendor/
└── composer.json
config/
:包含项目的配置文件,如路由配置、服务配置等。autoload/
:自动加载的配置文件。config.php
:主配置文件。routes.php
:路由配置文件。
public/
:公共目录,包含入口文件index.php
。src/
:源代码目录,包含中间件和动作类。Middleware/
:中间件类。Action/
:动作类。
vendor/
:第三方依赖包。composer.json
:Composer 配置文件。
2. 项目的启动文件介绍
Zend Expressive 的启动文件位于 public/index.php
,它是整个应用的入口点。以下是启动文件的主要内容:
<?php
use Zend\Expressive\Application;
use Zend\Expressive\MiddlewareFactory;
use Zend\ServiceManager\ServiceManager;
require '../vendor/autoload.php';
$config = require '../config/config.php';
$serviceManager = new ServiceManager($config['dependencies']);
$middlewareFactory = new MiddlewareFactory($serviceManager);
$application = new Application($middlewareFactory, $serviceManager, $config['routes']);
$application->run();
require '../vendor/autoload.php';
:加载 Composer 自动加载器。$config = require '../config/config.php';
:加载主配置文件。$serviceManager = new ServiceManager($config['dependencies']);
:创建服务管理器。$middlewareFactory = new MiddlewareFactory($serviceManager);
:创建中间件工厂。$application = new Application($middlewareFactory, $serviceManager, $config['routes']);
:创建应用实例。$application->run();
:运行应用。
3. 项目的配置文件介绍
Zend Expressive 的配置文件主要位于 config/
目录下,以下是几个关键的配置文件:
config/config.php
这是主配置文件,包含了应用的所有配置信息:
<?php
return [
'dependencies' => [
'invokables' => [
// 可调用的依赖
],
'factories' => [
// 工厂类依赖
],
],
'routes' => [
// 路由配置
],
];
dependencies
:定义依赖关系,包括可调用的依赖和工厂类依赖。routes
:定义路由配置。
config/routes.php
这是路由配置文件,定义了应用的所有路由规则:
<?php
return [
[
'path' => '/',
'middleware' => App\Action\HomePageAction::class,
'allowed_methods' => ['GET'],
],
[
'path' => '/about',
'middleware' => App\Action\AboutPageAction::class,
'allowed_methods' => ['GET'],
],
];
path
:路由路径。middleware
:处理该路由的中间件类。allowed_methods
:允许的 HTTP 方法。
通过以上配置文件,可以灵活地定义应用的路由和依赖关系。
zend-expressivePSR-15 middleware in minutes!项目地址:https://gitcode.com/gh_mirrors/ze/zend-expressive