gpt4 book ai didi

php - Slim 之外的 Slim 框架配置

转载 作者:可可西里 更新时间:2023-10-31 23:40:04 24 4
gpt4 key购买 nike

我的 Slim 项目组织如下:

- app
-- Acme
--- Auth
---- Auth.php (handles authentication)
-- config
--- development.php
--- production.php
-- routes
-- views
- public
- vendor

我正在以通常的方式设置我的应用。

$app = new \Slim\Slim([
'view' => new \Slim\Views\Twig(),
'mode' => 'development'
]);

并像这样注入(inject)依赖。

$app->auth = function($app) {
return new Codecourse\Auth\Auth($app->user);
};

允许我的 Auth 类查看我的配置的最正确方法是什么?我原本打算将它作为依赖项传递,但 Slim 的配置键可以像 $app->config('key') 一样访问,所以我必须传递 $app,这会很糟糕。

我知道我的身份验证可以用作中间件,但我想在全局范围内访问配置。

使用像 noodlehaus/config ( https://github.com/noodlehaus/config ) 这样的包来处理 Slim 之外的配置会更好吗?

最佳答案

实例化Slim\Slim 后,您可以通过静态方法访问它的实例Slim\Slim::getInstance()从任何地方(例如在你的 Auth 类中)然后使用 config('key') 方法访问它的任何配置属性(即你可以使用 Slim 作为资源定位器从任何地方到 get/set really any of the active instance's resources)。这样就不需要传递应用程序对象。

但是当然你总是可以有一个单独的配置对象(比如来自 noodlehaus/config 包的那个)并使用它来代替 Slim 的内置资源定位器功能......这样你就可以访问它而无需实例化任何 Slim应用程序对象并使 Auth 库独立于 Slim 框架。

关于php - Slim 之外的 Slim 框架配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27881367/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com