Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menggunakan Smarty dengan CakePHP?

Bagaimana untuk menggunakan Smarty dengan CakePHP?

PHPz
PHPzasal
2023-06-03 15:10:501017semak imbas

CakePHP ialah rangka kerja PHP sumber terbuka yang menyediakan ciri dan alatan yang kaya untuk mempercepatkan pembangunan aplikasi web. Salah satu ciri yang berkuasa ialah enjin templat. Secara lalai, CakePHP menggunakan sintaks asli PHP untuk pemaparan paparan. Walau bagaimanapun, kadangkala kita mungkin mahu menggunakan enjin templat lain, seperti Smarty. Artikel ini akan memperkenalkan cara menggunakan Smarty dalam CakePHP.

1. Apakah itu Smarty?

Smarty ialah rangka kerja PHP berasaskan templat yang membenarkan pengasingan kod PHP dan teg HTML, dengan itu meningkatkan kebolehbacaan dan kebolehselenggaraan templat. Ia menyediakan pelbagai fungsi, seperti penggantian pembolehubah, pernyataan bersyarat, pernyataan gelung, dll., untuk menjadikan fail templat lebih fleksibel dan dinamik.

2. Bagaimana untuk menggunakan Smarty dalam CakePHP?

1. Pasang Smarty

Mula-mula, anda perlu menambah Smarty pada folder vendor CakePHP. Smarty boleh dipasang melalui Komposer, atau memuat turun terus kod sumbernya dan meletakkannya dalam folder yang betul.

2. Konfigurasikan Smarty

Dalam CakePHP, anda perlu mengedit fail app/Config/bootstrap.php untuk mengkonfigurasi Smarty. Tambahkan kod berikut untuk mendaftar Smarty:

App::import('Vendor', 'Smarty/Smarty');

Configure::write('Smarty', array(
' template_dir' => 'Lihat' ' => 'tmp' . 'smarty' > 'caching' => 0,
'force_compile' => 0
));

Kod ini menambah laluan folder Smarty ke laluan folder dan mentakrifkan apa yang Smarty perlukan Pelbagai pilihan konfigurasi digunakan, seperti folder templat, folder kompilasi, folder cache, pemisah kiri dan kanan, sama ada untuk mendayakan caching, dsb.

3. Cipta fail paparan Smarty

Dalam folder apl/Lihat, cipta subfolder bernama Smarty untuk menyimpan fail templat Smarty. Dalam folder Smarty, buat fail bernama layout.tpl sebagai fail susun atur utama dan tambah kod berikut pada fail templat:

100db36a723c770d327fc0aef2ce13b1

93f0f5c25f18dab9d176bd4f6de5d30e

< ; title>{$title|default:'Apl Saya'}6e916e0f7d1e588d4f442bf645aedb2f

9c3bca370b5104690d9ef395f2c5f8d1

6c04bd5ca3fcae76e30b72ad730ca86d

845bc0347d2f48a149098cc22d7a5f95

  {* Display main content *}
  {$content}

16b28748ea4df4d9c2150843fecfba68
36cc49f0c466276486e50c850b7e4956
73a6ac4ed44ffec12cee46588e518a5e

Fail templat ini menggunakan sintaks Smarty untuk mengeluarkan pembolehubah dan templat reka letak, dan dalam teg tajuk A lalai nilai digunakan dalam .


4. Memaparkan paparan dalam pengawal

Untuk menggunakan Smarty dalam pengawal, anda perlu memuatkan kelas Smarty dan menggunakannya untuk menjadikan templat ke dalam HTML. Dalam pengawal CakePHP, anda boleh menggunakan kod berikut untuk memuatkan kelas Smarty, menyediakan fail susun atur, menetapkan pembolehubah dan memaparkan templat:

App::import('Vendor', 'Smarty/Smarty' );

kelas MyController memanjangkan AppController {

public $layout = "Smarty/layout.tpl";

public $viewClass = 'Smarty';

public $helpers = array('Html ', 'Borang' );

indeks fungsi awam() {

  $this->set('title', 'My App');
  $this->set('content', '<p>Hello, Smarty!</p>');

}
}

Pengawal ini menggunakan kelas pemapar Smarty untuk memaparkan templat dan menetapkan fail susun atur dan tetapkan pembolehubah yang diperlukan untuk membuat templat.

5. Jalankan aplikasi

Apabila mengakses aplikasi melalui penyemak imbas, anda mesti memanggil kaedah pengawal dan memaparkan paparan melalui penghala CakePHP. Ini akan memastikan bahawa CakePHP boleh mengendalikan pelbagai permintaan dan data dengan betul sebelum memberikan kod HTML.

Selain itu, anda juga perlu memberi perhatian kepada isu laluan. Smarty memerlukan fail templat dirujuk dengan betul dalam pengawal agar reka letak dan pembolehubah dapat dipaparkan dengan betul. Oleh itu, pastikan anda menggunakan laluan relatif atau mutlak semasa menentukan laluan templat.

3. Kesimpulan

Menggunakan Smarty dalam CakePHP adalah sangat mudah. Dengan menambahkan Smarty pada folder vendor, mengedit fail bootstrap.php, mencipta fail templat Smarty, menetapkan dan memaparkan templat dalam pengawal, anda boleh dengan mudah memanfaatkan kuasa Smarty untuk menyediakan pemaparan paparan yang lebih baik dan lebih fleksibel untuk aplikasi web anda .

Atas ialah kandungan terperinci Bagaimana untuk menggunakan Smarty dengan CakePHP?. 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