Php 在应用程序子类中获取url操作
此函数位于Php 在应用程序子类中获取url操作,php,url-routing,Php,Url Routing,此函数位于应用程序类>mvc>php中 private function splitUrl() { if (isset($_GET['url'])) { // split URL $url = trim($_GET['url'], '/'); $url = filter_var($url, FILTER_SANITIZE_URL); $url = explode('/', $url); $this->
应用程序类>mvc>php中
private function splitUrl()
{
if (isset($_GET['url'])) {
// split URL
$url = trim($_GET['url'], '/');
$url = filter_var($url, FILTER_SANITIZE_URL);
$url = explode('/', $url);
$this->url_controller = isset($url[0]) ? $url[0] : null;
$this->url_action = isset($url[1]) ? $url[1] : null;
unset($url[0], $url[1]);
$this->url_params = array_values($url);
}
}
新编辑
我有这门课
class Page extends Controller
{
public function __construct(){
//echo parent::splitUrl()->this->url_action;
echo parent::$this->url_action;
}
public function index()
{
// removed lins
}
}
如何在扩展函数中获取$this->url\u操作?
字段url\u操作应受到保护(或公开,但不建议这样做)。所以您可以在子类中使用它
请参见下面的伪NIEM代码:
在您的家长中:
class Foo
{
protected $url_action = 'something'; // or set it via setter
}
儿童班:
class FooChild extends Foo // Now, child can access protected (and public) fields of its parent!
{
public function getFromParent()
{
return $this->url_action; // or what you want
}
}
字段url_操作应受到保护(或公开,但不建议这样做)。所以您可以在子类中使用它
请参见下面的伪NIEM代码:
在您的家长中:
class Foo
{
protected $url_action = 'something'; // or set it via setter
}
儿童班:
class FooChild extends Foo // Now, child can access protected (and public) fields of its parent!
{
public function getFromParent()
{
return $this->url_action; // or what you want
}
}
您能否显示如何/在何处声明url\u action()
方法?$this->url\u action=isset($url[1])$url[1]:空@iam解码器这是当前的动作!在里面mvc@Jessica不,我简短地说,这门课已经被编辑过了!您能否显示如何/在何处声明url\u action()
方法?$this->url\u action=isset($url[1])$url[1]:空@iam解码器这是当前的动作!在里面mvc@Jessica不,我简短地说,这门课已经被编辑过了@丹尼尔德兹鲁尼·亨利的解决方案是正确的;您是否将变量声明的修饰符从public
更改为protected
?另外,请删除echo语句中的$this->
部分。@danialdezzouni理解原则对您来说很重要。这就是我添加示例代码的原因。确保父级中有受保护的变量。否则:发布您的父类代码。我发现问题:(父类为控制器非应用程序:D@danialdezfooli你没有发布那部分内容。你明白我的答案吗?这更重要的是要理解!@Danialdezzouni Henri的解决方案是正确的;你是否将变量声明的修饰符从public
更改为protected
?另外,删除$this->
echo语句的一部分。@DanialDezzouni了解原理对您很重要。这就是我添加示例代码的原因。请确保您的父类中有受保护的变量。否则:发布父类代码。我发现问题:(父类为控制器非应用程序:D@danialdezfooli那部分你没发。你明白我的答案吗?那更重要的是要明白!