【发布时间】:2018-11-17 18:42:31
【问题描述】:
我正在尝试跟踪对象类中过时或未使用的函数。我的一个想法是创建一个继承原始类的新类,然后在调用父函数时“跟踪”。当检测到时,我会将父函数迁移到子函数中,直到最终只存在必要/需要的函数。
是否有代码可以在 PHP 中自动执行此操作?这是一个例子。
class OldUser {
function getFullName() {
return "{$this->firstName} {$this->lastName}";
}
}
class User extends OldUser {
}
-----
$user = new User;
echo $user->getFulLName();
然后在某处的日志中我注意到: “{timestamp} 函数 getFullName() 被调用”
显然我可以手动添加这些日志,但如果 PHP 有现有的方法可以做到这一点,我很乐意默认使用该方法。
或者,如果有更好的方法可以做到这一点,我愿意接受建议。
谢谢!
【问题讨论】:
-
有一些 IDE 可以让您查看函数的调用层次结构。我认为 Sublime Text 3 至少有一个插件。或者在项目文件夹中搜索方法名称。以这种方式查找未使用的方法可能很乏味但可行。至于你所说的过时是什么意思,我不确定你要去哪里,也不知道这个类继承将如何提供帮助。此外,大量记录(读/写)会影响应用程序的性能,所以要小心。
-
这个想法是代码已经发生了很大的变化(甚至在我开始工作之前),函数已被弃用并且不再使用。我们正在寻找一种方法来慢慢清除这些函数,以便我们可以清理代码,安全地删除它们。
-
我可以根据经验告诉您,此过程是手动的且耗时的。您可以花费大量时间来检测您的代码或使用代码分析工具,但您会走得更远,只需要一个接一个地去寻找并修复您需要的东西。即使在我管理的代码库中,这在几个版本的过程中也更快。最大的帮助是一个好的测试框架。
标签: php class inheritance yii