//小弟自学php,对这段程序的注析不知道会不会有很多 知识错误。在这里肯请各位朋友指正。//这样做的目的 主要就是纠正自己的一些对php程序细节的误解。class WP {
var $extra_query_vars = array();
var $query_vars;
var $query_string;
var $request;
var $matched_rule;
var $matched_query;
var $did_permalink = false; function add_query_var($qv) { $this->public_query_vars[] = $qv;
}
//public_query_vars[] = $qv 这里是把数据添加到    数组: public_query_vars[] 。
//这个public_query_vars[]  事实上就是 这个类的一个属性(C++中好像是这样的。)。 
function parse_request($extra_query_vars = '') {
global $wp_rewrite; $this->query_vars = array();//这个 query_vars 也是其中的一个属性。
//把这个属性的数据类型定义为 数组。
if ( is_array($extra_query_vars) )
$this->extra_query_vars = & $extra_query_vars;
else if (! empty($extra_query_vars))
parse_str($extra_query_vars, $this->extra_query_vars); // Process PATH_INFO, REQUEST_URI, and 404 for permalinks. // Fetch the rewrite rules.

解决方案 »

  1.   

    补充这个数组:
    var $public_query_vars = array('m', 'p', 'posts', 'w', 'cat', 'withcomments', 'withoutcomments','robots');
    还有想提问一下:$this->extra_query_vars = & $extra_query_vars;这个 & 怎么理解....
      

  2.   

    注释很重要.
    你应该着重注释,每一个类的功能是什么,每一个类的属性是存储什么数据的,每一个类的成员函数是干嘛用的.而不是对一些简单操作做描述.要不然人家看你代码,会吐血的.....//public_query_vars[] = $qv 这里是把数据添加到 数组: public_query_vars[] 。
    //这个public_query_vars[] 事实上就是 这个类的一个属性(C++中好像是这样的。)。 
    --------------------------------------------------------------------------------
    比如我来看你代码.我当然知道public_query_vars是类的属性,数组类型.但是我不知道$qv是什么样的数据呀?如果刚学,推荐你用ZDE写类,比较方便./**
    *描述:这个函数是干嘛的
    *
    *@param string $qv //表明传入的$qv是字符串类型
    *
    */
    function add_query_var($qv) {$this->public_query_vars[] = $qv;
    }当然你完全可以发挥想象将注释进行到底..
     :-)
      

  3.   

    晕啊,原来是你在看别人代码,没有注释吗?没有注释别看了.....看些有注释的优良代码.
    $this->extra_query_vars = & $extra_query_vars;
    传值与传引用的区别,自己google一下吧.:-)