gpt4 book ai didi

php - Laravel 使用外墙有什么缺点吗?

转载 作者:行者123 更新时间:2023-12-03 23:23:29 25 4
gpt4 key购买 nike

有一些批评 [见下文] Laravel 广泛使用外观,这似乎是一种反模式,例如

Singleton "facades" only upside is that they are relatively "easy to use", but technical debt introduced from such shortcuts is hard to even estimate.



示例代码:
$value = Cache::get('key');

那么,使用上面的示例代码,如果我们不使用门面,谁能告诉我如何用 PHP 更好地编写这段代码?

最佳答案

免责声明:我不一定同意外墙不好或反模式

一个“更好”的方法是使用 dependency injection .例如,如果这是您的 Controller :

public function __construct(\Illuminate\Cache\Repository $cache){
$this->cache = $cache;
}

public function doSomething(){
$value = $this->cache->get('key');
}

或者您可以只对一种方法执行相同的操作:
public function doSomething(\Illuminate\Cache\Repository $cache){
$value = $cache->get('key');
}

请注意,我们在这里不是在类型提示外观类,而是在底层框架类。您可以找到这些类的列表 in the docs .

关于php - Laravel 使用外墙有什么缺点吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29567280/

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