Slim 3框架:mysql实例的良好实践


Slim 3 framework: mysql instance good practice

我试着找出在Slim Framework 3中通过依赖注入使用mysql连接实例的最佳实践。

我使用Rob Allen的骨架,并将这些行添加到app/dependencies.php

$container['db'] = function ($c) {
    $settings = $c['settings']['LOCAL_DB'];
    return new 'App'Action'DatabaseAction($settings['DB_HOST'],$settings['DB_DATABASE'],$settings['DB_USERNAME'],$settings['DB_PASSWORD']); 
};

$container['App'Action'HelloAction'] = function ($c) {
    return new App'Action'HelloAction($c['view'], $c['db']);
};

然后像这样在类中使用它:

$data['test'] = $this->db->one('SELECT * FROM database');

它工作得很好,但我不能确定这是一个好的方法,就好的实践而言,使用的资源,内存…

这是一个很好的方法,因为它遵循了良好的依赖注入实践。

在内存使用方面,您还确保仅在需要时才实例化数据库,而不是在每个请求时都实例化数据库,这也很好。

注意,创建数据库的类不应该被称为DatabaseAction,因为它不是一个操作,它是一个数据库实例创建者。我把它命名为App'Database