Home > Backend Development > PHP Tutorial > CI framework passes array to view View layer_PHP tutorial

CI framework passes array to view View layer_PHP tutorial

WBOY
Release: 2016-07-13 10:33:04
Original
1321 people have browsed it

A view is everything a user can see of your website. They use a unified interface and can be modified as needed. One of the benefits of MVC is that you separate the presentation layer and the logic layer, so everything looks clean. A view is actually a set of HTML structures that contain your content. There are various elements in the structure, such as color, font, text layout, etc.; but the view does not care about these, all it has to do is to fetch the content and display it.

Generally we define it like this in the controller:

function index() {
   $data['mytitle']    = "A website monitoring tool";
   $data['mytext']    = "This website helps you to keep track of the other websites you control.";
   
   $this->load->view('basic_view',$data);
}
Copy after login

We use the $data array as the second parameter of $this->load->view(), after the view name. After the view receives the $data array, it uses the PHP function extract() to convert each element in the array into a memory variable. The key name of the array is the variable name, and the value is the value contained in the variable. The values ​​of these variables can be directly referenced by the view:

<html>
<head>
</head>
<body>
  <h1 class='test'><?php echo $mytitle; ?></h1>
  <p class='test'><?php echo $mytext; ?></p>
</body>
</html>
Copy after login

Although you can only pass one variable to the view, by creating an array, you can neatly pass a large number of variables into the view. It seems complicated, but is actually a compact and excellent way of transferring information.

If the passed array contains multiple data, then it needs to be traversed. The operation is generally as follows. First the controller:

	$data["notice"] =array('aaa','bbb');
	 $this->load->view('api/notice',$data);
Copy after login

Parse in view:

<?php
	if(count($notice)>0){
        foreach($notice as $key =>$value ){
?>
    		<a href="#"><?php echo $value?></a>
<?php
    	}
?>
Copy after login

Let’s talk about the transfer and traversal of two-dimensional arrays. The following program implements traversing files in a directory.

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Data extends CI_Controller {
	public function index()
	{
		$this->load->helper('url');
		
		$data['page_title'] = '帮客之家';
		$data['pre_url'] = 'application/views/default/';
		
     	$this->load->view('default/header', $data);
      	$this->load->view('default/index', $data);
      	$this->load->view('default/footer');
		//$this->load->view('index');
	}
	
	public function gdnews()
	{
		$this->load->helper('url');
		$arr = array();
		
		function tree($directory) 
		{ 
			$mydir = dir($directory); 
			while($file = $mydir->read())
			{ 
				// 是目录的话
				if((is_dir("$directory/$file")) AND ($file!=".") AND ($file!="..")) 
				{
					//echo "<li><font color=\"#ff00cc\"><b>$file</b></font></li>\n"; 
					//tree("$directory/$file"); 
				} 
				// 不是目录
				else 
				{
					$arr['name'][] = @iconv('GB2312','UTF-8',$file);
					$arr['time'][] = @iconv('GB2312','UTF-8',date('Y-m-d H:i:s', filemtime($file)));
				}
			}
			$mydir->close(); 
			return $arr;
		}
		$dir = "datas/gdnews/";
		$arr = tree($dir);
		$data['files'] = $arr;
		
		$data['page_title'] = '帮客之家' ;
		$data['dir'] = $dir;
		
		$this->load->view('default/header', $data);
     	$this->load->view('default/data', $data);
      	$this->load->view('default/footer');
	}
}
?>
Copy after login

Just output it like this in the view:

<?php
    if(count($files)>0)
	{
        foreach($files['name'] as $key =>$value ){
?>
               		<p class="postmetadata">
						<span style="color:#333;"><?=$files['time'][$key]?></span> <?=$files['name'][$key]?>
						<span><a href="<?=base_url().$dir.$files['name'][$key]?>" target="_blank">查看</a> <a href="#">删除</a></span>
					</p>
<?php
		}
	}
?>
Copy after login

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/752565.htmlTechArticleView is everything that users can see on your website. They use a unified interface and can be modified as needed. One of the benefits of MVC is that you separate the presentation layer and logic...
Related labels:
ci
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template