Cur*_*ind 9 php static-analysis reverse-engineering
我已经移交了一个用PHP编写的应用程序的大型无证代码,因为原始编码器已经AWOL了.我的任务是添加新功能,但如果不了解代码,我就无法做到这一点.我开始探索.老实说,我对源代码的数量感到不知所措.我已经找到:
现在我正在寻找一些我用来理解这段代码的技巧.例如,请考虑以下代码段:
class SiteController extends Common {
private $shared;
private $view;
protected function init(){
$this->loadShared();
$this->loadView();
}
private function loadShared(){
$this->shared = new Home();
}
private function loadView(){
$this->view = new HomeView();
}
Run Code Online (Sandbox Code Playgroud)
我想知道
此外,请分享一些用于理解用PHP编写的现有代码的技术?
首先,在这种情况下,我尝试概述应用程序:某种全球性的想法:
一旦你有了这个全球性的想法,如果你有一些时间,开始理解代码如何工作的可能性是使用PHP调试器.
关于这一点,Xdebug + Eclipse PDT是一种可能性 - 但几乎所有现代IDE都支持它.
它将允许您逐步,逐行地完成页面的生成,理解所谓的,何时,何地,......
当然,你不会为整个应用程序做到这一点!
但是,当您的应用程序使用框架时,应用程序的所有部分都很有可能以相同的方式工作 - 这意味着真正理解一个组件应该有助于更容易地理解另一个组件.
作为一些工具来了解什么叫做什么,怎么做以及在哪里,你可能想看看:
另请注意,应用程序不仅仅是代码:它经常发现对数据库进行反向工程非常有用,可以生成所有表的图表.
如果幸运的话,你的数据库中有外键 - 你可以通过这种方式在表之间建立链接; 这将有助于您了解它们之间的相互关系.
| 归档时间: |
|
| 查看次数: |
3068 次 |
| 最近记录: |