这是抽象视图
<?php
abstract class Abstract_View
{
abstract function render($name);
}
?>
这是视图
class View extends Abstract_View
{
function render($name)
{
require __DIR__.'/../views/header.php';
require __DIR__.'/../views/'.$name.'.php';//jaye $name masaln miad index/index
require __DIR__.'/../views/header.php';
}
}
在我的控制器类中,我从视图类实例化到其他类,以便从控制器类继承视图类
<?php
class Controller
{
function __construct()
{
$this->view = new View();
}
}
我为索引控制器
创建了一个抽象类<?php
abstract class Abstract_Index
{
abstract function index();
}
?>
这是索引:
<?php
class Index extends Controller
{
function __construct()
{
parent::__construct();
}
public function index(){
$this->view->render('index/index');
}
}
我的问题是我必须从Controller继承使用对象视图,我必须继承表单抽象索引以及如何继承两个类,这是正确的吗?
答案 0 :(得分:0)
abstract class Abstract_Index extends Controller
class Index extends Abstract_Index
这应该有效。
同样删除构造函数,因为除了调用父构造函数之外什么都不做。缺少构造函数意味着默认情况下将调用父项。
或者,因为index()
方法是抽象的,可能只是让它成为一个接口?
<?php
interface IndexableInterface
{
public function index();
}
然后实施它。
<?php
class Index extends Controller implements IndexableInterface
{
public function index()
{
// etc
}
}