atlantic8-web/slim-magic

自动路由器,用于Slim Framework 3的自动发现类映射/加载器。无论您有多少路由、依赖项和中间件,都能保持Slim引导过程的整洁。

2.0 2017-09-24 07:40 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:20:13 UTC


README

Slim Framework 3x的引导器/类映射器/加载器。无论您有多少路由、依赖项和中间件,都能保持Slim引导过程的整洁,让您能够以结构化的方式构建真正的大型应用程序。

安装

建议使用 Composer 来安装SlimMagic。

$ composer require atlantic8-web/slim-magic "^1.0"
// or add to your existing composer.json file

这将安装SlimMagic及其所有依赖项。SlimMagic需要PHP 5.5.0或更高版本。

配置

'slim_magic_settings' => [
        'debug'=>false,
        'routes' => [
            //Home
            '/' => [
                'methods' => ['GET'], //Can be an array of methods, or ommit for default GET
                'classmap' => 'app\Home:index', //String resolver app
                'middleware' => [], //Middleware to load for this app
                'arguments' => [],//Arguments to pass to this app
                'name' => 'home' //App name, also used to generate URL's $slim->setName(...)
            ],
            '/admin/dashboard' => [
                'methods' => ['GET'],
                'classmap' => 'app\Admin:dashboard',
                'middleware' => ['AuthValidation', 'GrapPreload'],
                'arguments' => ['isAdmin'],
                'name' => 'admin_dashboard'
            ]
        ],
        //This will be applied to all routes/apps
        'all' => [
            'middleware' => ['Test', 'Session'],//See Slim docs for importance of order               
            'service' => ['SessionHelper', 'Twig', 'notFoundHandler'] //Service dependencies
        ]
    ]
        

目录结构

为了保持整洁,我们可以使用文件夹和服务引导器类 - 查看代码示例

MyNewApp
    -app
    -config
        -slim.php
    -service
        -Dependency
        -Middleware
    -view
    -model
-.htaccess
-index.php

用法

创建一个Slim config.php文件,并添加SlimMagic路由设置和配置 - 查看代码示例

创建一个包含以下内容的index.php文件

<?php

require 'vendor/autoload.php';

$container = new \Slim\Container(require 'config/slim.php');

$service = new \SlimMagic\ServiceContainer(new \Slim\App($container), $container->slim_magic_settings);
new \SlimMagic\Mapper($service);

$service->getSlim()->run();

查看代码示例、配置和架构(CLI不再受支持,而是通过引导器处理CLI) 示例

许可证

SlimMagic遵循MIT许可证。有关更多信息,请参阅许可证文件