我想在助手中創建新功能,但它仍然失?。?nbsp;Call to undefined function我保存我的助手在 BaseController 上app/Helper/Text_helper.php使用namespace App\Helpers; 和加載助手使用protected $helpers = ['text'];參考: https: //codeigniter4.github.io/userguide/general/helpers.html#extending-helpers 但它仍然無法正常工作
3 回答

慕容森
TA貢獻1853條經驗 獲得超18個贊
它在文檔中沒有提到,但請記住在你的助手的文件名中添加一個后綴_helper否則它不會在 codeigniter 4 中工作。
例如,如果您創建了一個助手xxx.php,請將其更改為xxx_helper.php。
要加載助手,您可以使用助手函數(如:)helper('xxx.php');
或將其添加到$helpers數組,該數組是BaseController中的受保護屬性

鴻蒙傳說
TA貢獻1865條經驗 獲得超7個贊
如果您的想法是“擴展”(替換) stystem/helpers/text_helper上的函數,請注意文件名中的小寫字母,您必須尊重它。
此外,助手不需要命名空間......助手加載器將搜索它。
helper() 方法將掃描 app/Config/Autoload.php 中定義的所有 PSR-4 命名空間,并加載所有匹配的同名助手。這允許加載任何模塊的助手,以及您專門為此應用程序創建的任何助手。加載順序如下:
app/Helpers - 這里加載的文件總是首先加載。
{namespace}/Helpers - 所有命名空間都按照它們定義的順序循環。
system/Helpers - 最后加載基礎文件
命名空間將用于在其他位置加載助手,例如:
helper('Libraries\MyFunctions');
只要可以通過 PSR-4 中設置的命名空間找到該路徑
- 3 回答
- 0 關注
- 165 瀏覽
添加回答
舉報
0/150
提交
取消