Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.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 在应用程序子类中获取url操作_Php_Url Routing - Fatal编程技术网

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那部分你没发。你明白我的答案吗?那更重要的是要明白!