Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php类的清晰度要求请_Php_Class - Fatal编程技术网

php类的清晰度要求请

php类的清晰度要求请,php,class,Php,Class,非常基本,我知道,但我正在学习:) 所以,我有一节课: class RequestPath { private $parts = array(); public function __construct() { if (isset($_SERVER['PATH_INFO'])) { $path = (substr($_SERVER['PATH_INFO'], -1) == "/") ? substr($_SERVER['PATH_INFO'], 0

非常基本,我知道,但我正在学习:)

所以,我有一节课:

class RequestPath {
private $parts = array();
    public function __construct() {
        if (isset($_SERVER['PATH_INFO'])) {
            $path = (substr($_SERVER['PATH_INFO'], -1) == "/") ? substr($_SERVER['PATH_INFO'], 0, -1) : $_SERVER['PATH_INFO'];
        } else {
            $path = (substr($_SERVER['REQUEST_URI'], -1) == "/") ? substr($_SERVER['REQUEST_URI'], 0, -1) : $_SERVER['REQUEST_URI'];
        }
            $bits = explode("/", substr($path, 1));
            $parsed['id'] = array_shift($bits); $parsed[] = $parsed['id'];
            $parsed['type'] = array_shift($bits); $parsed[] = $parsed['type'];
            $parts_size = sizeof($bits); if ($parts_size % 2 != 0) {
            $parts_size -= 1;
        }
        for ($i = 0; $i < $parts_size; $i+=2) { $parsed[$bits[$i]] = $bits[$i+1]; $parsed[] = $bits[$i+1];
        }
        if (sizeof($bits) % 2 != 0) { $parsed[] = array_pop($bits);
        }
    $this->parts = $parsed;
    }

    public function __get($key) {
        return $this->parts[$key];
    } 
    public function __set($key, $value) {
        $this->_parts[$key] = $value;
    } 
    public function __isset($key) {
        return isset($this->_parts[$key]);
    }
}
类请求路径{
private$parts=array();
公共函数构造(){
如果(isset($\u服务器['PATH\u INFO'])){
$path=(substr($服务器['path\U INFO'],-1)=“/”)?substr($服务器['path\U INFO'],0,-1):$服务器['path\U INFO'];
}否则{
$path=(substr($服务器['REQUEST\u URI'],-1)=“/”)?substr($服务器['REQUEST\u URI'],0,-1):$服务器['REQUEST\u URI'];
}
$bits=explode(“/”,substr($path,1));
$parsed['id']=数组移位($bit);$parsed[]=$parsed['id'];
$parsed['type']=数组移位($bit);$parsed[]=$parsed['type'];
$parts\u size=sizeof($bits);if($parts\u size%2!=0){
$parts_size-=1;
}
对于($i=0;$i<$parts_size;$i+=2){$parsed[$bits[$i]]=$bits[$i+1];$parsed[]=$bits[$i+1];
}
如果(sizeof($bits)%2!=0){$parsed[]=array_pop($bits);
}
$this->parts=$parsed;
}
公共功能获取($key){
返回$this->parts[$key];
} 
公共函数集($key,$value){
$this->_parts[$key]=$value;
} 
公共功能设置($key){
返回isset($this->_parts[$key]);
}
}
从公共函数\uuuu get、\uu set和\uu isset返回数据时遇到问题

我想做的是在uu isset上运行一个简单的if语句,然后执行一些代码


有什么想法吗?

$this->\u部分中删除
\u

因为在您的代码中没有这样的变量

$this->\u部分

因为您的代码中没有这样的变量

如果我正确理解了您的问题,您想这样做吗

$path = new RequestPath();

if(isset($path["foo"])) {
    $x = 1;
} else {
    $x = 2;
}
此外,您的代码中还有一个输入错误,即_集和_集

您应该得到一个未定义的变量警告,因为您在那里编写了
->\u parts
,而不是
->parts


启用“显示错误”并将错误报告设置为至少包含
E\u通知,这样您就不会在没有注意到的情况下遇到这些问题。(在这种情况下,这没有帮助,因为uuu获取和uuu设置捕捉该呼叫,但一般来说,它可以提供建议)

如果我正确理解了您的问题,您想这样做吗

$path = new RequestPath();

if(isset($path["foo"])) {
    $x = 1;
} else {
    $x = 2;
}
此外,您的代码中还有一个输入错误,即_集和_集

您应该得到一个未定义的变量警告,因为您在那里编写了
->\u parts
,而不是
->parts


启用“显示错误”并将错误报告设置为至少包含
E\u通知,这样您就不会在没有注意到的情况下遇到这些问题。(在这种情况下,这没有帮助,因为uuu获取和uuu设置捕捉该呼叫,但一般来说,它可以提供建议)

伙计们,谢谢你们的提示,确实需要加下划线,但最终的解决方案是:

$path=newrequestpath()


伙计们,谢谢你们的提示,事实上,下划线需要去掉,但最终的解决方案是:

$path=newrequestpath()


你找到解决办法了吗?我的回答对你有帮助吗?记住接受好的答案。你找到解决办法了吗?我的回答对你有帮助吗?记住接受好的答案。你可以编辑你的问题,不需要创建“答案”。如果你的问题已经解决,请很高兴接受答案(使用复选标记),让每个人都知道你的问题已经解决,这样人们就可以关心其他问题:)你可以编辑你的问题,无需创建“答案”。如果你的问题也解决了,请很乐意接受答案(使用复选标记),让每个人都知道你的问题解决了,这样人们就可以关心其他问题:)