簡體   English   中英

在CakePHP視圖中查找未使用的變量

[英]Finding unused variables in CakePHP views

當前,我正在使用NetBeans IDE,它具有一個非常好的功能,它可以顯示是否定義了變量,但未在其范圍內使用它。 如果您有一堆舊代碼,並且您正嘗試從其中刪除死角,則此方法非常好用。

是否有工具/服務/其他工具,它們會做同樣的事情,但是會發現在控制器中設置但在視圖中未使用的變量。 它不必是全自動的。

例如,如果您的控制器中包含以下內容:

$this->set(array(
     'variable1' => $variable1,
     'variable2' => $variable2
)); 

並且視圖如下所示:

<p>Peter ate <?php echo $variable1; ?> apples.

它會突出顯示或以其他任何方式標識variable2 (假設它也不在布局中使用)。

嘗試在您的代碼庫上運行PHP Mess Detector

甚至有一個Netbeans 插件 只是不要在CakePHP源代碼本身上運行它,否則您將清楚地了解它實際上是多么可怕。

可能適得其反。 並導致您對宗教本質的認知失調。

我只能想到一種執行此操作的方法-如果每次這樣做,它只會讓您跟蹤通過模態傳遞給視圖的參數。

創建一個實現ArrayAccess的類。 然后使用offsetGet()方法,這將允許您跟蹤在數組中訪問了哪些變量(在這種情況下,哪些變量已被“使用”)。 然后使用__destruct()魔術方法來觸發任何未使用變量的通知:D

這樣做會告訴您從模態傳入的尚未使用的確切變量,但只有在執行以下操作時才能這樣做:

  • 使用類的實例將所有視圖參數從模態添加到視圖(具有數組訪問權限,因此您仍然可以執行$ vars ['name'] ='scott'等)。
  • 視圖將需要直接從對象訪問變量,如下所示:$ params ['name'],而不是使用extract或$$這樣的變量來重新創建變量

抱歉,這不是一個更干凈的解決方案,但這是我現在能想到的所有事情(凌晨3:30)。

我已經有一段時間沒有使用cakePHP了,但我記得可以通過在視圖中使用以下命令來輸出所有視圖變量

<?php pr($this->_viewVars); ?>

對於那些想構建一個工具來檢測cakePHP視圖中未使用的視圖變量的人來說,如果這是一個很好的起點。

只需打印$GLOBAL ,這將向您顯示所有可用的變量。

暫無
暫無

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

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