在Application子类中获取url操作


Get url action in Application child class

此函数位于Application class> 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_action

字段url_action应该受到保护(或者是公共的,但不建议这样做)。所以你可以在子类中使用它。

参见下面的假名代码:

In your parent:

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
   }
}