如何在 codeigniter 4 中自动加载辅助函数
How to autoload helper functions in codeigniter 4
我刚刚从他们的官方 GitHub 下载了 CodeIgniter 4。他们从 CodeIgniter 3 改变了很多。我想在视图中使用 base_url()
函数,为此,你需要加载 URL 帮助程序,在 CodeIgniter 3 中我将它自动加载到 config/autoload.php
文件中。但是现在他们已经完全改变了 CodeIgniter 4 中 config/autoload.php
文件的结构,这让我很困惑。
您仍然可以在 CodeIgniter 4 的视图中使用 base_url()
函数,方法是在控制器的构造函数中使用以下代码 helper('url');
如果使用过 CodeIgnter 4 的人知道如何通过修改 config/autoload.php
文件自动加载像 url 这样的辅助函数,请帮助我。
CodeIgnter 4 目前处于开发阶段,因此许多功能仍不可用。答案是您不能在 codeigniter 4 的 autoload.php 文件中自动加载助手或库。
我知道这是我们许多人使用的功能,但自动加载所有内容会降低网站性能,因此开发团队可能决定放弃此功能。
来自 Codeigniter 4 文档:
You can load your helpers in your controller constructor so that they become available automatically in any function, or you can load a helper in a specific function that needs it.
供将来参考
由于 autoload.php
中没有自动加载,您必须自己加载所有帮助文件。与 CodeIgniter 3 中的全局加载不同。
如何加载
public function FunctionName()
{
helper(['form', 'validation']); # before retun to view.
#rest of your code
}
我们是否需要将其加载到每个方法中?
是的。由于我玩弄它,我无法全局加载帮助文件。(2018-2-07)
将您的助手添加到 BaseController.php
文件中的数组,如下所示:
protected $helpers = ["form"] // BaseController.php:29;
步骤 1
在 App/Helpers 上创建助手。示例:alert_helper.php,必须以_helper
结尾
步骤 2
在构造函数或方法上加载助手。 helper(['alert']);
步骤 3
使用助手
完成
只需添加您要加载的助手的名称
protected $helpers = []
在
/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
我刚刚从他们的官方 GitHub 下载了 CodeIgniter 4。他们从 CodeIgniter 3 改变了很多。我想在视图中使用 base_url()
函数,为此,你需要加载 URL 帮助程序,在 CodeIgniter 3 中我将它自动加载到 config/autoload.php
文件中。但是现在他们已经完全改变了 CodeIgniter 4 中 config/autoload.php
文件的结构,这让我很困惑。
您仍然可以在 CodeIgniter 4 的视图中使用 base_url()
函数,方法是在控制器的构造函数中使用以下代码 helper('url');
如果使用过 CodeIgnter 4 的人知道如何通过修改 config/autoload.php
文件自动加载像 url 这样的辅助函数,请帮助我。
CodeIgnter 4 目前处于开发阶段,因此许多功能仍不可用。答案是您不能在 codeigniter 4 的 autoload.php 文件中自动加载助手或库。
我知道这是我们许多人使用的功能,但自动加载所有内容会降低网站性能,因此开发团队可能决定放弃此功能。
来自 Codeigniter 4 文档:
You can load your helpers in your controller constructor so that they become available automatically in any function, or you can load a helper in a specific function that needs it.
供将来参考
由于 autoload.php
中没有自动加载,您必须自己加载所有帮助文件。与 CodeIgniter 3 中的全局加载不同。
如何加载
public function FunctionName()
{
helper(['form', 'validation']); # before retun to view.
#rest of your code
}
我们是否需要将其加载到每个方法中?
是的。由于我玩弄它,我无法全局加载帮助文件。(2018-2-07)
将您的助手添加到 BaseController.php
文件中的数组,如下所示:
protected $helpers = ["form"] // BaseController.php:29;
步骤 1
在 App/Helpers 上创建助手。示例:alert_helper.php,必须以_helper
结尾步骤 2
在构造函数或方法上加载助手。 helper(['alert']);
步骤 3
使用助手
完成
只需添加您要加载的助手的名称
protected $helpers = []
在
/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