[英]Find out where a helper is being loaded in CodeIgniter
我有一個項目,其中包含幾個控制器、視圖和助手(我接手工作的原始開發人員沒有費心使用模型)。 在其中一個控制器(Iframes.php)中,(當然)有一個 function __construct()、一個 index() 和一個名為 view() 的 function。 在構造中,有一個 $this->load->helper('iframes'); 沒有其他助手正在加載。
該網站正在通過地址https://website.ext/iframes/view/1234567890訪問
在 iframes_helper.php 中,沒有對另一個幫助文件的引用。 但是 iframes_helper.php 正在調用名為 get_loans() 的 function。 function 只存在於一個文件中:loans_helper.php
還有其他控制器加載了loans_helper.php(以正常方式)。
如果我將loans_helper.php 重命名為loans_helper.php1,系統將無法加載,說明缺少文件。 它沒有告訴我在哪里提到了丟失的文件。
我已經搜索了所有文件
load->helper('loans')
就算
load->helper('loans
和
('loans')
但是沒有任何地方可以參考loans_helper 文件。 至少不在 Iframe Controller 或屬於它的文件中使用的控制器中。
但是 function get_loans 仍然可以訪問。 怎么會這樣? 或者更確切地說:我如何找出加載助手的位置?
阿爾伯特
請告訴我,如果我需要添加一些代碼。
您還應該使用雙引號"loan
loan" 搜索 'loan' 的變體,因為這也是有效的。
在loans_helper.php
文件頂部,添加debug_print_backtrace(); die;
debug_print_backtrace(); die;
,其中會 output 關於執行路徑的一些有用信息。 請注意,如果您在瀏覽器中進行測試,您應該查看頁面的源代碼,以獲得更可用的格式。 從回溯中,您將能夠確定文件是如何被包含的(即通過 CI 的加載器系統,或直接通過include
或require
)。
這是關於debug_print_backtrace()
的PHP 文檔。
最后,這里有一些關於可以包含此類文件的其他想法:
autoload.php
配置文件中。 有一個用於自動加載幫助文件的項目。include
或require
手動包含該文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.