Rumah pembangunan bahagian belakang tutorial php Bagaimana untuk menggunakan Blade dengan CakePHP?

Bagaimana untuk menggunakan Blade dengan CakePHP?

Jun 04, 2023 am 10:01 AM
Cara menggunakan cakephp blade

CakePHP ialah rangka kerja PHP MVC yang popular, dan Blade ialah salah satu enjin templat yang sangat popular dalam rangka kerja Laravel. Walaupun CakePHP datang dengan enjin templat yang berkuasa, kadangkala kita mungkin mahu menggunakan enjin templat lain untuk menggantikan enjin lalai.

Dalam artikel ini, saya akan memperkenalkan cara menggunakan enjin templat Blade dalam CakePHP 3, dengan harapan dapat membantu beberapa pembangun yang ingin mencuba Blade.

  1. Pasang Blade

Mula-mula, kita perlu memasang Blade, yang boleh dilakukan melalui Composer. Tambahkan dependensi pada fail composer.json dalam direktori akar projek:

{
    "require": {
        "illuminate/view": "5.8.*"
    }
}
Salin selepas log masuk

dan kemudian jalankan perintah composer update dalam terminal untuk memasang dependensi.

  1. Mengkonfigurasi CakePHP

Seterusnya, kita perlu mengkonfigurasi CakePHP untuk menggunakan enjin templat Blade. Mula-mula, tambah kod berikut dalam fail config/app.php:

'View' => [
    'className' => 'CakeViewView',
    'viewPath' => APP . 'Template/',
    'layoutPath' => APP . 'Template/Layout/',
    'templatePath' => APP . 'Template/',
    'cachePath' => CACHE . 'views/',
    'helpers' => [
        'Html',
        'Form',
        'Url'
    ],
    'useRenderCache' => false,
    'engine' => [
        'Blade' => [
            'className' => 'CakeBladeBladeEngine',
            'options' => [
                'cache_path' => TMP . 'blade_cache',
                'view_path' => APP . 'Template/',
                'auto_reload' => true
            ]
        ]
    ]
]
Salin selepas log masuk

Dalam tatasusunan konfigurasi ini, kami menentukan konfigurasi paparan CakePHP dan menambah enjin templat bernama "Blade". Dalam pilihan Blade, kami menentukan laluan cache, laluan lihat dan sama ada untuk memuat semula templat secara automatik.

Seterusnya, kita perlu menambah fail untuk mentakrifkan enjin Blade dalam src/View/BladeEngine.php.

<?php
namespace CakeBlade;

use CakeViewEngineEngine;
use IlluminateViewCompilersBladeCompiler;
use IlluminateViewEnginesCompilerEngine;
use IlluminateViewFactory;
use IlluminateViewFileViewFinder;

class BladeEngine extends Engine
{
    public $Factory;

    public function __construct($view = null, $layout = null)
    {
        parent::__construct($view, $layout);

        $config = CakeCoreConfigure::read('App');
        $viewPath = $config['Template']['templatePath'];
        $cachePath = $config['engine']['Blade']['options']['cache_path'];

        $this->Factory = new Factory(new FileViewFinder([$viewPath]), new CompilerEngine(new BladeCompiler(new Filesystem, $cachePath)));
    }

    public function render($template, $layout = null)
    {
        return $this->Factory->make($template, compact('data'))->render();
    }
}
Salin selepas log masuk

Dalam kelas ini, kami mentakrifkan kelas BladeEngine, yang mewarisi daripada kelas Enjin dalam CakePHP. Dalam pembina, kita membaca laluan pandangan menggunakan konfigurasi CakePHP dan menyerahkannya kepada pembina Blade supaya Blade boleh mencari fail templat. Selain itu, kami menambah laluan cache untuk meningkatkan prestasi. Dalam fungsi render, kami menggunakan kelas Kilang Blade untuk memaparkan templat.

  1. Buat fail templat

Sekarang kita telah selesai mengkonfigurasi dan mentakrifkan enjin Blade, kita boleh mula menulis fail templat. Dalam CakePHP, kita boleh mencipta fail templat dalam direktori src/Template/.

Sebagai contoh, kita boleh mencipta templat Blade ringkas dalam src/Template/Pages/home.blade.php:

@extends('Layout.default')

@section('content')
<div class="jumbotron">
  <h1>Welcome to CakeBlade</h1>
  <p>CakePHP 3 + Blade Template Engine.</p>
  <p><a class="btn btn-primary btn-lg" href="#" role="button">Learn more</a></p>
</div>
@endsection
Salin selepas log masuk

Dalam templat ini, kami menggunakan @extends untuk menentukan reka letak. Kandungan antara @section dan @endsection akan dimasukkan ke dalam arahan @yield('content') reka letak.

  1. Templat Rendering

Kini, kita boleh membuat templat dalam pengawal dengan memanggil enjin Blade. Sebagai contoh, tambahkan kod berikut dalam PagesController:

public function home()
{
    $this->getViewBuilder()->setClassName('CakeBlade.Blade');
    $this->set(compact('data'));
    $this->render('home');
}
Salin selepas log masuk

Sebelum memberikan templat, kita perlu menentukan kelas paparan yang digunakan. Kami kemudian menghantar data ke paparan dan menentukan nama fail templat untuk dimuatkan.

  1. Jalankan ujian

Kini kita boleh melawati halaman dalam penyemak imbas untuk melihat sama ada Blade berfungsi dengan betul. Masukkan nama fail dalam bar alamat, seperti http://localhost/cake_blade/pages/home, dan anda akan melihat templat Blade yang baru anda tulis, yang sama seperti yang kami takrifkan dalam fail templat.

Ringkasan

Dalam artikel ini, kami memperkenalkan cara menggunakan enjin templat Blade dalam CakePHP 3 untuk menggantikan enjin templat lalai. Dengan cara ini, kami boleh membangunkan aplikasi web menggunakan sintaks dan ciri berkuasa yang disediakan oleh Blade. Jika anda sedang mencari enjin templat yang kaya dengan ciri, Blade ialah pilihan yang bagus.

Atas ialah kandungan terperinci Bagaimana untuk menggunakan Blade dengan CakePHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Konfigurasi Projek CakePHP Konfigurasi Projek CakePHP Sep 10, 2024 pm 05:25 PM

Dalam bab ini, kita akan memahami Pembolehubah Persekitaran, Konfigurasi Umum, Konfigurasi Pangkalan Data dan Konfigurasi E-mel dalam CakePHP.

Bagaimana untuk menggunakan alat pembaikan DirectX? Penggunaan terperinci alat pembaikan DirectX Bagaimana untuk menggunakan alat pembaikan DirectX? Penggunaan terperinci alat pembaikan DirectX Mar 15, 2024 am 08:31 AM

Alat pembaikan DirectX ialah alat sistem profesional Fungsi utamanya adalah untuk mengesan status DirectX sistem semasa Jika keabnormalan ditemui, ia boleh dibaiki secara langsung. Mungkin terdapat ramai pengguna yang tidak tahu cara menggunakan alat pembaikan DirectX Mari kita lihat tutorial terperinci di bawah. 1. Gunakan perisian alat pembaikan untuk melakukan pengesanan pembaikan. 2. Jika ia menggesa bahawa terdapat masalah tidak normal dalam komponen C++ selepas pembaikan selesai, sila klik butang Batal dan kemudian klik bar menu Alat. 3. Klik butang Pilihan, pilih sambungan, dan klik butang Mulakan Sambungan. 4. Selepas pengembangan selesai, mengesan semula dan membaikinya. 5. Jika masalah masih tidak diselesaikan selepas operasi alat pembaikan selesai, anda boleh cuba menyahpasang dan memasang semula program yang melaporkan ralat.

CakePHP Bekerja dengan Pangkalan Data CakePHP Bekerja dengan Pangkalan Data Sep 10, 2024 pm 05:25 PM

Bekerja dengan pangkalan data dalam CakePHP adalah sangat mudah. Kami akan memahami operasi CRUD (Buat, Baca, Kemas Kini, Padam) dalam bab ini.

Pengenalan kepada kod status HTTP 525: teroka definisi dan aplikasinya Pengenalan kepada kod status HTTP 525: teroka definisi dan aplikasinya Feb 18, 2024 pm 10:12 PM

Pengenalan kepada kod status HTTP 525: Fahami definisi dan penggunaan kod status HTTP (HypertextTransferProtocol) 525 bermakna pelayan mempunyai ralat semasa proses jabat tangan SSL, mengakibatkan ketidakupayaan untuk mewujudkan sambungan selamat. Pelayan mengembalikan kod status ini apabila ralat berlaku semasa jabat tangan Keselamatan Lapisan Pengangkutan (TLS). Kod status ini termasuk dalam kategori ralat pelayan dan biasanya menunjukkan konfigurasi pelayan atau masalah persediaan. Apabila pelanggan cuba menyambung ke pelayan melalui HTTPS, pelayan tidak mempunyai

Bincangkan CakePHP Bincangkan CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP ialah rangka kerja sumber terbuka untuk PHP. Ia bertujuan untuk menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP adalah berdasarkan seni bina seperti MVC yang berkuasa dan mudah difahami. Model, Pandangan dan Pengawal gu

Pengesah Mencipta CakePHP Pengesah Mencipta CakePHP Sep 10, 2024 pm 05:26 PM

Pengesah boleh dibuat dengan menambah dua baris berikut dalam pengawal.

Tarikh dan Masa CakePHP Tarikh dan Masa CakePHP Sep 10, 2024 pm 05:27 PM

Untuk bekerja dengan tarikh dan masa dalam cakephp4, kami akan menggunakan kelas FrozenTime yang tersedia.

Penghalaan CakePHP Penghalaan CakePHP Sep 10, 2024 pm 05:25 PM

Dalam bab ini, kita akan mempelajari topik berikut yang berkaitan dengan penghalaan ?

See all articles