php - 如何重构路由的长 php 文件(我使用的是 Slim Framework)

标签 php slim

我正在将 Slim 框架用于一个简单的 crud 风格的应用程序。我的 index.php 文件已经变得非常长且难以处理所有不同的路由。我怎样才能清理/重构这段代码?例如,对于所有不同的路由和 GET、POST、PUT、DELETE 等,我有如下代码。

$app->get("/login", function() use ($app)
{//code here.....});

最佳答案

我喜欢做的是对路由进行分组,对于每个组,我在名为 routes 的子目录下创建一个新文件。为了说明来自 Slim docs 的一些示例代码:

index.php:

$app = new \Slim\Slim();
$routeFiles = (array) glob(__DIR__ . DIRECTORY_SEPARATOR . 'routes' . DIRECTORY_SEPARATOR . '*.php');
foreach($routeFiles as $routeFile) {
  require_once $routeFile;
}
$app->run();

routes/api.php:

// API group
$app->group('/api', function () use ($app) {

    // Library group
    $app->group('/library', function () use ($app) {

        // Get book with ID
        $app->get('/books/:id', function ($id) {

        });

        // Update book with ID
        $app->put('/books/:id', function ($id) {

        });

        // Delete book with ID
        $app->delete('/books/:id', function ($id) {

        });

    });

});

您甚至可以为多个级别执行此操作,但请确保您不会为此过于复杂。

您也可以在偏离路线的情况下执行此操作。

关于php - 如何重构路由的长 php 文件(我使用的是 Slim Framework),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24799295/

相关文章:

php - 通过 Alamofire 上传文件并使用 Slim PHP 在服务器端检索它

javascript - 将表单数据从 Angular 2 上传到 Slim PHP API

php - Newrelic 无法识别我的 Slim PHP 路由

php - 在 REST API GET 请求中指定参数

php - 通过 PHP 计算 COUNT() MYSQL 行的更有效方法?

php - 将两个数组元素一一插入数据库表

php - 即使在同一文件夹中,require() 也不适用于文件

php - 状态 200 = HttpPut 有效吗?

php - MYSQL无法更新父表——关系型数据库设计、外键约束和级联更新/删除

phpunit 测试套件的独立性