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