- 浏览: 7960263 次
- 性别:
- 来自: 广州
-
文章分类
- 全部博客 (2425)
- 软件工程 (75)
- JAVA相关 (662)
- ajax/web相关 (351)
- 数据库相关/oracle (218)
- PHP (147)
- UNIX/LINUX/FREEBSD/solaris (118)
- 音乐探讨 (1)
- 闲话 (11)
- 网络安全等 (21)
- .NET (153)
- ROR和GOG (10)
- [网站分类]4.其他技术区 (181)
- 算法等 (7)
- [随笔分类]SOA (8)
- 收藏区 (71)
- 金融证券 (4)
- [网站分类]5.企业信息化 (3)
- c&c++学习 (1)
- 读书区 (11)
- 其它 (10)
- 收藏夹 (1)
- 设计模式 (1)
- FLEX (14)
- Android (98)
- 软件工程心理学系列 (4)
- HTML5 (6)
- C/C++ (0)
- 数据结构 (0)
- 书评 (3)
- python (17)
- NOSQL (10)
- MYSQL (85)
- java之各类测试 (18)
- nodejs (1)
- JAVA (1)
- neo4j (3)
- VUE (4)
- docker相关 (1)
最新评论
-
xiaobadi:
jacky~~~~~~~~~
推荐两个不错的mybatis GUI生成工具 -
masuweng:
(转)JAVA获得机器码的实现 -
albert0707:
有些扩展名为null
java 7中可以判断文件的contenttype了 -
albert0707:
非常感谢!!!!!!!!!
java 7中可以判断文件的contenttype了 -
zhangle:
https://zhuban.me竹板共享 - 高效便捷的文档 ...
一个不错的网络白板工具
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 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
发表评论
-
11个php日常用的小tips 代码片段
2014-01-21 20:34 1942http://www.phpzag.com/11-useful ... -
php中的DirectoryIterator和RecursiveDirectoryIterator
2013-07-27 22:50 3523php中,可以用用DirectoryIterator获取指定目 ... -
uccenter中找回创始人密码
2013-03-11 19:12 1935偶然忘记了uccenter中的创始人密码,一查看,其实找回 ... -
php中通过register_shutdown_function记录fatal error
2013-02-09 23:56 2972今天发现php中,如果要记录fatal error的时候, ... -
php中检查是否ajax请求
2013-01-19 09:53 1476$ajax = false; if(!empty ... -
php中检查某个网页地址是否有效能被打开的最简单方法
2012-10-22 16:18 2099php中检查某个网页地址是否有效能被打开的最简单方法,其实可以 ... -
小结几个php操作office的类库
2012-07-20 19:16 19491 phpexcel 最强大完整的类库了,地址在: ht ... -
介绍几个PHP的开源不错的图片类库
2012-07-14 13:11 2889介绍几个PHP的开源不错的图片类库 1 pchart ... -
php中__sleep和__wakeup
2012-06-22 09:39 4531在php中,__sleep和___wakeup是两个分别自 ... -
PHP 5.4正式版重要新特性
2012-05-25 08:34 1682原文发表在:http://tech.it168.com/a20 ... -
用php实现备份数据库ZIP及导出
2012-04-17 08:59 1858经常在有的PHP开源系统中,看到有备份数据库并导出的方法 ... -
PHP Codeigniter 中的_remap方法简介
2012-04-05 21:06 4595在Codeigniter 中,其实有个容易忽略掉的不错的控 ... -
PHP 5.4中的traits初探
2012-04-01 19:57 5063PHP 5.4中的traits,是新引入的特性,中文还真不知道 ... -
php中的pdo和mysqli的对比选择
2012-03-10 22:25 7161在PHP中,如何选择PDO和mysqli呢?本文做个简单的 ... -
php 5.4中新增加对session状态判断的功能
2012-02-20 12:28 3978在以前的php 版本中,要判断session是否有效,只能 ... -
php curl的几段小应用
2012-02-07 10:10 1834php 的CURL是不错的功能,下面收藏几段不错的片段 1 ... -
php 5.3中的一个type hinting的用法
2012-01-20 11:50 2325今天偶然看php 5.3中的一个特性,叫type hintin ... -
cakephp的分页排序
2012-01-04 10:38 4239cakephp中的分页还是很简单的,下面例子复习下 1 数据 ... -
mongodb+php学习1
2012-01-03 11:51 52421 mongodb启动时,设置启动项 C:\>mon ... -
php中挺好用的strtotime方法
2011-12-20 11:32 1966在PHP中,经常要对日期进行计算,比如要计算一个月前的日期 ...
相关推荐
- **全面的文档**:CodeIgniter拥有详尽的官方文档,为开发者提供了清晰的学习路径。 - **丰富的库和辅助函数**:框架内包含了大量预定义的库(如数据库、电子邮件、会话管理等)和辅助函数,帮助开发者实现常见的...
下面将从CodeIgniter 4.0-dev版本的学习笔记入手,深入解析CodeIgniter 4.0(简称CI4)的下载、部署以及核心概念。 首先,CI4之所以被选为源码解读的版本,是因为与之前的稳定版相比,它更加轻量级、简单易用。此外...
无论是初学者还是有经验的开发者,都能从中受益匪浅,学习如何利用CodeIgniter1.7框架快速构建高质量的Web应用程序。对于那些对敏捷开发、MVC架构或者PHP语言感兴趣的人来说,这本书绝对值得一读。
1. MVC架构:CodeIgniter的核心是Model-View-Controller(MVC)设计模式。在这个图片站中,模型负责处理数据,视图负责显示,控制器则作为用户交互和数据处理之间的桥梁。通过分离关注点,MVC使代码更易于维护和扩展...
它的用户指南是学习和理解这个框架的重要资源,特别是在2.1.4版本中,这是它的一个稳定版本。以下是对`codeigniter用户指南 pdf`内容的详细概述。 **一、CodeIgniter概述** CodeIgniter是一个轻量级的PHP框架,它...
CodeIgniter是一个流行的PHP框架,以其轻...通过这个"codeigniter的简单示例",你可以逐步学习如何在实践中运用以上知识点,构建自己的CodeIgniter应用。理解并熟练掌握这些基础,将有助于你在PHP开发中更高效地工作。
1. **index.php**:这是CodeIgniter项目的入口文件,通常用于初始化框架并处理所有HTTP请求。它包含对CodeIgniter核心库的引用,以及配置选项。 2. **readme.txt**:这是一个常见的文档文件,可能包含了项目简介、...
1. **CodeIgniter2.2.0中文用户参考手册.CHM**: 这个CHM文件是CodeIgniter 2.2.0版本的中文用户手册,它包含了框架的所有核心组件和功能的详尽说明。你可以从中了解到如何设置环境,安装框架,以及如何使用控制器、...
CodeIgniter的用户可以轻松地访问官方发布的新版本,包括3.1.2版本在内的其他旧版本(如3.1.1、3.1.0、3.0.6、3.0.5、3.0.4等),并且可以阅读用户指南开始部分,学习如何构造动态的PHP应用。 CodeIgniter的许可...
1. **控制器(Controller)**:CodeIgniter中的控制器是应用程序的入口点,负责接收用户请求并调用模型和视图来处理数据和展示结果。控制器类是PHP类,它们扩展了CI_Controller基类,通过定义方法来处理不同的URL路由...
1. MVC架构:MVC(Model-View-Controller)是CodeIgniter的核心设计模式。Model负责数据的处理和业务逻辑,View负责展示数据,而Controller作为中间人协调Model和View的交互。了解这一架构有助于提高代码组织和可...
1. **MVC架构**:CodeIgniter遵循模型-视图-控制器(MVC)设计模式,将业务逻辑、数据处理和用户界面分离,提高了代码组织性和可维护性。模型负责与数据库交互,视图用于展示数据,而控制器则协调这两者之间的通信。...
在此之后,Codeigniter历经多次更新,从1.x系列发展到2.0时代,2014年6月5日发布了2.2.0版本,而教程中提到的3.0.0版本是在2015年3月30日发布的,这是当时比较新的稳定版本。 在学习Codeigniter的过程中,我们还...
总的来说,这个例子为初学者提供了一个学习Codeigniter用户认证的基础平台。通过研究和修改这个示例,开发者可以更好地理解如何在实际项目中实现安全的用户登录和验证功能,同时掌握Codeigniter框架的使用。
而且,CodeIgniter不需要学习新的模板语言,用户可以根据需求选择是否使用模板解析器。 安装CodeIgniter分为四步: 1. 解压缩安装包到网站根目录; 2. 将CodeIgniter文件夹及里面的文件上传到服务器,index.php文件...
1. **Model-View-Controller (MVC)**: MVC是CodeIgniter的基础,其中Model负责与数据库交互,View用于展示数据,而Controller作为两者之间的桥梁,处理用户请求并协调Model和View的工作。 2. **路由(Routing)**: ...
1. **CodeIgniter简介** CodeIgniter以其简洁的架构、出色的性能和丰富的库而闻名。它遵循MVC(Model-View-Controller)设计模式,使得代码组织清晰,易于维护。1.72版本在当时是一个稳定版本,修复了前一版本的...
1. **MVC架构**:Model-View-Controller模式是CodeIgniter的基础,它将业务逻辑(模型)、数据展示(视图)和用户交互(控制器)分离开来,使代码结构清晰,易于维护。 2. **小而快**:CodeIgniter以其轻量级而自豪...
资源中的三个文件分别提供了不同角度的CodeIgniter学习资料。 1. **CodeIgniter中文参考手册.pdf**:这份文档详细地介绍了CodeIgniter的各种组件和功能,包括控制器、模型、视图、数据库操作、表单验证、安全和会话...