用户
 找回密码
 入住 CI 中国社区
搜索
查看: 4823|回复: 1
收起左侧

CI分析之调用机制(1)[加载了哪些类文件]

  [复制链接]
发表于 2012-1-8 18:07:25 | 显示全部楼层 |阅读模式
原文地址: http://www.mycode114.com/archives/138
前言
其实我比较反感使用框架的。因为它为了大家实现各种项目个性化的使用,做了很多扩展性的设计。有很多二次开发的机制,同一个操作设计出不同的实现方案。
但如果整个项目都是自己在把握的话,这些机制就是没有必要的。但又不得不承认,它给开发带来了很多便利。 你可以少写很多的基础代码,自带的类库。也可以让你省不少事。
我觉得PHPCMS V9那种文件目录存放方式已经很好了。CI号称最小内核之一,呵呵。
那我扣出PHPCMS V9那个内核机制,可以不用之一了.,咳咳,又不谦虚了,低调,低调。
不过既然项目用CI,那我就好好学习学习。还是会吸收不少新的东西。 CI框架就如同它自己号称的一样,不是很大,看明白就行了,写出来也是重复的。但还是写出来吧, 向作者致敬,为CI社区作贡献。
水平有限,难免理解错误,怡笑大方--!
进入正题:
加载了哪些文件
前面不多说,CI都有注释。是定义文件目录路径的变量和常量。
最后一句:
PHP复制代码
require_once BASEPATH.'core/CodeIgniter.php';
复制代码

通过上面的代码,加载了system/core/CodeIgniter.php
在CodeIgniter.php中加载了控制器
PHP复制代码
// Load the base controller class
require BASEPATH.'core/Controller.php';
复制代码

控制器类Controller的构造函数加载了,公共要加载的类文件.
PHP复制代码
public function __construct()
{
        self::$instance =& $this;
 
        // Assign all the class objects that were instantiated by the
        // bootstrap file (CodeIgniter.php) to local class variables
        // so that CI can run as one big super object.
        foreach (is_loaded() as $var => $class)
        {
                $this->$var =& load_class($class);
        }
 
        $this->load =& load_class('Loader', 'core');
 
        $this->load->initialize();
 
        log_message('debug', "Controller Class Initialized");
}
复制代码

foreach的上面的注释说得很清楚.注册的对象已经被框架入口文件以变量的方式实例化了,
所以CI能运行一个超级大对象.
至于怎么用$this对象, 对象是如何被注册的.不在本文分析之列.
我们只需要将is_loaded打印出来, 其实也就是那个$class变量
PHP复制代码
print_r(is_loaded());
exit;
复制代码

看看里面有什么
  1. Array
  2. (
  3.     [benchmark] => Benchmark
  4.     [hooks] => Hooks
  5.     [config] => Config
  6.     [utf8] => Utf8
  7.     [uri] => URI
  8.     [router] => Router
  9.     [output] => Output
  10.     [security] => Security
  11.     [input] => Input
  12.     [lang] => Lang
  13. )
复制代码

上面都是通过foreach循环加载的, core/loader.php是单独加载的,并且调用它的initialize()方法.
PHP复制代码
$this->load =& load_class('Loader', 'core');
复制代码

load_class是CI的神经中枢, 它会按Codeigniter框架设计的加载类和函数的优先级去加载函数和类.
所以框架总共加载了以上11个类文件, 顺便说一名PHPCMS BASE默认加载3个类来控制路路由和调度,它的内核只有这三个类.
如果要想知道别人的代码,加载了哪些类和函数,就在system/core/Common.php的load_class方法里把$_classes打印出来.
它里面包含了你可以用的全部信息:
例如:
  1. Array
  2. (
  3.     [Benchmark] => CI_Benchmark Object
  4.         (
  5.             [marker] => Array
  6.                 (
  7.                     [total_execution_time_start] => 0.07851000 1326005591
  8.                     [loading_time:_base_classes_start] => 0.07853700 1326005591
  9.                     [loading_time:_base_classes_end] => 0.11439300 1326005591
  10.                     [controller_execution_time_( home / index )_start] => 0.11451100 1326005591
  11.                 )

  12.         )

  13.     [Config] => CI_Config Object
  14.         (
  15.             [config] => Array
  16.                 (
  17.                     [base_url] => http://localhost/remap/
  18.                     [index_page] => index.php
  19.                     [uri_protocol] => AUTO
  20.                     [url_suffix] =>
  21.                     [language] => english
  22.                     [charset] => UTF-8
  23.                     [enable_hooks] =>
  24.                     [subclass_prefix] => dw_
  25.                     [permitted_uri_chars] => a-z 0-9~%.:_\-
  26.                     [allow_get_array] => 1
  27.                     [enable_query_strings] =>
  28.                     [controller_trigger] => c
  29.                     [function_trigger] => m
  30.                     [directory_trigger] => d
  31.                     [log_threshold] => 0
  32.                     [log_path] =>
  33.                     [log_date_format] => Y-m-d H:i:s
  34.                     [cache_path] =>
  35.                     [encryption_key] =>
  36.                     [sess_cookie_name] => ci_session
  37.                     [sess_expiration] => 7200
  38.                     [sess_expire_on_close] =>
  39.                     [sess_encrypt_cookie] =>
  40.                     [sess_use_database] =>
  41.                     [sess_table_name] => ci_sessions
  42.                     [sess_match_ip] =>
  43.                     [sess_match_useragent] => 1
  44.                     [sess_time_to_update] => 300
  45.                     [cookie_prefix] =>
  46.                     [cookie_domain] =>
  47.                     [cookie_path] => /
  48.                     [cookie_secure] =>
  49.                     [global_xss_filtering] =>
  50.                     [csrf_protection] =>
  51.                     [csrf_token_name] => csrf_test_name
  52.                     [csrf_cookie_name] => csrf_cookie_name
  53.                     [csrf_expire] => 7200
  54.                     [compress_output] =>
  55.                     [time_reference] => local
  56.                     [rewrite_short_tags] =>
  57.                     [proxy_ips] =>
  58.                 )

  59.             [is_loaded] => Array
  60.                 (
  61.                 )

  62.             [_config_paths] => Array
  63.                 (
  64.                     [0] => application/
  65.                 )

  66.         )

  67.     [Hooks] => CI_Hooks Object
  68.         (
  69.             [enabled] =>
  70.             [hooks] => Array
  71.                 (
  72.                 )

  73.             [in_progress] =>
  74.         )

  75.     [Utf8] => CI_Utf8 Object
  76.         (
  77.         )

  78.     [URI] => CI_URI Object
  79.         (
  80.             [keyval] => Array
  81.                 (
  82.                 )

  83.             [uri_string] =>
  84.             [segments] => Array
  85.                 (
  86.                 )

  87.             [rsegments] => Array
  88.                 (
  89.                     [1] => home
  90.                     [2] => index
  91.                 )

  92.             [config] => CI_Config Object
  93.                 (
  94.                     [config] => Array
  95.                         (
  96.                             [base_url] => http://localhost/remap/
  97.                             [index_page] => index.php
  98.                             [uri_protocol] => AUTO
  99.                             [url_suffix] =>
  100.                             [language] => english
  101.                             [charset] => UTF-8
  102.                             [enable_hooks] =>
  103.                             [subclass_prefix] => dw_
  104.                             [permitted_uri_chars] => a-z 0-9~%.:_\-
  105.                             [allow_get_array] => 1
  106.                             [enable_query_strings] =>
  107.                             [controller_trigger] => c
  108.                             [function_trigger] => m
  109.                             [directory_trigger] => d
  110.                             [log_threshold] => 0
  111.                             [log_path] =>
  112.                             [log_date_format] => Y-m-d H:i:s
  113.                             [cache_path] =>
  114.                             [encryption_key] =>
  115.                             [sess_cookie_name] => ci_session
  116.                             [sess_expiration] => 7200
  117.                             [sess_expire_on_close] =>
  118.                             [sess_encrypt_cookie] =>
  119.                             [sess_use_database] =>
  120.                             [sess_table_name] => ci_sessions
  121.                             [sess_match_ip] =>
  122.                             [sess_match_useragent] => 1
  123.                             [sess_time_to_update] => 300
  124.                             [cookie_prefix] =>
  125.                             [cookie_domain] =>
  126.                             [cookie_path] => /
  127.                             [cookie_secure] =>
  128.                             [global_xss_filtering] =>
  129.                             [csrf_protection] =>
  130.                             [csrf_token_name] => csrf_test_name
  131.                             [csrf_cookie_name] => csrf_cookie_name
  132.                             [csrf_expire] => 7200
  133.                             [compress_output] =>
  134.                             [time_reference] => local
  135.                             [rewrite_short_tags] =>
  136.                             [proxy_ips] =>
  137.                         )

  138.                     [is_loaded] => Array
  139.                         (
  140.                         )

  141.                     [_config_paths] => Array
  142.                         (
  143.                             [0] => application/
  144.                         )

  145.                 )

  146.         )

  147.     [Router] => CI_Router Object
  148.         (
  149.             [config] => CI_Config Object
  150.                 (
  151.                     [config] => Array
  152.                         (
  153.                             [base_url] => http://localhost/remap/
  154.                             [index_page] => index.php
  155.                             [uri_protocol] => AUTO
  156.                             [url_suffix] =>
  157.                             [language] => english
  158.                             [charset] => UTF-8
  159.                             [enable_hooks] =>
  160.                             [subclass_prefix] => dw_
  161.                             [permitted_uri_chars] => a-z 0-9~%.:_\-
  162.                             [allow_get_array] => 1
  163.                             [enable_query_strings] =>
  164.                             [controller_trigger] => c
  165.                             [function_trigger] => m
  166.                             [directory_trigger] => d
  167.                             [log_threshold] => 0
  168.                             [log_path] =>
  169.                             [log_date_format] => Y-m-d H:i:s
  170.                             [cache_path] =>
  171.                             [encryption_key] =>
  172.                             [sess_cookie_name] => ci_session
  173.                             [sess_expiration] => 7200
  174.                             [sess_expire_on_close] =>
  175.                             [sess_encrypt_cookie] =>
  176.                             [sess_use_database] =>
  177.                             [sess_table_name] => ci_sessions
  178.                             [sess_match_ip] =>
  179.                             [sess_match_useragent] => 1
  180.                             [sess_time_to_update] => 300
  181.                             [cookie_prefix] =>
  182.                             [cookie_domain] =>
  183.                             [cookie_path] => /
  184.                             [cookie_secure] =>
  185.                             [global_xss_filtering] =>
  186.                             [csrf_protection] =>
  187.                             [csrf_token_name] => csrf_test_name
  188.                             [csrf_cookie_name] => csrf_cookie_name
  189.                             [csrf_expire] => 7200
  190.                             [compress_output] =>
  191.                             [time_reference] => local
  192.                             [rewrite_short_tags] =>
  193.                             [proxy_ips] =>
  194.                         )

  195.                     [is_loaded] => Array
  196.                         (
  197.                         )

  198.                     [_config_paths] => Array
  199.                         (
  200.                             [0] => application/
  201.                         )

  202.                 )

  203.             [routes] => Array
  204.                 (
  205.                     [default_controller] => home
  206.                     [404_override] =>
  207.                 )

  208.             [error_routes] => Array
  209.                 (
  210.                 )

  211.             [class] => home
  212.             [method] => index
  213.             [directory] =>
  214.             [default_controller] => home
  215.             [uri] => CI_URI Object
  216.                 (
  217.                     [keyval] => Array
  218.                         (
  219.                         )

  220.                     [uri_string] =>
  221.                     [segments] => Array
  222.                         (
  223.                         )

  224.                     [rsegments] => Array
  225.                         (
  226.                             [1] => home
  227.                             [2] => index
  228.                         )

  229.                     [config] => CI_Config Object
  230.                         (
  231.                             [config] => Array
  232.                                 (
  233.                                     [base_url] => http://localhost/remap/
  234.                                     [index_page] => index.php
  235.                                     [uri_protocol] => AUTO
  236.                                     [url_suffix] =>
  237.                                     [language] => english
  238.                                     [charset] => UTF-8
  239.                                     [enable_hooks] =>
  240.                                     [subclass_prefix] => dw_
  241.                                     [permitted_uri_chars] => a-z 0-9~%.:_\-
  242.                                     [allow_get_array] => 1
  243.                                     [enable_query_strings] =>
  244.                                     [controller_trigger] => c
  245.                                     [function_trigger] => m
  246.                                     [directory_trigger] => d
  247.                                     [log_threshold] => 0
  248.                                     [log_path] =>
  249.                                     [log_date_format] => Y-m-d H:i:s
  250.                                     [cache_path] =>
  251.                                     [encryption_key] =>
  252.                                     [sess_cookie_name] => ci_session
  253.                                     [sess_expiration] => 7200
  254.                                     [sess_expire_on_close] =>
  255.                                     [sess_encrypt_cookie] =>
  256.                                     [sess_use_database] =>
  257.                                     [sess_table_name] => ci_sessions
  258.                                     [sess_match_ip] =>
  259.                                     [sess_match_useragent] => 1
  260.                                     [sess_time_to_update] => 300
  261.                                     [cookie_prefix] =>
  262.                                     [cookie_domain] =>
  263.                                     [cookie_path] => /
  264.                                     [cookie_secure] =>
  265.                                     [global_xss_filtering] =>
  266.                                     [csrf_protection] =>
  267.                                     [csrf_token_name] => csrf_test_name
  268.                                     [csrf_cookie_name] => csrf_cookie_name
  269.                                     [csrf_expire] => 7200
  270.                                     [compress_output] =>
  271.                                     [time_reference] => local
  272.                                     [rewrite_short_tags] =>
  273.                                     [proxy_ips] =>
  274.                                 )

  275.                             [is_loaded] => Array
  276.                                 (
  277.                                 )

  278.                             [_config_paths] => Array
  279.                                 (
  280.                                     [0] => application/
  281.                                 )

  282.                         )

  283.                 )

  284.         )

  285.     [Output] => CI_Output Object
  286.         (
  287.             [final_output:protected] =>
  288.             [cache_expiration:protected] => 0
  289.             [headers:protected] => Array
  290.                 (
  291.                 )

  292.             [mime_types:protected] => Array
  293.                 (
  294.                     [hqx] => application/mac-binhex40
  295.                     [cpt] => application/mac-compactpro
  296.                     [csv] => Array
  297.                         (
  298.                             [0] => text/x-comma-separated-values
  299.                             [1] => text/comma-separated-values
  300.                             [2] => application/octet-stream
  301.                             [3] => application/vnd.ms-excel
  302.                             [4] => application/x-csv
  303.                             [5] => text/x-csv
  304.                             [6] => text/csv
  305.                             [7] => application/csv
  306.                             [8] => application/excel
  307.                             [9] => application/vnd.msexcel
  308.                         )

  309.                     [bin] => application/macbinary
  310.                     [dms] => application/octet-stream
  311.                     [lha] => application/octet-stream
  312.                     [lzh] => application/octet-stream
  313.                     [exe] => Array
  314.                         (
  315.                             [0] => application/octet-stream
  316.                             [1] => application/x-msdownload
  317.                         )

  318.                     [class] => application/octet-stream
  319.                     [psd] => application/x-photoshop
  320.                     [so] => application/octet-stream
  321.                     [sea] => application/octet-stream
  322.                     [dll] => application/octet-stream
  323.                     [oda] => application/oda
  324.                     [pdf] => Array
  325.                         (
  326.                             [0] => application/pdf
  327.                             [1] => application/x-download
  328.                         )

  329.                     [ai] => application/postscript
  330.                     [eps] => application/postscript
  331.                     [ps] => application/postscript
  332.                     [smi] => application/smil
  333.                     [smil] => application/smil
  334.                     [mif] => application/vnd.mif
  335.                     [xls] => Array
  336.                         (
  337.                             [0] => application/excel
  338.                             [1] => application/vnd.ms-excel
  339.                             [2] => application/msexcel
  340.                         )

  341.                     [ppt] => Array
  342.                         (
  343.                             [0] => application/powerpoint
  344.                             [1] => application/vnd.ms-powerpoint
  345.                         )

  346.                     [wbxml] => application/wbxml
  347.                     [wmlc] => application/wmlc
  348.                     [dcr] => application/x-director
  349.                     [dir] => application/x-director
  350.                     [dxr] => application/x-director
  351.                     [dvi] => application/x-dvi
  352.                     [gtar] => application/x-gtar
  353.                     [gz] => application/x-gzip
  354.                     [php] => application/x-httpd-php
  355.                     [php4] => application/x-httpd-php
  356.                     [php3] => application/x-httpd-php
  357.                     [phtml] => application/x-httpd-php
  358.                     [phps] => application/x-httpd-php-source
  359.                     [js] => application/x-javascript
  360.                     [swf] => application/x-shockwave-flash
  361.                     [sit] => application/x-stuffit
  362.                     [tar] => application/x-tar
  363.                     [tgz] => Array
  364.                         (
  365.                             [0] => application/x-tar
  366.                             [1] => application/x-gzip-compressed
  367.                         )

  368.                     [xhtml] => application/xhtml+xml
  369.                     [xht] => application/xhtml+xml
  370.                     [zip] => Array
  371.                         (
  372.                             [0] => application/x-zip
  373.                             [1] => application/zip
  374.                             [2] => application/x-zip-compressed
  375.                         )

  376.                     [mid] => audio/midi
  377.                     [midi] => audio/midi
  378.                     [mpga] => audio/mpeg
  379.                     [mp2] => audio/mpeg
  380.                     [mp3] => Array
  381.                         (
  382.                             [0] => audio/mpeg
  383.                             [1] => audio/mpg
  384.                             [2] => audio/mpeg3
  385.                             [3] => audio/mp3
  386.                         )

  387.                     [aif] => audio/x-aiff
  388.                     [aiff] => audio/x-aiff
  389.                     [aifc] => audio/x-aiff
  390.                     [ram] => audio/x-pn-realaudio
  391.                     [rm] => audio/x-pn-realaudio
  392.                     [rpm] => audio/x-pn-realaudio-plugin
  393.                     [ra] => audio/x-realaudio
  394.                     [rv] => video/vnd.rn-realvideo
  395.                     [wav] => Array
  396.                         (
  397.                             [0] => audio/x-wav
  398.                             [1] => audio/wave
  399.                             [2] => audio/wav
  400.                         )

  401.                     [bmp] => Array
  402.                         (
  403.                             [0] => image/bmp
  404.                             [1] => image/x-windows-bmp
  405.                         )

  406.                     [gif] => image/gif
  407.                     [jpeg] => Array
  408.                         (
  409.                             [0] => image/jpeg
  410.                             [1] => image/pjpeg
  411.                         )

  412.                     [jpg] => Array
  413.                         (
  414.                             [0] => image/jpeg
  415.                             [1] => image/pjpeg
  416.                         )

  417.                     [jpe] => Array
  418.                         (
  419.                             [0] => image/jpeg
  420.                             [1] => image/pjpeg
  421.                         )

  422.                     [png] => Array
  423.                         (
  424.                             [0] => image/png
  425.                             [1] => image/x-png
  426.                         )

  427.                     [tiff] => image/tiff
  428.                     [tif] => image/tiff
  429.                     [css] => text/css
  430.                     [html] => text/html
  431.                     [htm] => text/html
  432.                     [shtml] => text/html
  433.                     [txt] => text/plain
  434.                     [text] => text/plain
  435.                     [log] => Array
  436.                         (
  437.                             [0] => text/plain
  438.                             [1] => text/x-log
  439.                         )

  440.                     [rtx] => text/richtext
  441.                     [rtf] => text/rtf
  442.                     [xml] => text/xml
  443.                     [xsl] => text/xml
  444.                     [mpeg] => video/mpeg
  445.                     [mpg] => video/mpeg
  446.                     [mpe] => video/mpeg
  447.                     [qt] => video/quicktime
  448.                     [mov] => video/quicktime
  449.                     [avi] => video/x-msvideo
  450.                     [movie] => video/x-sgi-movie
  451.                     [doc] => application/msword
  452.                     [docx] => application/vnd.openxmlformats-officedocument.wordprocessingml.document
  453.                     [xlsx] => application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
  454.                     [word] => Array
  455.                         (
  456.                             [0] => application/msword
  457.                             [1] => application/octet-stream
  458.                         )

  459.                     [xl] => application/excel
  460.                     [eml] => message/rfc822
  461.                     [json] => Array
  462.                         (
  463.                             [0] => application/json
  464.                             [1] => text/json
  465.                         )

  466.                 )

  467.             [enable_profiler:protected] =>
  468.             [_zlib_oc:protected] =>
  469.             [_profiler_sections:protected] => Array
  470.                 (
  471.                 )

  472.             [parse_exec_vars:protected] => 1
  473.         )

  474.     [Security] => CI_Security Object
  475.         (
  476.             [_xss_hash:protected] =>
  477.             [_csrf_hash:protected] => d9da26364faee11de0e2e140a16ec27d
  478.             [_csrf_expire:protected] => 7200
  479.             [_csrf_token_name:protected] => csrf_test_name
  480.             [_csrf_cookie_name:protected] => csrf_cookie_name
  481.             [_never_allowed_str:protected] => Array
  482.                 (
  483.                     [document.cookie] => [removed]
  484.                     [document.write] => [removed]
  485.                     [.parentNode] => [removed]
  486.                     [.innerHTML] => [removed]
  487.                     [window.location] => [removed]
  488.                     [-moz-binding] => [removed]
  489.                     [] => -->
  490.                     [ < ![CDATA[
  491.                     [] =>
  492.                 )

  493.             [_never_allowed_regex:protected] => Array
  494.                 (
  495.                     [javascript\s*:] => [removed]
  496.                     [expression\s*(\(|&\#40;)] => [removed]
  497.                     [vbscript\s*:] => [removed]
  498.                     [Redirect\s+302] => [removed]
  499.                 )

  500.         )

  501.     [Input] => CI_Input Object
  502.         (
  503.             [ip_address] =>
  504.             [user_agent] =>
  505.             [_allow_get_array] => 1
  506.             [_standardize_newlines] => 1
  507.             [_enable_xss] =>
  508.             [_enable_csrf] =>
  509.             [headers:protected] => Array
  510.                 (
  511.                 )

  512.             [security] => CI_Security Object
  513.                 (
  514.                     [_xss_hash:protected] =>
  515.                     [_csrf_hash:protected] => d9da26364faee11de0e2e140a16ec27d
  516.                     [_csrf_expire:protected] => 7200
  517.                     [_csrf_token_name:protected] => csrf_test_name
  518.                     [_csrf_cookie_name:protected] => csrf_cookie_name
  519.                     [_never_allowed_str:protected] => Array
  520.                         (
  521.                             [document.cookie] => [removed]
  522.                             [document.write] => [removed]
  523.                             [.parentNode] => [removed]
  524.                             [.innerHTML] => [removed]
  525.                             [window.location] => [removed]
  526.                             [-moz-binding] => [removed]
  527.                             [] => -->
  528.                             [ < ![CDATA[
  529.                             [] =>
  530.                         )

  531.                     [_never_allowed_regex:protected] => Array
  532.                         (
  533.                             [javascript\s*:] => [removed]
  534.                             [expression\s*(\(|&\#40;)] => [removed]
  535.                             [vbscript\s*:] => [removed]
  536.                             [Redirect\s+302] => [removed]
  537.                         )

  538.                 )

  539.             [uni] => CI_Utf8 Object
  540.                 (
  541.                 )

  542.         )

  543.     [Lang] => CI_Lang Object
  544.         (
  545.             [language] => Array
  546.                 (
  547.                 )

  548.             [is_loaded] => Array
  549.                 (
  550.                 )

  551.         )

  552.     [Loader] => CI_Loader Object
  553.         (
  554.             [_ci_ob_level:protected] => 1
  555.             [_ci_view_paths:protected] => Array
  556.                 (
  557.                     [application/views/] => 1
  558.                 )

  559.             [_ci_library_paths:protected] => Array
  560.                 (
  561.                     [0] => application/
  562.                     [1] => D:/wamp/www/remap/system/
  563.                 )

  564.             [_ci_model_paths:protected] => Array
  565.                 (
  566.                     [0] => application/
  567.                 )

  568.             [_ci_helper_paths:protected] => Array
  569.                 (
  570.                     [0] => application/
  571.                     [1] => D:/wamp/www/remap/system/
  572.                 )

  573.             [_base_classes:protected] => Array
  574.                 (
  575.                 )

  576.             [_ci_cached_vars:protected] => Array
  577.                 (
  578.                 )

  579.             [_ci_classes:protected] => Array
  580.                 (
  581.                 )

  582.             [_ci_loaded_files:protected] => Array
  583.                 (
  584.                 )

  585.             [_ci_models:protected] => Array
  586.                 (
  587.                 )

  588.             [_ci_helpers:protected] => Array
  589.                 (
  590.                 )

  591.             [_ci_varmap:protected] => Array
  592.                 (
  593.                     [unit_test] => unit
  594.                     [user_agent] => agent
  595.                 )

  596.         )

  597. )
复制代码

评分

参与人数 2威望 +10 收起 理由
百城易购 + 5 赞一个!
Hex + 5 很给力!

查看全部评分

发表于 2012-10-11 16:03:26 | 显示全部楼层
很给力哦,哇大大...

本版积分规则