Answers:
CodeIgniter助手是一个具有多种功能的PHP文件。这不是一堂课
创建一个文件,并将以下代码放入其中。
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
if ( ! function_exists('test_method'))
{
function test_method($var = '')
{
return $var;
}
}
将此保存到application / helpers /中。我们将其称为“ new_helper.php”
第一行存在以确保文件不能包含在内并从CodeIgniter范围之外运行。此后的一切都是不言自明的。
可以在您的控制器,模型或视图中(不推荐)
$this->load->helper('new_helper');
echo test_method('Hello World');
如果您在很多地方都使用此帮助器,则可以通过将其添加到自动加载配置文件(即)中来自动加载<your-web-app>\application\config\autoload.php
。
$autoload['helper'] = array('new_helper');
-马修
$this
为CI 属性来将其加载到CI实例中。
cool_helper
),如果忘记了它并$this->load->helper('cool_helper')
在自动加载后手动调用它,则会收到“已定义”的PHP错误或类似内容。这样可以防止两次加载相同的代码(这类似于include_once()
PHP函数,但适用于CodeIgniter帮助程序,以避免出现问题)。基本上,需要一点翻译:如果函数不存在,则意味着之前没有加载过辅助函数。让我们定义它。
允许您在助手中使用CI实例的一些代码:
function yourHelperFunction(){
$ci=& get_instance();
$ci->load->database();
$sql = "select * from table";
$query = $ci->db->query($sql);
$row = $query->result();
}
对我来说,仅"_helper"
在php文件中添加文本后即可,例如:
并在文件夹aplication->文件autoload.php中自动加载帮助程序,在数组帮助程序的名称中添加不含“ _helper”的名称,例如:
$ autoload ['helper'] = array('comunes');
这样我就可以使用所有助手功能
_helper
在文件名的末尾。
要创建新的帮助程序,您可以按照Pixel Developer的说明进行操作,但是我的建议不是仅根据特定应用程序的特定部分所需的逻辑创建帮助程序。而是在控制器中使用该逻辑将数组设置为其最终预期值。一旦知道了这一点,就可以使用Template Parser类将它们传递给视图,并且(希望如此)可以使用简单的变量或变量标签对(而不是echo和foreach)使视图看起来像PHP一样干净。即:
{blog_entries}
<h5>{title}</h5>
<p>{body}</p>
{/blog_entries}
代替
<?php foreach ($blog_entries as $blog_entry): ?>
<h5><?php echo $blog_entry['title']; ?></h5>
<p><?php echo $blog_entry['body']; ?></p>
<?php endforeach; ?>
这种方法的另一个好处是,您不必担心像使用自定义帮助程序来完成所有工作那样添加CI实例。
在/ application / helpers中以您的助手名称创建文件,并将其添加到自动加载配置文件中/手动加载。
例如,在/ application / helpers中放置一个名为user_helper.php的文件,其内容如下:
<?php
function pre($var)
{
echo '<pre>';
if(is_array($var)) {
print_r($var);
} else {
var_dump($var);
}
echo '</pre>';
}
?>
现在,您可以通过加载帮助程序,也可以$this->load->helper(‘user’);
将其添加到application / config / autoload.php config。
只需在应用程序帮助程序目录中定义一个帮助程序,然后从您的控制器中调用函数名称即可
helper name = new_helper.php
function test_method($data){
return $data
}
在控制器中加载助手
$this->load->new_helper();
$result = test_method('Hello world!');
if($result){
echo $result
}
输出将是
Hello World!
要从配置文件中检索项目,请使用以下功能:
$this->config->item('item name');
其中项目名称是您要检索的$ config数组索引。例如,要获取您的语言选择,请执行以下操作:
$lang = $this->config->item('language');
如果您要获取的项目不存在,该函数将返回FALSE(布尔值)。
如果使用$ this-> config-> load函数的第二个参数来将配置项分配给特定索引,则可以通过在$ this-> config-的第二个参数中指定索引名称来检索它。 > item()函数。例:
//加载名为blog_settings.php的配置文件,并将其分配给名为“ blog_settings”的索引
$this->config->load('blog_settings', TRUE);
//检索blog_settings数组中包含的名为site_name的配置项
$site_name = $this->config->item('site_name', 'blog_settings');
//指定相同项目的另一种方法:
$blog_config = $this->config->item('blog_settings');
$ site_name = $ blog_config ['site_name'];