- 浏览: 7862034 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (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 1894http://www.phpzag.com/11-useful ... -
php中的DirectoryIterator和RecursiveDirectoryIterator
2013-07-27 22:50 3482php中,可以用用DirectoryIterator获取指定目 ... -
uccenter中找回创始人密码
2013-03-11 19:12 1875偶然忘记了uccenter中的创始人密码,一查看,其实找回 ... -
php中通过register_shutdown_function记录fatal error
2013-02-09 23:56 2935今天发现php中,如果要记录fatal error的时候, ... -
php中检查是否ajax请求
2013-01-19 09:53 1446$ajax = false; if(!empty ... -
php中检查某个网页地址是否有效能被打开的最简单方法
2012-10-22 16:18 2064php中检查某个网页地址是否有效能被打开的最简单方法,其实可以 ... -
小结几个php操作office的类库
2012-07-20 19:16 19121 phpexcel 最强大完整的类库了,地址在: ht ... -
介绍几个PHP的开源不错的图片类库
2012-07-14 13:11 2847介绍几个PHP的开源不错的图片类库 1 pchart ... -
php中__sleep和__wakeup
2012-06-22 09:39 4486在php中,__sleep和___wakeup是两个分别自 ... -
PHP 5.4正式版重要新特性
2012-05-25 08:34 1635原文发表在:http://tech.it168.com/a20 ... -
用php实现备份数据库ZIP及导出
2012-04-17 08:59 1812经常在有的PHP开源系统中,看到有备份数据库并导出的方法 ... -
PHP Codeigniter 中的_remap方法简介
2012-04-05 21:06 4545在Codeigniter 中,其实有个容易忽略掉的不错的控 ... -
PHP 5.4中的traits初探
2012-04-01 19:57 5013PHP 5.4中的traits,是新引入的特性,中文还真不知道 ... -
php中的pdo和mysqli的对比选择
2012-03-10 22:25 7119在PHP中,如何选择PDO和mysqli呢?本文做个简单的 ... -
php 5.4中新增加对session状态判断的功能
2012-02-20 12:28 3929在以前的php 版本中,要判断session是否有效,只能 ... -
php curl的几段小应用
2012-02-07 10:10 1788php 的CURL是不错的功能,下面收藏几段不错的片段 1 ... -
php 5.3中的一个type hinting的用法
2012-01-20 11:50 2278今天偶然看php 5.3中的一个特性,叫type hintin ... -
cakephp的分页排序
2012-01-04 10:38 4207cakephp中的分页还是很简单的,下面例子复习下 1 数据 ... -
mongodb+php学习1
2012-01-03 11:51 51921 mongodb启动时,设置启动项 C:\>mon ... -
php中挺好用的strtotime方法
2011-12-20 11:32 1927在PHP中,经常要对日期进行计算,比如要计算一个月前的日期 ...
相关推荐
codeigniter 4学习笔记系列一,学习为主,同时把心得分享给大家。
学习codeigniter框架的 好案例,也是个比较好的简约CMS
小弟用 CodeIgniter 做的一个图片站,大家多多指教哦,把源码发上来,供大家讨论。 网址: http://www.jctpw.com
这是codeigniter的中文电子帮助书,便于E文不好的codeigniter爱好者学习使用
说实话,我到目前为止搞了这么长时间php, 从来没有见过哪个php框架像codeigniter这么容易学习和使用, 这么方便; 很多php框架装腔作势, 乱封装, 乱继承, 乱写, 大家一起支持codeigniter
CodeIgniter 是一个小巧但功能强大的 PHP 框架,作为一个简单而“优雅”的工具包,它可以为 ... 你不希望被迫学习一门模板语言(虽然可以选择你要求的模板解析器)。 你不喜欢复杂,热爱简单。 你需要清晰、完整的文档。
codeigniter中文.pdf 一本简单介绍CI框架使用的手册,内容有对比,更简洁易懂,但如果要深入学习,还是要多到社区里查阅资料
CodeIgniter 是一套给 PHP 网站开发者使用的应用程序开发框架和工具包。它提供一套丰富的标准库以及简单的接口和逻辑结构,其目的是...使用 CodeIgniter 可以减少代码的编写量,并将你的精力投入到项目的创造性开发上。
这是一套非常适合学习CodeIgniter3.0框架的源码!网上还难于找到基于CodeIgniter3.0的CMS,非常幸运的是,现在你已经拥有了! 如果你的空间不支持rewrite,不要往下看了,浪费时间,赶紧SHIFT+DEL吧,不用说再见了. 基于...
第一次接触codeIgniter,在这里多谢rover和hex两位大哥帮忙,才在短时间入门。 这个程序主要实现了uc的登陆,注册和退出,以及同步登陆,问题。 更多功能在慢慢开发,以后都会发上来与大家探讨,共同学习。
CodeIgniter简介 ...你不希望被迫学习一门模板语言(虽然可以选择你要求的模板解析器)。 你不喜欢复杂,热爱简单。 你需要清晰、完整的文档。 CodeIgniter页面展示 相关阅读 同类推荐:程序框架
我个人觉得在当前 MVC 流行的架构下,要想去了解一个框架,或者是一个基于此架构下的应用程序,最好的入手方式就是先看路由,虽然路由不是 MVC 里的任何一个,但是知道了路由的来龙去脉就知道了整个框架或者是应用的...
FUELCMS 是一款基于Codeigniter框架开发的CMS系统,模块化的设计使得它非常适合二次开发,事实上它本身已经自带了CMS和Blog模块,以及完整的后台管理功能和大量工具包,是一款绝佳的学习Codeigniter的入门教程。...
其实一开始我是很纠结是否要写控制器的源码分析的,因为控制器的源码太少了,少到你不相信这是一个 MVC 里的一个重头。直觉里,大家都觉得控制器作为各个请求的“入口”,其后端应该有很多很多的代码支撑才可以的,...
Codeigniter 4.0-dev 版源码学习笔记之二——入口以及初始化操作
当然,要学习的东西还有很多。例如,您可自动加载所需的模型和任何帮助程序或库。可以为应用程序调整缓存和性能。可以为视图添加更多 CSS 内容。可以添加在数据库插入操作结束后发送电子邮件通知的功能。 目前,您...
http://blog.csdn.net/wxg694175346 博客中的对应源码,个人学习所用
PHP 敏捷开发框架 CodeIgniter的全面学习手册。欢迎大家下载。内附源码。
这篇文章是有关 CodeIgniter 的(以下简称 CI),CI 是一个达成以上目标的框架。 如果你只是要达成一个最终的结果,而把中间所有的编码细节和复杂统统丢给一个框架,CI 是你最好的朋友。 CI 有很多优点:免费,轻...