`

codeigniter 学习1

    博客分类:
  • PHP
阅读更多
codeigniter 学习1


1 ci中的library和helper,经验要调用的,传统的做法是如下:、
   $this->load->library('pagination');
   $this->load->helper('form');

  但经常这样十分麻烦,可以在system\application\config下的autoload.php中,
设置如下:
   $autoload['libraries'] = array('pagination', 'database');

2 不是必须的,但作为一个好的习惯,可以将system目录挪到www目录下,将application目录挪到与index.php同级的

目录下。好处有两点,第一可以防止CI的核心文件被恶意攻击。第二,将application和system分离的话,即使我们装

了很多网站,也只需要一个system目录,将来更新CI核心文件时,只需要更新一次就能更新全部站点了。更改目录后别

忘了记修改index.php文件,找到

$system_folder = “system”;

更改为

$system_folder = “../CI_system”; (假定你的system文件夹叫CI_system)


3 改apache mod rewrite
   第一步是开启Apache的Mod rewrite模块,打开http.conf文件,找到LoadModule rewrite_module

modules/mod_rewrite.so这句话,将前面的注释去掉。
然后在目录下
<Directory "e:/myphp/">

DirectoryIndex index.html index.php
  AllowOverride All
    Order allow,deny
    Allow from all
</Directory>


在config.php中
  config['base_url'] = "http://localhost:8082/myphp/ci";
$config['index_page'] ="";
注意可以用dw等工具,在保存文件时,保存.htaccess如下:
<IfModule mod_rewrite.c>  
<Files ~ "^.(htaccess|htpasswd)$">  
deny from all  
</Files>  
 
Options -Indexes  
Options +FollowSymLinks  
 
#允许解析文件中的SSI指令  
Options +Includes  
 
#定义404,500错误页面  
ErrorDocument 404 /404.htm  
ErrorDocument 500 /404.htm  
 
#定义目录索引页面  
DirectoryIndex index.php  
order deny,allow  
 
RewriteEngine on  
 
#设置根目录  
RewriteBase /www/ci_170/  
 
#去掉链接地址中index.php字符串  
RewriteCond %{REQUEST_FILENAME} !-f  
RewriteCond %{REQUEST_FILENAME} !-d  
RewriteCond $1 !^(index.php|images|robots\.txt)  
 
RewriteRule ^(.*)$ index.php/$1 [L]  
 
</IfModule> 

4 CI中的URL辅助函数,比如:
  echo mailto('me@example.com', 'Click Here to Email Me');
就等于
  <a href="mailto:me@example.com">click here to email me</a>

如果防止抓取EMAIL的话,可以用safe_mailto去代替mailto就可以了。

5 页面模版嵌套
  function index()
{

    $data['css']        = $this->config->item('css');
    $data['header']     = $this->load->view('header_view', '', TRUE);
    $this->load->view('basic_view', $data);
}
  注意,header_view视图是个单独的文件,比如header_view.jsp,因为要合拼到主JSP中,因此
$this->load->view中第3个参数是true;
 
6 表单辅助函数:
  $variable = '<input type="text" name="url" id="url" value="www.mysite.com" maxlength="100" size="50"

style="yellow" />';
可以变成这样了:
$this->load->helper('form');
   dropdownbox的话:
   $urlarray = array(
                   '1'         => 'www.this.com',
                   '2'         => 'www.that.com',
                   '3'         => 'www.theother.com'
                );

$variable = form_dropdown('url', $urlarray, '1');


7 设置验证规则:
  this->load->library('validation');

$rules['url']    = "required";
$rules['name']   = "required";

$this->validation->set_rules($rules);

  编写自己的规则:
$rules['name'] = "required|alpha|max_length[12]";意味着不能为空,字母,长度至少12个字符。你甚至能编写你

自己的规则。

  判断是否能通过验证:
  if ($this->validation->run() == FALSE)
{
    $this->load->view('myform');
}
else
{
    $this->load->view('success');
}

8 关闭错误
  把index.php中error_reporting (E_ALL);改为
error_reporting(0);

9 开启日志
   你需要设定权限确保 /system/logs目录是可读写的。 然后你在config文件中设定logging的级别:
$config['log_threshold'] = 4;


10 单元测试
   $this->load->library('unit_test');
  然后, 为每个测试准备三个变量:

$test—实际的测试内容, 一般是一个 PHP 表达式
$expected_result—你期待的结果
$test_name—你想要显示的测试名称
$test = floor(1.56);
$expected_result = 1;
$test_name = 'tests php floor function';
$this->unit->run($test, $expected_result, $test_name);
显示结果:
echo $this->unit->report();

11
1
0
分享到:
评论

相关推荐

    codeigniter学习笔记一

    codeigniter 4学习笔记系列一,学习为主,同时把心得分享给大家。

    基于codeigniter的CMS系统

    学习codeigniter框架的 好案例,也是个比较好的简约CMS

    CodeIgniter做的图片站,供大家学习交流

    小弟用 CodeIgniter 做的一个图片站,大家多多指教哦,把源码发上来,供大家讨论。 网址: http://www.jctpw.com

    codeigniter电子书

    这是codeigniter的中文电子帮助书,便于E文不好的codeigniter爱好者学习使用

    codeigniter 1.7.1

    说实话,我到目前为止搞了这么长时间php, 从来没有见过哪个php框架像codeigniter这么容易学习和使用, 这么方便; 很多php框架装腔作势, 乱封装, 乱继承, 乱写, 大家一起支持codeigniter

    CodeIgniter v3.1.10

    CodeIgniter 是一个小巧但功能强大的 PHP 框架,作为一个简单而“优雅”的工具包,它可以为 ... 你不希望被迫学习一门模板语言(虽然可以选择你要求的模板解析器)。 你不喜欢复杂,热爱简单。 你需要清晰、完整的文档。

    codeigniter中文.pdf

    codeigniter中文.pdf 一本简单介绍CI框架使用的手册,内容有对比,更简洁易懂,但如果要深入学习,还是要多到社区里查阅资料

    CodeIgniter用户指南中文手册(版本1.7.2)

    CodeIgniter 是一套给 PHP 网站开发者使用的应用程序开发框架和工具包。它提供一套丰富的标准库以及简单的接口和逻辑结构,其目的是...使用 CodeIgniter 可以减少代码的编写量,并将你的精力投入到项目的创造性开发上。

    基于codeigniter3.0框架的finecms高级版2.5.0调整版

    这是一套非常适合学习CodeIgniter3.0框架的源码!网上还难于找到基于CodeIgniter3.0的CMS,非常幸运的是,现在你已经拥有了! 如果你的空间不支持rewrite,不要往下看了,浪费时间,赶紧SHIFT+DEL吧,不用说再见了. 基于...

    在codeigniter上简单实现ucenter

    第一次接触codeIgniter,在这里多谢rover和hex两位大哥帮忙,才在短时间入门。 这个程序主要实现了uc的登陆,注册和退出,以及同步登陆,问题。 更多功能在慢慢开发,以后都会发上来与大家探讨,共同学习。

    CodeIgniter(PHP MVC开源框架)v3.1.10.zip

    CodeIgniter简介 ...你不希望被迫学习一门模板语言(虽然可以选择你要求的模板解析器)。 你不喜欢复杂,热爱简单。 你需要清晰、完整的文档。 CodeIgniter页面展示  相关阅读 同类推荐:程序框架

    Codeigniter 4.0-dev 版源码学习笔记之四——详细路由过程

    我个人觉得在当前 MVC 流行的架构下,要想去了解一个框架,或者是一个基于此架构下的应用程序,最好的入手方式就是先看路由,虽然路由不是 MVC 里的任何一个,但是知道了路由的来龙去脉就知道了整个框架或者是应用的...

    FUELCMS 基于Codeigniter的开源CMS v0.9.3 中文版.zip

    FUELCMS 是一款基于Codeigniter框架开发的CMS系统,模块化的设计使得它非常适合二次开发,事实上它本身已经自带了CMS和Blog模块,以及完整的后台管理功能和大量工具包,是一款绝佳的学习Codeigniter的入门教程。...

    Codeigniter 4.0-dev 版源码学习笔记之六——控制器

    其实一开始我是很纠结是否要写控制器的源码分析的,因为控制器的源码太少了,少到你不相信这是一个 MVC 里的一个重头。直觉里,大家都觉得控制器作为各个请求的“入口”,其后端应该有很多很多的代码支撑才可以的,...

    Codeigniter 4.0-dev 版源码学习笔记之二

    Codeigniter 4.0-dev 版源码学习笔记之二——入口以及初始化操作

    CodeIgniter框架操作手册

    当然,要学习的东西还有很多。例如,您可自动加载所需的模型和任何帮助程序或库。可以为应用程序调整缓存和性能。可以为视图添加更多 CSS 内容。可以添加在数据库插入操作结束后发送电子邮件通知的功能。 目前,您...

    CodeIgniter的简单页面跳转

    http://blog.csdn.net/wxg694175346 博客中的对应源码,个人学习所用

    PHP 敏捷开发框架 CodeIgniter - 快速 Web 应用开发详解

    PHP 敏捷开发框架 CodeIgniter的全面学习手册。欢迎大家下载。内附源码。

    CodeIgniter:php敏捷开发框架web快速开发详解

    这篇文章是有关 CodeIgniter 的(以下简称 CI),CI 是一个达成以上目标的框架。 如果你只是要达成一个最终的结果,而把中间所有的编码细节和复杂统统丢给一个框架,CI 是你最好的朋友。 CI 有很多优点:免费,轻...

Global site tag (gtag.js) - Google Analytics