`
vtrtbb
  • 浏览: 360705 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

CI框架传递数组到视图View层

    博客分类:
  • php
阅读更多

视图是用户用户能看到你的网站的所有。 他们使用一个统一的接口, 而且可以根据需要进行修改。 MVC 的好处之一是你分开了表示层和逻辑层, 一切都显得很干净。视图实际上是一组包含有你的内容的HTML结构。结构中有各种元素,如颜色,字体,文字布局等; 不过视图不关心这些,它要做的只是取来内容,显示出来。

一般我们在控制器中这样定义:

 

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);
}

 

我们把$data数组作为$this->load->view()的第二个叁数,在视图名称之后。视图接收到$data数组后,使用PHP函 数extract()把数组中的每个元素转换成内存变量,数组的键名即为变量名,值为变量内所包含的值。这些变量的值能直接被视图引用:

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

虽然你只能传送一个变量到视图, 但是通过建立数组,你能把大量变量整洁地传入视图。它似乎复杂, 但是实际上是一种紧凑和优秀的信息传输方式。

如果传递过来的数组是包含多个数据,那么就需要遍历,操作一般如下。先是控制器:

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

 

视图中解析

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

 再说下二维数组的传递与遍历问题。下面的程序实现遍历某个目录下的文件

 

<?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');
	}
}
?>

 

在视图中这么输出就可以:

 

<?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
		}
	}
?>

 

 

 

 

分享到:
评论

相关推荐

    php CI学习框架

    #### 一、CI框架概述 ...CI框架以其轻量级、高性能、易用性和灵活性而受到开发者的欢迎。通过对CI框架的学习和掌握,开发者可以更高效地构建Web应用程序,并能够根据项目需求灵活调整和扩展框架的功能。

    视图View-CI(codeigniter)PHP框架__1.docx

    1. **视图的位置**:在CI框架中,视图文件通常存储在`application/views/`目录下。这是默认的视图存放路径,所有的视图文件都应放置于此。 2. **视图文件创建与命名**:视图文件可以是`.php`扩展名,但也可以使用...

    视图view-ci(codeigniter)php框架_.docx

    class Pages extends CI_Controller { function __construct() { parent::__construct(); } public function index() { $this-&gt;load-&gt;view('pages'); // 加载 'pages' 视图 } } ``` 4. 传递数据到视图: ...

    PHP CI框架的安装配置和简单使用

    通过以上步骤,我们可以看到CI框架的基本安装配置过程以及如何利用CI框架提供的各种特性来进行Web开发。CI框架的强大之处在于其简洁高效的代码风格,这使得开发者能够快速上手并构建出高性能的应用程序。无论是对于...

    CI框架给视图添加动态数据

    在CI框架中,将数据从控制器传递到视图以便在前端页面展示是开发过程中的一项基本操作。 在CI框架中,视图层是负责展示数据给用户的部分,而控制器则是处理业务逻辑、与模型交互,并且负责选择要展示哪个视图的组件...

    CI框架入门示例之数据库取数据完整实现方法

    这些参数将告诉CI框架如何连接到你的数据库服务器,并指定使用的数据库驱动为mysql。 知识点二:建立数据库和数据表 在CI框架中,通常需要在数据库中预先建立好所需的数据表。以本文提供的示例为例,使用MySQL...

    CI映射(加载)数据到view层的方法

    CI映射加载数据到view层的方法主要介绍了在CodeIgniter框架下,如何将数据从模型层正确地传递到视图层的详细步骤。CodeIgniter是一个轻量级的PHP MVC(模型-视图-控制器)框架,其设计目的是为了让Web应用开发变得...

    专题资料(2021-2022年)CI快速开发商城20130827详解.doc

    本专题资料主要介绍了如何使用CI框架快速开发一个商城系统,包括从基础的环境配置到具体的功能实现。 首先,课程的目标是通过CI框架完成商城的前后台开发。对于初学者,建议按照课程安排逐步学习,并通过实际操作来...

    CI框架常用方法小结

    CI框架允许你在控制器中定义一个数组变量,然后通过`$this-&gt;load-&gt;view()`方法传递给视图层。在视图文件中,你可以直接通过数组的键值来访问这些数据。 在模型中调用CI对象是利用了CodeIgniter的全局函数`get_...

    CI框架入门之MVC简单示例

    **CI框架入门之MVC简单示例** CodeIgniter(CI)是一个轻量级的PHP框架,它采用Model-View-Controller(MVC)架构模式,帮助开发者更高效地构建Web应用程序。MVC是一种设计模式,它将业务逻辑、数据处理和用户界面...

    CI(CodeIgniter)框架实现图片上传的方法

    CodeIgniter(CI)是一个开源的基于MVC(模型-视图-控制器)设计模式的轻量级PHP框架,非常适合于快速开发高性能的Web应用程序。使用CodeIgniter框架实现图片上传功能,是Web开发中常见的需求之一。下面详细介绍该...

    php框架学习笔记.doc

    CI框架的URI模式使得每个URI字符串都能映射到特定的控制器和方法。例如,`/controller/method/param1/param2`,这里的`controller`是控制器名,`method`是方法名,`param1`和`param2`则是传递给方法的参数。 在CI中...

    CI框架装载器Loader.php源码分析

    Loader类是CI框架中的一个关键组成部分,它主要有以下几个职责: 1. 加载类库(Libraries)、模型(Models)、帮助函数(Helpers)以及视图文件(Views)。 2. 管理文件路径,确保类文件的正确加载。 3. 缓存已加载...

    codeigniter中view通过循环显示数组数据的方法

    然后,我们使用`$this-&gt;load-&gt;view()`函数加载视图文件,同时将`$my_list`数组作为数据传递给视图。这是一个常见的做法,允许控制器向视图传递所需的数据。 ```php class SimpleController extends Controller { ...

    兄弟连邹义良CodeIgniter框架txt文档

    **CodeIgniter**(简称CI)是一款基于PHP语言的轻量级Web开发框架,它采用MVC(Model-View-Controller)架构模式,旨在帮助开发者更快速地构建功能丰富的网站。CodeIgniter通过其简洁的API和低学习曲线受到了广大...

    梦之都Codeigniter教程1

    控制器可以将数据传递给视图,使用`$this-&gt;load-&gt;view()`加载视图,并可以传递数组作为第二个参数,数组中的键值会在视图文件中使用。 ### 第五节:视图进阶 视图可以嵌套,通过加载子视图实现复杂的布局。你还可以...

Global site tag (gtag.js) - Google Analytics