3

私はLithiumPHPフレームワークを調査してきましたが、それがどのように設定されるのかわかりません$this->context;特にこのレイアウトで)。

明らかに再割り当てすることはできないので、$thisこのレイアウトはある時点で含まれることになります。さらに混乱するのは$this、クラス定義の外部で使用されているという事実です。

私はしばらくPHPをコーディングしていないので、ここで私を助けてください。

4

2 に答える 2

4

私が最初に思い浮かぶのは、このテンプレートページがメソッドから呼び出されるということです。

class Viewer
{
    public $html;
    private $title;
    private $content;

    public function __construct()
    {
        $this->html = new \Utilities\HTMLBag();
    }
    public function loadView($template)
    {
        ob_start();
        include 'path/to/views/'.$template.'.php';
        $this->content = ob_get_clean();
    }
    public function title()
    {
        return $this->title;
    }
}

この時点から、インクルード$templateはViewerのクラスの任意のメソッドにアクセスできます

于 2012-11-22T10:06:45.543 に答える
2

簡単に言うと、クラスのメソッド内でinclude/requireを呼び出すことです。

ファイルA.php:

<?php
class A {
    public $test = 'Hello';

    public function xyz() {
        include 'B.php';
    }
}

ファイルB.php:

<html>
    <body><?php echo $this->test; ?></body>
</html>
于 2012-11-22T10:02:56.413 に答える