【发布时间】:2019-11-29 12:03:39
【问题描述】:
我将 phpmd 添加到我的 Laravel 项目中。
现在我对“日志”的静态用法有一点意见。
namespace App\Http\Controllers;
use Log;
class MyController extends Controller
{
/**
* Does something
*/
public function doSomething($var)
{
Log::info('Just began to to something.');
}
phpmd 说:
避免在方法“doSomething”中使用对类“\Log”的静态访问。
在这里使用 Log 类的正确方法是什么?
我遵循了 Laravel 文档,但不知道如何更正它并且 由于我的知识有限,phpmd 文档对我没有帮助。
谢谢!
【问题讨论】:
-
只用
info('text here...');???? -
它是一个门面,它实际上是另一个类的“静态代理”,你不是直接调用底层类的静态方法
-
有人会说,正确的做法是不使用facade,使用适当的依赖注入,这完全被facade隐藏了。
-
我不同意 Mess 检测器抱怨的关于框架的大多数事情。我认为遵循框架最佳实践比混乱检测器更重要:)