orx0r/slim3-controller

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

Slim Framework v3 控制器实现

0.1.2 2016-05-08 15:30 UTC

This package is not auto-updated.

Last update: 2020-02-21 17:05:45 UTC


README

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

Slim Framework v3 控制器实现

安装

通过 Composer

$ composer require orx0r/slim3-controller

使用

请参阅 示例 了解其实际工作情况

// in index.php
$app->get('/hello/{name}', 'app\controllers\HelloController:index');

// in app/controllers/HelloController.php

namespace app\controllers;

use Orx0r\Slim\Controller\Controller;

class HelloController extends Controller
{
    public function actionIndex($name)
    {
        return $this->response->getBody()->write("Hello, $name");
    }
}

如果您使用模板引擎之一,您可以在控制器中使用它

// in index.php
$c = new \Slim\Container;

$c['view'] = function ($container) {
    $view = new \Slim\Views\Twig( __DIR__ . '/../templates');
    $view->addExtension(new \Slim\Views\TwigExtension(
        $container['router'],
        $container['request']->getUri()
    ));

    return $view;
};

$app->get('/hello/{name}', 'app\controllers\HelloController:index');

// in app/controllers/HelloController.php
public function actionIndex($name)
{
    return $this->render('hello/index.html', ['name' => $name]);
}

在小型的 Slim 应用中,您可以使用 controllerNamespace 通过指定控制器名称来在同一个命名空间中解决所有控制器。它可以在不破坏旧代码的情况下工作

// register CallableResolver. pass second parameter as controllerNamespace
$c['callableResolver'] = function ($container) {
    return new CallableResolver($container, 'app\controllers');
};

$app->get('/hello/{name}', 'HelloController:index');

测试

$ composer test

贡献

请参阅 CONTRIBUTING

许可证

MIT 许可证 (MIT)。请参阅 许可证文件 获取更多信息。