簡體   English   中英

您如何清理PHP項目?

[英]How Do You Clean up a PHP Project?

我一直在開發一個小型php應用程序(總計40萬)。 但是在構建和學習過程中,我有很多垃圾文件。

我沒有完成我的工作並正確命名它們,即demo1.php ...

有沒有辦法進行依賴檢查? 還是只是刪除,刷新並重復? 然后在需要時取消刪除?

沒有魔術工具可以為您完成此任務,只有功能可以幫助您實現自己的解決方案。

您想要的功能是

get_included_files();

這將返回到目前為止已包含的所有文件的數組。 將其放在引導程序文件的末尾(或所有單個文件的末尾),您可以獲取已包含或必需的每個文件的列表。 這不會報告使用file_get_contentsfopenfopen文件。這就是為什么最好使用某種包裝函數/類來為您調用這些函數的原因(允許您在需要時加入操作)

我采用的方法是在其中將包含文件的日志記錄到某處,然后讓您的應用運行一兩天(或親自行使其所有功能),以添加代碼,這應該為您提供項目實際使用的文件的完整列表使用時,可以清除列表中未顯示的文件。 該日志記錄可能很簡單

file_put_contents('/tmp/files.txt',print_r(get_included_files(), true),FILE_APPEND);

我現在處在相同的情況下,清理了一個很大的項目,其中一些項目已經使用了多年。

我發現最重要的是完成這項工作:

  • 版本控制。 我使用TortoiseSVN是因為它具有出色的Windows資源管理器集成。 每次更改后,我都會嘗試進行檢查,以免造成很多痛苦。

  • 一個很好且方便的搜索功能,用於進行基本的依賴項檢查(在哪里使用$ xyz-> loadFromOtherSource?)。 我使用nusphere PhpEd,但是那里有很多具有良好搜索功能的工具。

除此之外,我所知道的還沒有可靠的PHP重構/依賴檢查工具。

聽起來您需要從版本控制系統開始。 如果您的項目已經被破壞,那么您可能需要咬一下子彈並手動清理。

這將很難實現-IDE或類似工具無法知道哪些PHP文件將以某種方式包含在其中,而哪些文件應由最終用戶直接訪問。

更不用說PHP使您可以真正進行諸如此類的動態文件包含

$page = $_GET['page'];
include( 'templates/' . $page . '.php' );

最后,您只需要進行很多盡職調查。

幾年前,我接管了另一位離開我們公司的花葯開發人員的代碼時遇到了類似的問題。 由於代碼已經在生產中,因此無法進行完全重寫。 但是代碼在當前狀態下無法管理。

1)我創建了原始源代碼的存儲庫。

2)我創建了測試代碼來測試他的應用程序的功能。

3)我經歷了刪除,移動和清理函數的過程,直到源代碼更易於管理為止。 每次成功更改后,請簽入源代碼。

您可以自動加載文件。 例如 myfile.php該類也應命名為myfile

    <?php 
function __autoload($class_name) {
        require_once $class_name . '.php';
    }

    $obj  = new MyClass1();
    $obj2 = new MyClass2(); 
    ?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM