简短又甜蜜,我有一个扩展Page_Controller
的控制器,其中包含大量自定义模板功能,我想“组织”并将此功能放入其他文件中。
class BookingPage extends Page
{
}
class BookingPage_Controller extends Page_Controller
{
public function getMyTemplateVar() {}
public function MyTemplateVar2($param) {}
// x 1000~ more
}
我的问题是,有没有办法在全球范围内创建模板功能,而不仅仅是在特定的Page_Controller
内?
我的OCD适合将所有内容放在一个文件中(控制器已经是3432行)
答案 0 :(得分:0)
我设法完成了这样做:
class BookingPage extends Page {}
class BookingPage_Controller extends \MyNamespace\Template\Functionality {}
<强> \ myNameSpace对象\模板\功能强>
namespace MyNamespace\Template;
class Functionality extends \Page_Controller {
public function ExternalAPI() {
return new \MyNamespace\Rooms\ExternalRoomDataAPI();
}
}
<强> \ myNameSpace对象\房间\ ExternalRoomDataAPI 强>
namespace MyNamespace\Rooms;
class ExternalRoomDataAPI {
public function HelloWorld() {
$html = "Hello World";
return $html;
}
}
<强> MyTemplate.ss 强>
$ExternalAPI.HelloWorld
// result: Hello World
有兴趣知道是否有更简洁的方法,只要您的最终类扩展Page_Controller
或创建新对象并将其作为返回方式返回,您就可以通过字面扩展,扩展和扩展来以这种方式组织您的功能他们的方法/变量可以无限链接