zoukankan      html  css  js  c++  java
  • CI框架浅析(二)

         该文延续上篇文章: CI框架浅析(一)

    在CI框架的核心库中,CodeIgniter.php负责加载所有需要的类库,第一个加载的是公共库 core/Common.php

         Common.php 负责加载以下公共方法:

    方法名
    注释
    is_php($version)
    判断$version是否小于或等于当前安装的PHP版本
    is_really_writable($file)
    判断该文件是否可写
    load_class($class, $directory = 'libraries', $param = NULL)
    加载类,但只能加载前缀为CI 的类,或前缀为自己配置的 $config['subclass_prefix'
    is_loaded
    返回已经加载类的数组
    get_config(Array $replace = array())
    加载 application/config/config.php 配置数组
    application/config/ENVIRONMENT/config.php ENVIRONMENT为你开发的环境
    config_item($item)
    获取配置项的具体一项值
    get_mimes()
    获取config/mimes.php 的元数据数组
    is_https()
    判断是否是 https 加密协议
    is_cli()
    判断是否是在命令行执行
    show_error()
    加载 Exception,在自己的模板输出错误,然后exit
    show_404($page = '', $log_error = TRUE)
    加载 Exception,在自己的模板输出404错误
    log_message($level, $message)
    输出日志信息(不要把config.php 的log_threshold变量设 置为 4,太卡了,消耗太多的性能)
    set_status_header($code = 200, $text = '')
    设置http回应状态头
    _error_handler( )
    错误处理,加载Exceptions类,然后用日志输出错误,如果是验证的错误,则exit(1)退出程序。
    _exception_handler($exception)
    异常处理,加载Exceptions类,记录异常,然后 exit(1)退出。
    _shutdown_handler()
    宕机处理,不同的错误级别做相应的处理,调用_error_handler 方法处理
    remove_invisible_characters()
    移除不可见的字符
    html_escape($var, $double_encode = TRUE)
    html 转义
    _stringify_attributes($attributes, $js = FALSE)
    将数组等其它类型,转换成字符串类型。
    function_usable($function_name)
    方法可用,该方法只是暂时的,后期可能会移除。这方法需要加载Suhosin (一个PHP的补丁或拓展)

    Common.php中也调用了 Exceptions.php :

    方法名 注释
    log_exception($severity, $message, $filepath, $line)
    记录异常信息,保存在日志里
    show_404($page = '', $log_error = TRUE)
    记录错误的日志,且调用show_error()输出错误页面
    show_error($heading, $message, $template = 'error_general', $status_code = 500)
    找到对应的模板,然后输出错误的html页面
    show_exception($exception)
    输出异常的html页面
    show_php_error($severity, $message, $filepath, $line)
    本地PHP出错处理,输出相应的错误页面。
    if (file_exists(APPPATH.'config/'.ENVIRONMENT.'/constants.php'))
    {
           require_once(APPPATH.'config/'.ENVIRONMENT.'/constants.php');
    }

    从代码可以知道: 

           加载框架的自定义常量,可在applcation/config 创建不同环境目录,如development 与production,在这两个目录下,都创建constants.php,然后创建各环境需要的常量。从其它的代码总结来,可以根据开发的情况,给予配置不同常量,以及config 的几乎所有配置,让用户在开发或者发布的时候,配置不同的信息。
  • 相关阅读:
    springmvc跳转的几种方式
    DFL库安装dmd2
    python中关于turtle库的学习笔记
    带有进度条的圆周率计算
    Splay——学习笔记
    简述树链剖分
    数学专题——学习笔记
    CDQ分治(三维偏序)——学习笔记
    概率与期望DP
    CSP模拟赛20190922
  • 原文地址:https://www.cnblogs.com/xiaoxiaoqingyi/p/6706882.html
Copyright © 2011-2022 走看看