Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah CakePHP melaksanakan pewarisan templat?

Bagaimanakah CakePHP melaksanakan pewarisan templat?

WBOY
WBOYasal
2023-06-05 09:51:061157semak imbas

Dengan pembangunan aplikasi web yang berterusan, semakin banyak rangka kerja sumber terbuka telah muncul dalam pandangan kami, antaranya CakePHP merupakan salah satu rangka kerja PHP yang telah menarik perhatian ramai. Dalam CakePHP, pewarisan templat ialah teknologi yang sangat biasa digunakan, yang boleh membantu kami menyusun halaman dengan lebih baik dan mengurangkan penulisan kod berulang. Jadi, bagaimanakah CakePHP melaksanakan pewarisan templat?

1. Konsep pewarisan templat

Pewarisan templat ialah teknologi yang menggunakan paparan atau templat induk pada subtonton atau templat. Melalui teknologi ini, kami boleh mengekstrak kandungan biasa dalam halaman, menyusunnya menjadi paparan induk dan merujuk paparan induk dalam subview. Ini memudahkan kami mengurus dan menyelenggara halaman, dan juga mengurangkan penulisan kod berlebihan.

2. Pelaksanaan pewarisan templat dalam CakePHP

CakePHP menyediakan enjin templat yang berkuasa dan fleksibel berdasarkan PHP dan menyokong pewarisan templat. Mari terangkan cara melaksanakan warisan templat dalam CakePHP.

  1. Buat paparan induk

Pertama, kita perlu mencipta pandangan induk. Paparan induk biasanya mengandungi kandungan awam yang diperlukan oleh setiap halaman, seperti navigasi kepala tapak web, hak cipta bawah dan maklumat lain.

Buat fail default.ctp baharu dalam direktori 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>
  1. Buat subview

Dalam direktori app/View/, buat fail demo.ctp baharu sebagai subview. Dalam fail demo.ctp, kita hanya perlu menulis kandungan halaman yang berbeza daripada paparan induk.

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

<h2>这是子视图页面内容</h2>
<p>这是一个CakePHP模板继承的示例</p>

Di bahagian atas subview, kami menggunakan $this->extend('default') untuk merujuk kepada pandangan induk, supaya subview mewarisi reka letak dan struktur pandangan induk. Pada masa yang sama, kita boleh menggunakan $this->assign('title', '这是子视图页面标题') untuk lulus tajuk halaman.

Dalam bahagian kandungan subview, kita boleh menulis kandungan halaman yang berbeza daripada paparan induk, dan kandungan ini akan menggantikan ruang letak yang sepadan dalam paparan induk. Contohnya, dalam fail demo.ctp di atas, kami menggunakan tag c1a436a314ed609750bd7c7d319db4da dan e388a4556c0f65e1904146cc1a846bee untuk menulis kandungan halaman subview.

  1. Merender halaman

Sekarang kami telah mencipta paparan induk dan subview, kami boleh menggunakan CakePHP untuk memaparkan halaman. Dalam pengawal, kita boleh menggunakan $this->render('demo') atau $this->render('/Controller/demo') untuk memaparkan subview demo.ctp.

class DemoController extends AppController
{
    public function index()
    {
        $this->render('demo');
    }
}

Apabila kami mengakses fungsi indeks, CakePHP akan secara automatik memaparkan subview demo.ctp dan membenamkannya ke dalam paparan induk default.ctp.

3. Ringkasan

Dalam artikel ini, kami mempelajari beberapa pengetahuan asas tentang warisan templat dalam CakePHP, termasuk membuat paparan induk, mencipta subview dan halaman rendering. Pewarisan templat ialah teknologi yang sangat biasa digunakan, yang boleh membantu kami menyusun halaman dengan lebih baik dan mengurangkan penulisan kod berulang. Apabila membangun dengan CakePHP, warisan templat juga merupakan teknologi yang sangat berguna yang boleh membantu kami mengurus dan menyelenggara halaman dengan lebih mudah.

Atas ialah kandungan terperinci Bagaimanakah CakePHP melaksanakan pewarisan templat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn