本文概述
什么是助手
在CodeIgniter中, 有一些帮助程序可以帮助你完成不同的任务。每个帮助程序文件都是针对特定角色的功能的集合。其中一些帮助程序是“文件帮助程序”, 可以帮助你处理文件, “文本帮助程序”可以执行各种文本格式设置例程, “表单帮助程序”可以创建表单元素, “ Cookie帮助程序”设置并读取Cookie, “ URL帮助程序” ‘有助于创建链接等。
辅助程序不是以面向对象的格式编写的, 而是彼此独立的简单的过程函数。
要使用帮助程序文件, 你需要加载它。加载后, 它对控制器和视图全局可用。它们位于CodeIgniter中的两个位置。 CodeIgniter将首先在application / helpers文件夹中寻找一个助手, 如果找不到, 则将转到system / helpers文件夹。
加载助手
可以在控制器构造函数中加载帮助程序, 从而使它们全局可用, 也可以将其加载到需要它们的特定函数中。
可以加载以下代码:
$this->load->helper('file_name');
在此处将你的文件名写在file_name的位置。
要加载网址帮助器,
$this->load->helper('url');
你还可以通过在application / config / autoload.php文件中添加帮助程序来自动加载帮助程序(如果你的应用程序全局需要该帮助程序)。
加载多个助手
要加载多个助手, 请在数组中指定它们,
$this->load->helper(
array('helper1', 'helper2', 'helper3')
);
html Helper示例
我们将通过在基本的网站页面中使用html helper的示例来向你展示。在这里, 我们将自动加载我们的助手。
通过application / config / autoload.php转到autoload.php文件
$autoload['helper'] = array('html');
在上面的文件中, 命名你的助手, 这里是html。
在应用程序/控制器中有Form.php文件
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Form extends CI_Controller {
public function index()
{
$this->load->view('header');
$this->load->view('nav');
$this->load->view('content');
$this->load->view('footer');
}
}
?>
在应用程序/视图中有文件header.php
第一行编码在php标签中。
<?php echo doctype("html5"); ?>
<html>
<head>
<title>Basic Site</title>
<style type="text/css">
body, html{margin:0; padding:0;}
body{
background-color:#eee;
}
h1, h2, h3, h4, p, a, li, ul{
font-family: arial, sans-serif;
color: black;
text-decoration: none;
}
#nav{
margin: 50px auto 0 auto;
width: 10000px;
background-color: #888;
height: 15px;
padding: 20px;
}
#nav a:hover{
color: red;
}
#nav ul{
list-style: none;
float: left;
margin: 0 50px;
}
#nav ul li{
display: inline;
}
#content{
width: 1000px;
min-height: 100%;
margin: 0 auto;
padding: 20px;
}
#footer{
width: 400px;
height: 15px;
margin: 0 auto;
padding: 20px;
}
#footer p{
color: #777;
}
</style>
</head>
下面的快照显示了文件header.php的另一半编码。
在应用程序/视图中有文件content.php
这里的标题也是用php标签而不是html编写的。
<div id="content">
<?php echo heading("Welcome to my site", 1); ?>
<p>In a professional context it often happens that private or corporate clients
corder a publication to be made and presented with the actual content still not being ready.
Think of a news blog that's filled with content hourly on the day of going live. However, reviewers tend to be distracted by comprehensible content, say, a random text copied from
a newspaper or the internet. The are likely to focus on the text, disregarding the layout
and its elements. Besides, random text risks to be unintendedly humorous or offensive, an unacceptable risk in corporate environments.</p>
</div>
最终输出就像一个普通页面, 如下所示, URL为localhost / helper / index.php / Form。
但是, 当我们看到它的开源代码时(按ctrl + u), 你将看到以下代码, 该代码仅显示html代码而不是我们上面编写的php代码。