Ale*_*ett 5 php configuration slim
我的 Slim 项目组织如下:
- app
-- Acme
--- Auth
---- Auth.php (handles authentication)
-- config
--- development.php
--- production.php
-- routes
-- views
- public
- vendor
Run Code Online (Sandbox Code Playgroud)
我正在以通常的方式设置我的应用程序。
$app = new \Slim\Slim([
'view' => new \Slim\Views\Twig(),
'mode' => 'development'
]);
Run Code Online (Sandbox Code Playgroud)
并注入这样的依赖项。
$app->auth = function($app) {
return new Codecourse\Auth\Auth($app->user);
};
Run Code Online (Sandbox Code Playgroud)
允许我的 Auth 类查看我的配置的最正确方法是什么?我原本打算将它作为依赖项传递,但是 Slim 的配置键是这样访问的,$app->config('key')所以我必须传递它$app,这会很糟糕。
我知道我的身份验证可以作为中间件,但希望能够访问全局配置。
使用像 noodlehaus/config ( https://github.com/noodlehaus/config ) 这样的包来处理 Slim 之外的配置可能会更好吗?
实例化后,Slim\Slim您可以通过静态方法Slim\Slim::getInstance()从任何地方(例如在Auth类内部)访问其实例,然后使用该方法访问其任何配置属性config('key')(即您可以使用 Slim 作为资源定位器来获取/设置任何活动的属性)来自任何地方的实例资源)。这样就不需要传递应用程序对象。
但是当然,您始终可以拥有一个单独的配置对象(例如 noodlehaus/config 包中的配置对象)并使用它来代替 Slim 的内置资源定位器功能……这样您就可以访问它,而无需实例化任何 Slim 应用程序对象,并且让Auth库独立于 Slim 框架。
| 归档时间: |
|
| 查看次数: |
974 次 |
| 最近记录: |