codeigniter 笔记一

来源:互联网 发布:python字符串能更改吗 编辑:程序博客网 时间:2024/05/18 02:42

codeigniter  是轻型MVC框架,闲来无事,研究一下


下图说明数据流如何贯穿整个系统:

CodeIgniter 应用程序流程图
  1. index.php 作为前端控制器,初始化运行 CodeIgniter 所需要的基本资源。
  2. Router 检查 HTTP 请求,以确定谁来处理请求。
  3. 如果缓存(Cache)文件存在,它将绕过通常的系统执行顺序,被直接发送给浏览器。
  4. 安全(Security)。应用程序控制器(Application Controller)装载之前,HTTP 请求和任何用户提交的数据将被过滤。
  5. 控制器(Controller)装载模型、核心库、辅助函数,以及任何处理特定请求所需的其它资源。
  6. 最终视图(View)渲染发送到 Web 浏览器中的内容。如果开启缓存(Caching),视图首先被缓存,所以将可用于以后的请求。

 以上摘自http://codeigniter.org.cn/user_guide/overview/appflow.html



__FILE__的路径是当前代码所在文件

 

dirname(dirname(__FILE__));得到的是文件上一层目录名


dirname(__FILE__);得到的是文件所在层目录名

basename(__FILE__) 获得的是文件名

pathinfo() 返回一个关联数组包含有 path 的信息。包括以下的数组单元:dirnamebasename 和 extension

可以通过参数 options 指定要返回哪些单元。它们包括:PATHINFO_DIRNAMEPATHINFO_BASENAME 和 PATHINFO_EXTENSION

使用pathinfo  的结果

Array ( [dirname] => /www/htdocs [basename] => index.html [extension] => html [filename] => index )

在 standard.php中

define ('PATHINFO_DIRNAME', 1);
define ('PATHINFO_BASENAME', 2);
define ('PATHINFO_EXTENSION', 4);

pathinfo  这其中有什么关系吗?谁能告诉我!!!

index.php  是入口文件 只是定义了一些常量

BASEPATH  各种系统核心类路径

APPPATH  一般开发者文件路径

只是最后 

require_once BASEPATH.'core/CodeIgniter.php';

从此 进入 CodeIgniter.php

line 72    set_error_handler('_exception_handler');  设置异常处理函数  其中  _exception_handler  已经在common.php 中定义

set_error_handler(error_function,error_types)
<?php//error handler functionfunction customError($errno, $errstr, $errfile, $errline) {  echo "<b>Custom error:</b> [$errno] $errstr<br />"; echo " Error on line $errline in $errfile<br />"; echo "Ending Script"; die(); }//set error handlerset_error_handler("customError");$test=2;//trigger errorif ($test>1) { trigger_error("A custom error has been triggered"); }?>

输出:

Custom error: [1024] A custom error has been triggeredError on line 19 in C:\webfolder\test.phpEnding Script
提示:如果使用了该函数,会完全绕过标准的 PHP 错误处理函数,如果必要,用户定义的错误处理程序必须终止 (die() ) 脚本。
以上转自  http://www.w3school.com.cn/php/func_error_set_error_handler.asp  


require(BASEPATH.'core/Common.php');//引入全局函数
require(APPPATH.'config/constants.php');//引入框架常量


这个页面中很多引用全局函数 所以 只能先看 Common.php了。






原创粉丝点击