该包已被废弃,不再维护。未建议替代包。

基于Zend Framework 2的微框架

0.2.0 2015-10-20 21:36 UTC

README

Zeff - 有效核电荷(通常表示为Zeff或Z*)是多电子原子中电子所感受到的净正电荷。

Mu - 微米或小

Zeff也是英国英语发音的Zed Eff(ZF)的缩写

此项目是一个简单示例,说明如何使用ZF2构建一个真正简单的微框架。它看起来与silex完全一样,但其核心基本上是一个ServiceManager

这允许您拥有简单的闭包返回输出,涉及服务和其他更高级组件的复杂架构,例如ZF2的ModuleManagerDoctrine2 ORM

重要提示

请注意,这是一个出于娱乐目的并了解Silex和ZF2架构相似或不同而启动的项目。

我们正在为各种新功能和修复工作而努力

我们希望每个里程碑都能达到初步的稳定性,从里程碑v0.0.5开始。在达到这个第一个里程碑之前,master被视为不稳定和易变的。

安装

在一个带有composer.json文件的项目中,在您的控制台中输入以下内容。

$ composer require binarykitten/zeffmu

您可以使用*作为所需版本。

使用

在您的public/index.php文件中(假设public是您的webroot),定义以下内容

<?php
chdir(dirname(__DIR__));
require 'vendor/autoload.php';

$app = \ZeffMu\App::init();
$app
    ->route('/', function() {
        return '<a href="/hello">HEllo!</a>';
    })
    ->route('/hello', function() {
        return 'Hi!';
    })
    ->route('/hello/:name', function($params) use ($app) {
        return 'Hello ' . $params['name'];
    })
    ->route('/hello/:name/:surname', function($params) use ($app) {
        return 'Hello, Mr. ' . $params['surname'] . ', or shall I call you ' . $params['name'] . '?';
    })
->run();

优势

  • 由于应用程序是一个功能齐全的ZF应用程序,您也可以在闭包中返回视图模型,从而进行模板渲染。
  • 您可以在事件(如标准ZF2应用程序中)上附加监听器
  • 您可以像在标准MVC应用程序中那样获取服务(例如,$app->getService('db')$app->getServiceLocator()->get('db')
  • 您可以加载模块,并在典型ZF2应用程序中拥有任何模块功能

限制(目前)

  • ZeffMu目前将路由所有HTTP请求,而不管HTTP方法。
  • 它不支持原生地过滤输出字符串等操作
  • 它不支持设置控制器或从内部服务定位器检索它们(因为这需要命名控制器,并最终导致ZF2的MVC)。路由和分配也与ZF2不同。一个回退可能是有趣的。
  • 它不支持注册除Zend\Mvc\Router\Http\Part之外的路由
  • 默认情况下,它提供了默认ZF2应用程序中提供的所有服务
  • 无法在路由匹配中定义名为“controller”的参数,因为它已被保留
  • 组装路由尚不可用
  • 辅助方法(视图辅助器/控制器插件)实用工具无法从应用程序对象中以简单的方式访问。一些简单的快捷方式可能有所帮助。

高级用法

  • 待定:服务
  • 待定:事件

构建状态

Build Status