欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

[PHP]框架教程:CodeIgniter框架的简易使用

CodeIgniter是一个小巧但功能强大的 PHP 框架官网地址

在官网可以下载该框架。

 

下面来说明一下CodeIgniter中的简单操作。

一、Controller的创建与设置

1.在Controller目录下创建blog.php文件:

2.blog.php中的代码如下:

 

[php] view plain copy
 
  1. <?php  
  2.   
  3. class Blog extends CI_Controller {  
  4.     function index(){  
  5.         echo 'Hello World!';  
  6.     }  
  7. }  
  8.   
  9. ?>  

3.输入地址。注意:不要加后缀。浏览页面:

 

这里显示的其实是index函数中的数据,因为默认会调用index方法。

我们不妨将代码做如下修改:

 

[php] view plain copy
 
  1. <?php  
  2.   
  3. class Blog extends CI_Controller {  
  4.     function index(){  
  5.         echo 'Hello World!';  
  6.     }  
  7.     function hello(){  
  8.         echo 'Hello WHY!';  
  9.     }  
  10. }  
  11.   
  12. ?>  

然后将访问路径也修改一下,就会发现其实输入或者不输入/index都是访问的index方法,但是如果输入其他值就会访问其他的function的内容:

 


在CodeIgniter中,很多设置都已经配置好了,我们可以直接修改。

比如修改默认的访问页面,在applications/config中有一个route.php:

 

[php] view plain copy
 
  1. $route['default_controller'] = "welcome";  
  2. $route['404_override'] = '';  

将其中的default_controller改成blog,再在任务栏中输入index.php就会发现输出的是HelloWorld,也就是访问了blog.php页面:

 

 

二、View的创建与设置

1.在views目录下新建文件blog_view.php:

2.返回到controller文件夹下的blog.php,将简单的echo改为加载blog_view页面,实现其controller的真正价值:

 

[php] view plain copy
 
  1. <?php  
  2.   
  3. class Blog extends CI_Controller {  
  4.     function index(){  
  5.         $this->load->view('blog_view');  
  6.     }  
  7. }  
  8.   
  9. ?>  

3.在页面中输入网址进行访问,发现页面已经发生了变化:

 

 

三、Controller与View之间的数据传输

1.将Controller中的代码作如下修改:

 

[php] view plain copy
 
  1. <?php  
  2.   
  3. class Blog extends CI_Controller {  
  4.     function index(){  
  5.         $data['myName']="WHY";  
  6.         $data['head']="'s Blog !";  
  7.   
  8.         $this->load->view('blog_view',$data);  
  9.     }  
  10. }  
  11.   
  12. ?>  



2.将View中的代码作如下修改,注意,不是使用data数组,而是直接的$调用数据:

 

 

[php] view plain copy
 
  1. <html>  
  2. <head>  
  3. <title><?php echo $myName.$head?></title>  
  4. </head>  
  5. <body>  
  6. <h1>I am <?php echo $myName ?></h1>  
  7.   
  8. </body>  
  9. </html>  

3.浏览网站:

 

 

PS:在CodeIgniter 中<?php echo $myName ?>等价于<?=$myName ?>

 

下面来使用php输出一个数组。

1.在Controller中作如下修改添加一个数组:

 

[php] view plain copy
 
  1. <?php  
  2.   
  3. class Blog extends CI_Controller {  
  4.     function index(){  
  5.         $data['myName']="WHY";  
  6.         $data['head']="'s Blog !";  
  7.         $data['todo']=array('eat','sleep','call');  
  8.   
  9.         $this->load->view('blog_view',$data);  
  10.     }  
  11. }  
  12.   
  13. ?>  
2.在View中作如下修改显示数组:

 

 

[php] view plain copy
 
  1. <html>  
  2. <head>  
  3. <title><?php echo $myName.$head?></title>  
  4. </head>  
  5. <body>  
  6. <h1>I am <?php echo $myName ?></h1>  
  7.   
  8. <ol>  
  9. <?php foreach($todo as $item): ?>  
  10. <li><?=$item?></li>  
  11. <?php endforeach; ?>  
  12. </ol>  
  13.   
  14.   
  15. </body>  
  16. </html>  

3.刷新页面,已经可以正常显示了:

 

如果不习惯endforeach,也可以使用标准的PHP语言:

 

[php] view plain copy
 
  1. <html>  
  2. <head>  
  3. <title><?php echo $myName.$head?></title>  
  4. </head>  
  5. <body>  
  6. <h1>I am <?php echo $myName ?></h1>  
  7.   
  8. <ol>  
  9. <?php foreach($todo as $item){ ?>  
  10. <li><?= $item?></li>  
  11. <?php } ?>  
  12. </ol>  
  13.   
  14. </body>  
  15. </html>  

当然,也可以重写构造方法:

 

 

[php] view plain copy
 
  1. <?php  
  2.   
  3. class Blog extends CI_Controller {  
  4.     function __construct()  
  5.     {  
  6.         parent::__construct();  
  7.      }    
  8.   
  9.     function index(){  
  10.         $data['myName']="WHY";  
  11.         $data['head']="'s Blog !";  
  12.         $data['todo']=array('eat','sleep','call');  
  13.         $this->load->view('blog_view',$data);  
  14.     }  
  15. }  
  16.   
  17. ?>  

来自 http://blog.csdn.net/pleasecallmewhy/article/details/8567102

 

普通分类: