我正在尝试创建一个包含面向对象代码的 php 模板。这是我正在尝试做的一个简化示例。
索引.php
<?php require 'requiredfile.php'; ?>
<html>
<body>
<h1><?php echo $object1->variable ?></h1>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
但是如果我想对多个对象使用相同的模板怎么办?我绝对不想为对象 1、2 和 3 创建不同版本的 index.php。我假设我可以做类似的事情$this->variable并传入对象,但我不完全确定如何做到这一点因为它在该类的声明之外。
有一个很好的技巧可以做你想做的事。反转逻辑并让类调用模板:
class MyClass {
//
// add whatever properties you like here
//
public function Render(){
include ( 'mytemplate.php' );
}
}
Run Code Online (Sandbox Code Playgroud)
现在,在文件中,mytemplate.php您可以通过简单地使用$this->whatever.
这种模式很容易被不同的对象重用:
$x = new MyClass;
$x->Render();
$y = new MyClass;
$y->Render();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2971 次 |
| 最近记录: |