php 如何在codeigniter 4中自动加载辅助函数

oprakyz7  于 2023-02-21  发布在  PHP
关注(0)|答案(6)|浏览(130)

我刚从他们的官方GitHub下载了CodeIgniter 4。他们从CodeIgniter 3改变了很多。我想在视图中使用base_url()函数,为此,你需要加载URL助手,在CodeIgniter 3中我将其自动加载到config/autoload.php文件中。但现在他们完全改变了CodeIgniter 4中config/autoload.php文件的结构,这让我非常困惑。
通过在控制器helper('url');的构造函数中使用以下代码,您仍然可以在CodeIgniter 4的视图中使用base_url()函数
如果任何使用CodeIgnter 4的人知道如何通过修改config/autoload.php文件来自动加载像url这样的帮助函数,请帮助我。

yduiuuwa

yduiuuwa1#

供将来参考

因为autoload.php没有自动加载,所以你必须自己加载所有的帮助文件,这与CodeIgniter 3中的全局加载不同。

如何加载

public function FunctionName()
{
    helper(['form', 'validation']); # before retun to view.
    #rest of your code
}

我们是否需要将其加载到每个方法中?

是的。因为我在它周围玩我无法全局加载帮助文件。(2018-2-07)

ma8fv8wu

ma8fv8wu2#

    • 步骤1**

在 * 应用程序/助手 * 上创建助手。示例:* alert_helper. php 必须*_helper**结尾

    • 第二步**

在构造函数或方法上加载助手. helper(['alert']);

    • 步骤3**

使用助手

    • 已完成**
ws51t4hk

ws51t4hk3#

更新代码点火器4.3+

CodeIgniter 4.3.0终于添加了这个特性。只需编辑app/Config/Autoload.php文件并全局添加所需的助手即可。

public $helpers = ['repository_helper', 'serializer_helper'];

https://codeigniter.com/user_guide/general/helpers.html#auto-loading-helpers

4ktjp1zp

4ktjp1zp4#

CodeIgnter 4目前还处于开发阶段,所以很多特性还没有提供。答案是你不能在codeigniter 4的autoload.php文件中自动加载助手或库。
我知道这是一个功能,我们很多人使用,但自动加载每件事会降低网站性能,所以可能是开发团队决定放弃这个功能。

来自Codeigniter 4文档:

您可以在控制器构造函数中加载帮助器,以便它们在任何函数中自动可用,也可以在需要帮助器的特定函数中加载帮助器。
https://bcit-ci.github.io/CodeIgniter4/general/helpers.html

hyrbngr7

hyrbngr75#

将您的助手添加到BaseController.php文件中的数组,如下所示:

protected $helpers = ["form"] // BaseController.php:29;
dxpyg8gm

dxpyg8gm6#

只需添加您要加载的助手的名称
x1毫米1英寸
/app/Controllers/BaseController.php
CodeIgniter4将自动加载这些助手。
例如:

class BaseController extends Controller
{
    /**
     * An array of helpers to be loaded automatically upon
     * class instantiation. These helpers will be available
     * to all other controllers that extend BaseController.
     *
     * @var array
     */
    protected $helpers = ['cookie','date']; // <=== this

相关问题