×

codeigniter 框架

codeigniter(CodeIgniter与ThinkPHP两个框架各自有什么优势)

admin admin 发表于2022-09-04 06:19:05 浏览183 评论0

抢沙发发表评论

本文目录

CodeIgniter与ThinkPHP两个框架各自有什么优势


你好,首先我个人比较喜欢使用CI,因为它更小巧,更易入门,而且手册写的也不错。非常易于学习,在使用时也非常方便。对于Thinkphp 我使用过3.2版本,给我的感觉是MVC的架构比较混乱,他提供了很多意在方便程序员的功能,虽然使用很方便,但是总感觉写出来的代码会在控制器里比较臃肿,当然 编写代码的习惯 是程序员自己定的。只是 以前写3.2的项目我看过几个好多都是把数据处理写在控制器里的。我个人不是很喜欢,最近我在学习TP5,其实在中国,TP的使用率肯定是最高的,虽然我个人更愿意用CI写项目,但是 当大家都喜欢用TP做项目的时候,也需要迎合下时代的需求。
这里,如果你是在犹豫先学习哪个框架,如果你只是为了先学习入门,我建议你学习CI,如果你即将要开始投入工作,我还是觉得你可以花点心思看看TP ,不过现在很多老项目都是TP3.2写的,而TP5又是以后的趋势,你可能要两个都看,但是尴尬的地方就是,这两个版本真的是完全不一样

如何调整CodeIgniter的报错级别


不使用CI的时候,我们可以使用 error_reporting(E_ALL); error_reporting(0); 这类的代码来控制报错级别。当然也可以在类中使用这些语句,不过CI自己已经有控制报错级别的机制在里面了。
也许你不会经常打开index.php,但是修改就在这个文件里面:
/*
*---------------------------------------------------------------
* APPLICATION ENVIRONMENT
*---------------------------------------------------------------
*
* You can load different configurations depending on your
* current environment. Setting the environment also influences
* things like logging and error reporting.
*
* This can be set to anything, but default usage is:
*
* development
* testing
* production
*
* NOTE: If you change these, also change the error_reporting() code below
*
*/
define(’ENVIRONMENT’, ’development’);
/*
*---------------------------------------------------------------
* ERROR REPORTING
*---------------------------------------------------------------
*
* Different environments will require different levels of error reporting.
* By default development will show errors but testing and live will hide them.
*/
if (defined(’ENVIRONMENT’))
{
switch (ENVIRONMENT)
{
case ’development’:
error_reporting(E_ALL);
break;

case ’testing’:
case ’production’:
error_reporting(0);
break;
default:
exit(’The application environment is not set correctly.’);
}
}
ENVIRONMENT 就是来控制报错级别的,默认的有三个选项,development testing production,由上面的switch语句控制。代码已经很清楚了,可以根据自己的需求进行相应更改。

解析php框架codeigniter中如何使用框架的session


里面有两种session的使用方法:
1是php的原始的session使用方法,这个很简单,$_SESSION[’name’]=“name“,然后在需要的地方显示:echo $_SESSION[’name’];
2是codeigniter这个框架的一个方法:
下面就详细讲解如何使用这个有点点复杂的方法:
首先,在\ci\application\config下面的config.php文件中找到:$config[’encryption_key’] = ’’;这个里面随便填什么值都可以,但是不能为空。一般是英文啊,不要钻牛角尖。
接着在\ci\application\config下面的auto.php文件中找到:$autoload[’libraries’] = array(’’);里面要填写:$autoload[’libraries’] = array(’session’);或者在适当的地方如control文件夹里面的相应文件中(一般是在构造方法中)写:$this-》load-》library(’session’);这样也行。
现在环境配置好了,现在就是写代码了:
在需要放入session的地方写:
$this-》session-》set_userdata(’name’,’yang’);
这样session里面就有了值了。
显示值:
echo $this-》session-》userdata(’name’);
如果是array,则:
$newdata = array(
’username’ =》 ’johndoe’,
’email’ =》
’logged_in’ =》 TRUE
);
$this-》session-》set_userdata($newdata);
以下是转载的别人的详细的有点废话的相关知识:
Sessions会在每个页面载入后开始运行,所以session类必须首先被初始化。
1、您可以在控制器中初始化,也可以在系统中自动加载(译者注:在autoload.php设定)$autoload[’libraries’] = array(’session’);
2、要在您的控制器构造函数中初始化session类,您可以使用 $this-》load-》library 函数:$this-》load-》library(’session’);一旦被载入, session就可以这样使用: $this-》session。
session类的绝大部分都会在后台运行,所以初始化session时,它session数据会被自动读取、创建和更新。
-codeigniter

如何调整Codeigniter错误报告级别


Severity: NoticeMessage: Undefined variable: host 在默认的普通PHP文件中输出一个未声明的变量是不会报错误的,但使用codeigniter框架,却会抛出错误。为了不让类似的错误信息显示出 来,于是阅读了codeigniter框架代码。在index.php中找到了配置错误级别的方法error_reporting()。 error_reporting() 设置 PHP 的报错级别并返回当前级别。语法
error_reporting(report_level)
如果参数 level 未指定,当前报错级别将被返回。下面几项是 level 可能的值:1 E_ERROR
2 E_WARNING4 E_PARSE8 E_NOTICE16 E_CORE_ERROR
32 E_CORE_WARNING
64 E_COMPILE_ERROR
128 E_COMPILE_WARNING
256 E_USER_ERROR
512 E_USER_WARNING
1024 E_USER_NOTICE2047 E_ALL2048 E_STRICT E_NOTICE 表示一般情形不记录,只有程式有错误情形时才用到,例如企图存取一个不存在的变数,或是呼叫 stat() 函式检视不存在的档案。E_WARNING 通常都会显示出来,但不会中断程式的执行。这对除错很有效。例如:用有问题的常规表示法呼叫 ereg()。E_ERROR 通常会显示出来,亦会中断程式执行。意即用这个遮罩无法追查到记忆体配置或其它的错误。E_PARSE 从语法中剖析错误。
E_CORE_ERROR 类似 E_ERROR,但不包括 PHP 核心造成的错误。
-框架

codeigniter适合开发做大型的大访问量的项目


Zend Framework要花很多时间,不适合快速学习,
现在国内外的框架程序非常的多,比如speedphp,qeephp,cakephp,TP等等
按照楼主的要求,那么就只有CI,个人觉得比较不错,
关于CodeIgniter
CodeIgniter 是一套给 PHP 网站开发者使用的应用程序开发框架和工具包。她提供一套丰富的标准库以及简单的接口和逻辑结构,其目的是使开发人员更快速地进行项目开发。使用 CodeIgniter 可以减少代码的编写量,并将你的精力投入到项目的创造性开发上。
CodeIgniter是由Ellislab公司的CEORickEllis开发的。其核心框架是为这个程序特别编写的,而其他很多类库、辅助函数和子系统则来自于RickEllis和PaulBurdick编写的内容管理系统ExpressionEngine。来自RubyonRails的灵感启发我们创造了一个PHP框架,并且将框架的概念引入到网络社区的一般意识中。
她是一个小巧但功能强大的 PHP 框架,作为一个简单而“优雅”的工具包,她可以为 PHP 程序员建立功能完善的 Web 应用程序。如果你是一个与人共享主机并且为客户要求的期限而烦恼的开发人员,如果你已经厌倦了那些傻大笨粗的框架,那么 CodeIgniter 就是你所需要的,如果...
* 你想要一个小巧的框架。
* 你需要出色的性能。
* 你需要广泛兼容标准主机上的各种 PHP 版本和配置(例如 PHP4)。
* 你想要一个几乎只需 0 配置的框架。
* 你想要一个不需使用命令行的框架。
* 你想要一个不需坚守限制性编码规则的框架。
* 你对 PEAR 这种大规模集成类库不感兴趣。
* 你不希望被迫学习一门模板语言(虽然可以选择你要求的模板解析器)。
* 你不喜欢复杂,热爱简单。
* 你需要清晰、完整的文档。
最重要是CI的文档简单丰富易懂,哈哈
想学习,可以去CI中国去看看,就不用我给你贴地址了吧

-codeigniter

codelgniter 怎么读


CodeIgniter 是一套给 PHP 网站开发者使用的应用程序开发框架和工具包。她提供一套丰富的标准库以及简单的接口和逻辑结构,其目的是使开发人员更快速地进行项目开发。使用 CodeIgniter 可以减少代码的编写量,并将你的精力投入到项目的创造性开发上。
发音:[’kəudig’naitə]
’抠的依哥’耐特儿
抠 和 耐(1声) 重读
-框架

CodeIgniter 是什么


CodeIgniter 是一个为用 PHP 编写网络应用程序的人员提供的工具包。它的目标是实现让你比从零开始编写代码更快速地开发项目,为此,CI 提供了一套丰富的类库来满足通常的任务需求,并且提供了一个简单的接口和逻辑结构来调用这些库。CodeIgniter 可以将需要完成的任务代码量最小化,这样你就可以把更多的精力放到项目的开发上了。
CodeIgniter 是免费的
CodeIgniter 是经过 Apache/BSD-style 开源许可授权的,只要你愿意就可以使用它。阅读许可协议可获得更多的信息。
CodeIgniter 是轻量级的
真正的轻量级。我们的核心系统只需要一些非常小的库,这与那些需要更多资源的框架完全相反。额外的库文件只在请求的时候加载,依需求而定,所以核心系统是非常快而且轻的。
CodeIgniter 是快速的
速度非常快。你要找到一个比 CodeIgniter 表现更优的框架应该很难吧。
CodeIgniter 使用 M-V-C 模型
CodeIgniter 使用了模型(Model)- 视图(View)- 控制器(Controllers)的方法,这样可以更好地使表现层和逻辑层分离。这对项目的模板设计者来说是非常有用的,它最小化了模板中的程序代码量。我们在 MVC 各自的页面中对此做了更多的介绍。
CodeIgniter 生成干净的 URL
CodeIgniter 生成的 URL 非常干净而且是对搜索引擎友好化的。不同于标准的字符串查询方法,CodeIgniter使用了 基于段 的方法:
example.com/news/article/345注意:index.php 文件是被默认包含在 URL 中的,但是可以通过更改 .htaccess 文件来改变这个设置。
CodeIgniter 功能强大
CodeIgniter 拥有全范围的类库,可以完成大多数通常需要的网络开发任务,包括: 读取数据库、发送电子邮件、数据确认、保存 session 、对图片的操作,以及支持 XML-RPC 数据传输等。
CodeIgniter 是可扩展的
这个系统可以非常简单的通过自定义类库、辅助函数来进行扩展,或者也可以通过扩展类、系统钩子来实现。
CodeIgniter 不需要模板引擎
虽然 CodeIgniter确实自带了一个可选的模板解析器程序,但不要求你必须使用模板。模板引擎完全与本地化PHP代码的性能需求不符,使用模板引擎我们要学习其语法,这最低限度只比学PHP基础要容易一点点。考虑以下PHP代码:《ul
《li《?=$name?《/li
《?php endforeach; ?《/ul再来对比模板引擎所使用的伪代码:《ul
{foreach from=$addressbook item=name}
《li{$name}《/li
{/foreach}《/ul的确,例中模板引擎的代码比较清晰,但这带来一个性能问题,因为伪代码要先被转换成PHP才能运行。我们的目标是性能最大化
, 所以我们选择不使用专用的模板引擎。
CodeIgniter 已彻底文档化
程序员都喜欢写代码讨厌写文档。当然我们也一样,但是既然文档和代码本身一样重要,我们就要完成它了。况且我们代码资源极其干净而且方便注释。
CodeIgniter 拥有一个友好的用户社区
你可以在我们的社区论坛中看到一个成长中的积极活跃的用户社区。翻译贡献者:
-codeigniter

codeigniter整合smarty及扩展


smarty的模板机制很强大,一般情况下CI无需整合其他模板标签,因为PHP本身就是一种标签,简单易用。codeigniter整合smarty教程(我用的都是最新版本)如下:
第一步:下载codeigniter最新版本:http://codeigniter.org.cn/downloads
第二步:下载smarty最新版本:http://www.smarty.net/download
第三步:
配置步骤:
(1)将smarty拷贝到application/libraries下,然后再根目录下下新建templates,templates_c,config,cache目录,结构如下:
(2)入口文件新增:define(’ROOT’, dirname(__FILE__));
(3)libraries下新建CI_Smarty.php
《?php defined(’BASEPATH’) or die(’Access restricted!’); require(APPPATH . ’libraries/smarty/Smarty.class.php’); class CI_Smarty extends Smarty { public function __construct($template_dir = ’’, $compile_dir = ’’, $config_dir = ’’, $cache_dir = ’’) { parent::__construct(); if (is_array($template_dir)) { foreach ($template_dir as $key =》 $value) { $this-》$key = $value; } } else { //ROOT是Codeigniter在入口文件index.php定义的本web应用的根目录 $this-》template_dir = $template_dir ? $template_dir : ROOT . ’/templates’; $this-》compile_dir = $compile_dir ? $compile_dir : ROOT . ’/templates_c’; $this-》config_dir = $config_dir ? $config_dir : ROOT . ’/config’; $this-》cache_dir = $cache_dir ? $cache_dir : ROOT . ’/cache’; } } }
controller中使用:
《?php if ( ! defined(’BASEPATH’)) exit(’No direct script access allowed’);// by www.phpddt.comclass Welcome extends CI_Controller { public function __construct() { parent::__construct(); $this-》load-》library(’CI_Smarty’); } public function test() { $this-》ci_smarty-》assign(’test’, ’smarty’); $this-》ci_smarty-》display(’test.tpl’); }} /* End of file welcome.php *//* Location: ./application/controllers/welcome.php */
新建test.tpl模板:
《html》 《body》 这是 {$test} 测试 《/body》《/html》
-框架

codeigniter怎么才能使用


说实话,我不会在ubuntu下配置phpmyadmin, apache 等东西。

但是有个疑问,你是因为要用codeigniter而安装ubuntu虚拟机的吗?

如果是这样,其实可以直接在windows下直接运行。首先你必须要做的就是在本地安装一个服务器,因为php是服务器来编译。个人推荐xampp。安装以后确定全部正常运行,然后localhost查看状态。

好了现在说一说codeigniter。codeigniter 是 php 的 framework。 如果没有学过php,必须先把php的基础打好,再来学习这个。php有3种写代码的方式(可以这样理解吧,哈哈),正则,面向对象,还有MVC。 Codeigniter 是采用 mvc 的方法。 MVC 也就是 Model, view 和 controller。 Model 主要用于调用数据库里的data,而Controller就可以理解为model和view的中间人。它会从model取得值然后传给view。View就是用来显示的地方,语言例子:html,css,javascript。-codeigniter

要如何用codeigniter? 

在安装xampp过后,进到安装后的文件夹找到htdocs,然后创建一个文件夹就行了。过后就这样把他丢进去。

(高亮的文件夹是本人自己创建的)

基本上就是这样。

其实现在最重要就是把基础打好吧。从问题里感觉的出你对这些东西完全不明白,所以有时候会很懒惰回答类似这样的问题。希望你可以找到解决方法。