时间:2021-07-01 10:21:17 帮助过:25人阅读
本文实例讲述了CodeIgniter记录错误日志的方法。分享给大家供大家参考,具体如下:
CI工作流程:
所有的入口都从根目录下的index.php进入,确定应用所在目录后,加载 codeigniter/CodeIgniter.php 文件,该文件会顺序加载以下文件执行整个流程。
代码如下:
注:这里url是网站相对URL(好处是可以更改根目录后相对地址不用改变)
这里js文件夹没有重定向,所以可以正常访问,而如果是受限制的页面则比较麻烦了。
好了,CI中引入外部的JS与CSS就这么简单。
注别的说明:“ RewriteCond $1 !^(index\.php|images|js|css|robots\.txt) ”这里代码的意思是:任意你想访问的资源都不被重定向时,都可写在这里。有时,网站没有加载CSS,JS(它的路径都是正确的)时,都是被重定向了,这要注意。
具体可查看CI的中国官论坛 http://codeigniter.org.cn/user_guide/helpers/url_helper.html,URL辅助函数一节,
http://codeigniter.org.cn/user_guide/general/urls.html,url设置,
http://codeigniter.org.cn/forums/thread-4-1-2.html,Hex关于隐藏index.php的说明,但他在model_rewrite用了index\\.php,我觉得用双反斜杠有误。
(另外:特别谢谢CI中国官论坛上的Hex 与visvoy )
数据间的传输:
1、将数据从控制器传入视图
由于控制器controllers在ci中扮演交通警察的角色,其是一个大类,而视图view作为controller类中的一个函数中的函数,所以view可以使用controller中的属性。所以可以这样写:
Controller类Test
class Test extends CI_Controller { public static $test2=''; //定义一个属性 public function __construct(){ parent::__construct(); self::$test2 = $this->load->view('new','',true); //给$test2这个属性赋值 } public function index() { $this->load->helper('url'); $this->load->view('anchor'); } }
View.php
<?php echo Test::$test2; //直接使用类中的值 ?>
这种直接使用controllers类中的值的方法虽然可行,却不是ci所提倡的。一般来说在controller中使用$this->load->view()的时候可以通过参数传值给view视图:
function index() { $data['css'] = $this->css; $data['base'] = $this->base; $data['mytitle'] = 'Welcome to this site'; $data['mytext'] = "Hello, $name, now we're getting dynamic!"; $this->load->view('testview', $data); //$data通过参数传递到view }
这里,把需要传递的数值加入至$data数组,ci在核心类中给自动使用extract()函数把数组“解压”出来,成为一个个变量。所以在view中可以直接这样使用变量:
echo $css;
2、模型与视图的交互
在ci中模型总是用以处理数据,模型中数据处理也是通过controller中转到view,所以最好不要试图模型直接与视图联系。手册中有这样一个例子:
class Blog_controller extends CI_Controller { function blog() { $this->load->model('Blog'); //载入模型 $data['query'] = $this->Blog->get_last_ten_entries(); //使用模型中的方法,将返回值存入$data数组 $this->load->view('blog', $data); //像上例一样,通过参数传给视图view } }
更多关于CodeIgniter相关内容感兴趣的读者可查看本站专题:《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《php优秀开发框架总结》、《ThinkPHP入门教程》、《ThinkPHP常用方法总结》、《Zend FrameWork框架入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于CodeIgniter框架的PHP程序设计有所帮助。