Heim > Backend-Entwicklung > PHP-Tutorial > Wie führt CakePHP die Vorlagenvererbung durch?

Wie führt CakePHP die Vorlagenvererbung durch?

WBOY
Freigeben: 2023-06-05 09:52:01
Original
1162 Leute haben es durchsucht
<p>Mit der kontinuierlichen Entwicklung von Webanwendungen sind immer mehr Open-Source-Frameworks in unser Blickfeld geraten, darunter CakePHP, eines der PHP-Frameworks, das viel Aufmerksamkeit erregt hat. In CakePHP ist die Vorlagenvererbung eine sehr häufig verwendete Technologie, die uns dabei helfen kann, Seiten besser zu organisieren und das wiederholte Schreiben von Code zu reduzieren. Wie führt CakePHP also die Vorlagenvererbung durch?

<p>1. Das Konzept der Vorlagenvererbung

<p>Vorlagenvererbung ist eine Technologie, die eine Masteransicht oder Vorlage auf eine Unteransicht oder Vorlage anwendet. Durch diese Technologie können wir den gemeinsamen Inhalt der Seite extrahieren, ihn in einer Masteransicht organisieren und in den Unteransichten auf die Masteransicht verweisen. Dies erleichtert uns die Verwaltung und Pflege von Seiten und reduziert außerdem das Schreiben von redundantem Code.

<p>2. Implementierung der Template-Vererbung in CakePHP

<p>CakePHP bietet eine leistungsstarke und flexible Template-Engine auf Basis von PHP und unterstützt die Template-Vererbung. Als nächstes erklären wir, wie man die Vorlagenvererbung in CakePHP implementiert.

  1. Erstellen Sie eine Masteransicht
<p>Zuerst müssen wir eine Masteransicht erstellen. Die Masteransicht enthält im Allgemeinen öffentliche Inhalte, die für jede Seite erforderlich sind, z. B. die Kopfnavigation der Website, das Urheberrecht am unteren Rand und andere Informationen.

<p>Erstellen Sie eine neue Datei default.ctp im Verzeichnis app/View/Layouts/.

<html>
    <head>
        <title><?php echo $this->fetch('title'); ?></title>
    </head>
    <body>
        <header>
            <h1>CakePHP模板继承示例</h1>
            <nav>
                <ul>
                    <li><a href="#">首页</a></li>
                    <li><a href="#">关于我们</a></li>
                    <li><a href="#">联系我们</a></li>
                </ul>
            </nav>
        </header>
        <div id="content">
            <?php echo $this->fetch('content'); ?>
        </div>
        <footer>
            <p>&copy;2019 CakePHP模板继承示例</p>
        </footer>
    </body>
</html>
Nach dem Login kopieren
  1. Erstellen Sie eine Unteransicht
<p>Erstellen Sie im Verzeichnis app/View/ eine neue demo.ctp-Datei als Unteransicht. In die Datei demo.ctp müssen wir nur den Seiteninhalt schreiben, der sich von der Masteransicht unterscheidet.

<?php $this->extend('default'); ?>
<?php $this->assign('title', '这是子视图页面标题'); ?>

<h2>这是子视图页面内容</h2>
<p>这是一个CakePHP模板继承的示例</p>
Nach dem Login kopieren
<p>Oben in der Unteransicht verwenden wir $this->extend('default'), um auf die Masteransicht zu verweisen, sodass die Unteransicht das Layout und die Struktur der Masteransicht erbt. Gleichzeitig können wir $this->assign('title', 'This is the subview page title') verwenden, um den Seitentitel zu übergeben. $this->extend('default') 来引用母版视图,这样就让子视图继承了母版视图的布局和结构。同时,我们可以使用 $this->assign('title', '这是子视图页面标题')来传递页面标题。

<p>在子视图的内容部分,我们可以写入与母版视图不同的页面内容,这些内容会替换母版视图中相应的占位符。比如在上面的demo.ctp文件中,我们用 <h2><p> 标签写入了子视图页面的内容。

  1. 渲染页面
<p>现在,我们已经创建了母版视图和子视图,可以使用CakePHP来渲染页面了。在控制器中,我们可以使用 $this->render('demo') 或者 $this->render('/Controller/demo')

Im Inhaltsbereich der Unteransicht können wir Seiteninhalte schreiben, die sich von der Masteransicht unterscheiden, und diese Inhalte ersetzen die entsprechenden Platzhalter in der Masteransicht. In der obigen Datei demo.ctp verwenden wir beispielsweise die Tags <h2> und <p>, um den Inhalt der Unteransichtsseite zu schreiben. <p>

    Rendern der Seite<p>

    <p>Da wir nun die Hauptansicht und die Unteransichten erstellt haben, können wir CakePHP zum Rendern der Seite verwenden. Im Controller können wir $this->render('demo') oder $this->render('/Controller/demo') verwenden, um die Demo zu rendern .ctp-Unteransicht.

    class DemoController extends AppController
    {
        public function index()
        {
            $this->render('demo');
        }
    }
    Nach dem Login kopieren
    🎜Wenn wir auf die Indexfunktion zugreifen, rendert CakePHP automatisch die Unteransicht demo.ctp und bettet sie in die Masteransicht default.ctp ein. 🎜🎜3. Zusammenfassung🎜🎜In diesem Artikel haben wir einige Grundkenntnisse über die Vorlagenvererbung in CakePHP gelernt, einschließlich der Erstellung von Masteransichten, der Erstellung von Unteransichten und dem Rendern von Seiten usw. Die Vorlagenvererbung ist eine sehr häufig verwendete Technologie, die uns dabei helfen kann, Seiten besser zu organisieren und das wiederholte Schreiben von Code zu reduzieren. Bei der Entwicklung mit CakePHP ist die Vorlagenvererbung auch eine sehr nützliche Technologie, die uns dabei helfen kann, Seiten bequemer zu verwalten und zu pflegen. 🎜

    Das obige ist der detaillierte Inhalt vonWie führt CakePHP die Vorlagenvererbung durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage