Slim框架在路由中共享代码

时间:2014-07-28 20:51:19

标签: php slim

我有一个包含6条路线的路线组。我检查数据库中每条路线的参数。

实现这一目标的最佳方法是什么?为它建一个课程?

3 个答案:

答案 0 :(得分:0)

使用数据库时,实际上取决于您将使用它的程度。 Slim没有数据库集成,因此您可以使用基本的php或使用ORM工具来访问数据库,以帮助您与数据库进行通信。

一个快速且易于使用的orm是idiorm http://idiorm.readthedocs.org/en/latest/index.html

还有其他更强大的东西,这一切都取决于你想要完成的事情。真的,给一个最好的"解决方案,我们需要更多有关情况的信息,以及如何量化最佳信息。"

答案 1 :(得分:0)

尝试使用Slim Middleware

将检查部分添加为一个中间件,并共享所有路由的中间件。然后你会很高兴。

答案 2 :(得分:0)

根据您的需要,您还可以尝试使用类实例作为路由回调。

定义具有所有数据库功能的基类,并使用自版本2.4.0以来可用的“类控制器”(2013年11月)。

class Base  {
    // Define all your shared DB methods and properties here
}

使用基类的子类作为控制器类实例,作为Slim应用程序路由(及其参数)的回调:

$app->get('/user/:id/', '\Base\User:find');

在回调类实例中获取$ app的实例非常简单:

class User extends \Base {
    public function find($theUserId) {
        // ...
        // You can easily get access to $app here, too:
        // $app = \Slim\Slim::getInstance();
    }
}