免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 5392 | 回复: 20
打印 上一主题 下一主题

global 也能定义对象吗?。。。google不到啊。 指点一下小弟。。。。。。。。。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-08-30 09:31 |只看该作者 |倒序浏览
<?php
class WP {
        var $public_query_vars = array('m', 'p', 'posts', 'w', 'cat', 'withcomments', 'withoutcomments', 's',

'search', 'exact', 'sentence', 'debug', 'calendar', 'page', 'paged', 'more', 'tb', 'pb', 'author', 'order', 'orderby', 'year',

'monthnum', 'day', 'hour', 'minute', 'second', 'name', 'category_name', 'feed', 'author_name', 'static', 'pagename', 'page_id',

'error', 'comments_popup', 'attachment', 'attachment_id', 'subpost', 'subpost_id', 'preview', 'robots');

        var $private_query_vars = array('offset', 'posts_per_page', 'posts_per_archive_page', 'what_to_show', 'showposts', 'nopaging', 'post_type');
        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;
       }

//*query_vars 这个属性 是用来查询数据库用的。。
//add 方法也是用来 添加 查询数据库的属性的。。。

        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;


//对extra_query_vars 属性 赋值。。。。


                else if (! empty($extra_query_vars))
                        parse_str($extra_query_vars, $this->extra_query_vars);

//判断是否空值,--》把extra_query_vars 拆解。

// Process PATH_INFO, REQUEST_URI, and 404 for permalinks.  //处理 PATH_INFO, REQUEST_URI,404 。

// Fetch the rewrite rules.  //获取 rewrite rule。。。。

                $rewrite = $wp_rewrite->wp_rewrite_rules();  //wp_rewritebu没有被定义为不是对象。。。怎么回事呢。。。?
________________________________________________________________________________________________________

//不定义直接 用一个属性 did_permalink ,并且数据类型为:boolean。

                if (! empty($rewrite)) {
                        // If we match a rewrite rule, this will be cleared.
                        $error = '404';
                        $this->did_permalink = true;

//路径问题。
                        if ( isset($_SERVER['PATH_INFO']) )
                                $pathinfo = $_SERVER['PATH_INFO'];
                        else
                                $pathinfo = '';
                        $pathinfo_array = explode('?', $pathinfo);
                        $pathinfo = str_replace("%", "%25", $pathinfo_array[0]);
                        $req_uri = $_SERVER['REQUEST_URI'];
                        $req_uri_array = explode('?', $req_uri);
                        $req_uri = $req_uri_array[0];
                        $self = $_SERVER['PHP_SELF'];
                        $home_path = parse_url(get_option('home'));
                        if ( isset($home_path['path']) )
                                $home_path = $home_path['path'];
                        else
                                $home_path = '';
                        $home_path = trim($home_path, '/');



                        // Trim path info from the end and the leading home path from the          修整 路径的后面部分和从父路径部分,
                        // front.  For path info requests, this leaves us with the requesting      对于路径信息的请求,留下了请求的文件名。
                        // filename, if any.  For 404 requests, this leaves us with the                  对于 404 ,留下链接的信息。
                        // requested permalink.


                        $req_uri = str_replace($pathinfo, '', $req_uri);
                        $req_uri = trim($req_uri, '/');
                        $req_uri = preg_replace("|^$home_path|", '', $req_uri);
                        $req_uri = trim($req_uri, '/');
                        $pathinfo = trim($pathinfo, '/');
                        $pathinfo = preg_replace("|^$home_path|", '', $pathinfo);
                        $pathinfo = trim($pathinfo, '/');
                        $self = trim($self, '/');
                        $self = preg_replace("|^$home_path|", '', $self);
                        $self = str_replace($home_path, '', $self);
                        $self = trim($self, '/');



                        // The requested permalink is in $pathinfo for path info requests and  对于path info请求,请求的链接在$pathinfo,对于other请求,请求的链接在$req_uri.

                        //  $req_uri for other requests.

                        if ( ! empty($pathinfo) && !preg_match('|^.*' . $wp_rewrite->index . '$|', $pathinfo) ) //。。。。。。。。。。。。。正则表达式的函数

                     {
                                $request = $pathinfo;
                        } else
               
                    {
              
                     // If the request uri is the index, blank it out so that we don't try to match it against a rule.//如果请求的uri是索引的话,那么我们就删除他,避免和规则匹配。

                                if ( $req_uri == $wp_rewrite->index )  //不解。。。。。$wp_rewrite不是对象。。。怎么的。。。
________________________________________________________________________________________________________
                                        $req_uri = '';

                                $request = $req_uri;
                     }
.
.
.
.
.
.
.

加线的部分都是不懂的了,请朋友们为小弟指点一下了。。。

[ 本帖最后由 je1024 于 2007-8-30 15:02 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-08-30 10:11 |只看该作者
把你用来打标题里那么多点的时间用来看手册
你就会看懂了

论坛徽章:
0
3 [报告]
发表于 2007-08-30 10:26 |只看该作者
谁说不是对象。

global进来的。

论坛徽章:
0
4 [报告]
发表于 2007-08-30 10:32 |只看该作者
谢谢楼上的朋友了,。。。

论坛徽章:
0
5 [报告]
发表于 2007-08-30 10:37 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
6 [报告]
发表于 2007-08-30 10:43 |只看该作者
手册里面我找了这个问题。。。可是。。。找不到 global 能定义对象的啊。。。。

论坛徽章:
0
7 [报告]
发表于 2007-08-30 14:38 |只看该作者
原帖由 coolsail 于 2007-8-30 10:37 发表
是不是对象var_dump看看就知了.



这个是wordpress 的博客,应该不会有错的。。。只是我找不到它在那里定义了。。。。

对象属性和变量可以不定义,但是对象本身不能不定义的。。。。应该。。。。


global 好像没有定义对象的能力的。。。。小弟还没有 百度和google到

论坛徽章:
0
8 [报告]
发表于 2007-08-30 21:20 |只看该作者
????

论坛徽章:
0
9 [报告]
发表于 2007-08-30 22:06 |只看该作者
这个变量也许是在其它文件定义的。可以查看 require 的文件。或者用文件搜索这个变量的名字。还有请认真读手册关于 global 的意思。还有,这类手册相关问题应该送分。

论坛徽章:
0
10 [报告]
发表于 2007-08-30 22:35 |只看该作者
也是也是。。。但是global 的内容就可以查到这个问题了么。。。

也是文件的调用问题啊。。。。









应该不是文件的调用啊。。。。。

因为这个文件是 classes.php 是类的集合。。根本没有出现过文件的调用。。。

不同其他的例子。。。就算不是直接调用。。。也是文件的循环调用。。。

这里确实不是文件的调用。。。。

还有怎么楼上的朋友都说的这么简单。。。

但是到这里了还没有一个大致的答案。。。


首先是  james.liu (永远23的J.L) 。。。说是 global 就已经定义了对象。。。但是网上又没有这个说法。。。。

再是 dz902    (FreeBSD/Ruby/Solaris/Java ...)  大天使 说是文件的调用。。。,但是这个文件根本就没有文件的调用问题。。。

这个问题真的是很简单吗?

小弟迷惑啊。。。。

[ 本帖最后由 je1024 于 2007-8-31 10:30 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP