benmajor / slim3-controller

为Slim3框架添加控制器支持。

安装: 9

依赖项: 0

建议者: 0

安全: 0

星标: 1

关注者: 1

分支: 0

开放问题: 0

类型: slim3-extension

1.0.0 2019-09-10 09:25 UTC

This package is auto-updated.

Last update: 2024-09-10 20:34:36 UTC


README

Slim 3 Controller此包为Slim 3框架添加控制器支持。当使用Slim和原生的Slim Twig视图扩展构建MVC应用时,这尤其有用。

安装

可以通过Composer安装,如下所示:

composer require benmajor/slim3-controller

用法

本文档中所有文件引用均相对于Slim3安装的根目录。

您应该首先在您的项目中扩展Controller类,以添加项目的自定义功能。以下是一个自定义控制器的简单示例(注意使用了命名空间)

/controllers/Contact.php

<?php

namespace MyApp\App\Controller;

use BenMajor\Slim3Controller\Controller;

class ContactController extends Controller
{
  public function index()
  {
    return $this->render('contact-main.twig', [ /* view data here */ ]);
  }
  
  public function send()
  {
    // Handle the sending of the contact form.
  }
}

为了使用ContactController,您必须将其定义用于与其他应用路由一起使用。以下示例展示了如何利用控制器支持

/routes.php

<?php

use MyApp\App\Controller;

// Define the controllers:
$controllers = [
  'contact' => new ContactController($app)
];

$app->group('/contact', function() use ($app, $controllers) {
  $app->get('/', $controllers['contact']('index'));
  $app->post('/', $controllers['contact']('send'));
});

致谢

感谢@martynbiz在原始Slim 3 Controller上的出色工作。