在Codeigniter 2中,如何将库加载到我可以在辅助函数中使用的全局变量中?

时间:2016-09-14 09:08:53

标签: php codeigniter

所以我有以下文件:

库/ foo_library.php

助手/ foo_helper.php

视图/ main.php

现在我的问题: 我创建的库将在每个页面加载时使用数百次,因为它用于确定语言并根据存储在数据库中的语言返回正确的项目。

<?=$this->foo_library->language('English');?>

现在以这种方式使用它工作正常,但由于我将在视图中将其用于其他语言操作,我创建了一些辅助函数以使视图看起来更清晰

<?=sl('English words','Other language words')?>

现在这确实有效,尽管帮助程序每次运行函数时都会从库中创建一个新对象(基本上使用$ CI =&amp; get_instance()方法打电话给图书馆。)

这是一个问题,因为当您创建库时,它会将数据保存到内存中,因此不需要继续查询数据库。所以当一次又一次地重新创建对象时,它完全违背了目的

所以我想知道,有没有什么干净的方法让我创建一个可以在项目中的任何地方使用的库对象,包括帮助函数,并保持它的持久性? (库确实使用CI中的db builder类

1 个答案:

答案 0 :(得分:0)

您可以在Codeigniter上自动加载一些元素,以便全局访问它们

  

可以自动加载以下项目:

     

在库/目录中找到的类在中找到的助手文件   helpers / directory在config /目录中找到的自定义配置文件   在系统/语言/目录中找到的语言文件   模特/文件夹

Autoloader