Oleh Mohamed Nabil (https://github.com/phpmohamednabil/)!
[Gaya] ringan mesin template PHP kecil yang dapat Anda gunakan untuk proyek kecil atau tujuan pendidikan.
Rasakan kekuatan mesin template perpustakaan besar dalam kode Anda dengan penggunaan sederhana dan fleksibel dan kode kecil.
Instal komposer https://github.com/composer/composer
Buat composer.json di dalam folder aplikasi Anda:
composer require php-mohamed-nabil/style
Buat instance gaya dengan melewatinya folder tempat file tampilan Anda berada, dan folder cache. Render template dengan memanggil metode render.
use Style Style ;
$ style = new Style ( ' template/ ' , ' template/temp/ ' );
$ style -> render ( ' page_sections ' ,[]); Anda juga dapat menambahkan ekspresi khusus menggunakan fungsi addTempRole() :
$ style -> addTempRole ( ' test ' , ' ~ob ' , function ( $ capt ){
return $ capt [ 0 ]. ' ppppppppppppppppppoboobobo ' ;
});
$ style -> render ( ' page_sections ' ,[]);Yang memungkinkan Anda menggunakan yang berikut di templat Anda:
here the ppppppppp : ~ob
Anda juga dapat menggunakan Extand Views dan menggunakan @spread (parent_view_name)
@spread('layout')Menggunakan juga @Sections @addsection untuk mengirim data dari anak ke tampilan orang tua
<!DOCTYPE html >
< html >
< head >
< meta charset =" utf-8 " >
< meta name =" viewport " content =" width=device-width, initial-scale=1 " >
< title > layout page </ title >
</ head >
< body >
< p class =" yield " >
<!-- this will yield data and print it here form child view -->
@addsection('content')
</ p >
</ html > @spread('layout')
<!-- add data to the main view and render show it -->
@section('content')
My first paragraph in parent view
@endsectionAnda sekarang dapat mengirim data dari satu tampilan ke yang lain karena akan dikompilasi dan contoh hardcoded:
@hardcompile(test[] within h1:title data:"echo mt_rand(1,1000)")Hasil dalam test.stl.php
<!DOCTYPE html >
< html >
< head >
< meta charset =" utf-8 " >
< meta name =" viewport " content =" width=device-width, initial-scale=1 " >
< title > Test </ title >
</ head >
< body >
< h1 class =" title " >
681 <!-- this a random number hardcoded by main view -->
</ h1 >
Anda dapat mengirim data ke tampilan lain seperti ini:
@hardcompile(test['name'= > $name,$title] before h1:title data:"echo mt_rand(1,1000)")Dapatkan tampilan lain termasuk dalam halaman tampilan
@display('main',['data'= > $data])dalam tempalte
< div class ="" >
@foreach($users as $user)
{$user- > username}
@endforeach
</ div > Anda sekarang dapat membuat formulir dengan data inputnya
[php]
print Style Style:: form ( ' / ' ,[
' method ' => ' post ' ,
' enctype ' => ' multipart/form-data ' ,
' id ' => ' first-form '
])-> formInput ( ' username ' ,[ ' class ' => ' form-control ' , ' type ' => ' text ' ])-> formInput ( ' password ' ,[ ' class ' => ' form-control ' , ' type ' => ' password ' ])-> formInput ( ' file ' ,[ ' class ' => ' form-input-file ' , ' type ' => ' file ' ])-> renderForm ();
[/php]akan output:
< form action =" / " method =" post " enctype =" multipart/form-data " id =" first-form " >
< input name =" username " class =" form-control " type =" text " >
< input name =" password " class =" form-control " type =" password " >
< input name =" file " class =" form-input-file " type =" file " >
</ form >{$var_name}Tampilan seperti mati Anda dapat menggunakan @BackWithFalse itu hanya dikonversi untuk mengembalikan False dan keluar dari kode kode apa pun atau HTML setelah tidak akan dieksekusi
Tanpa penghentian entitas, Anda dapat mencetak kode html dengan melarikan diri dari alasan utama jika Anda ingin menampilkan konten posting atau memiliki blok kode HTML untuk muncul dan dilakukan oleh browser yang dapat Anda gunakan {@$ Post@} sebagai ekspampel:
< div class =" blog-post-content " >
{@$posts- > post_content@}
</ div > | Ekspresi | Keterangan |
|---|---|
{$var} | untuk mencetak variabel var dengan melarikan diri terhadap xss |
{%$var%} | mencetak var atau string apa pun yang melarikan diri atau memfilternya |
{@$var@} | mencetak var atau string apa pun tanpa melarikan diri atau memfilternya |
{%var='name'} | Tentukan variabel di dalam tampilan: $ var = 'name' |
{%func echo ucfirst($var)%} | jalankan fungsi atau gema itu kata echo adalah opsional jika Anda ingin menggemakan fungsi |
[comment]ww [/comment] | apa pun di antaranya tidak akan dipadatkan |
[php] var_dump($arr); [/php] | Tulis kode PHP |
{%if $var>0%} | Tentukan jika statmen |
{%else%},{%elseif%} and {%endif%} | Definisikan statmen lain atau ELSEIF dan Anda dapat menggunakan statmen endif untuk mengakhiri statmen |
@addsection($name) | digunakan dalam tata letak atau tampilan orang tua untuk mengimplementasikan konten bagian yang akan dicetak nanti dalam tampilan anak |
@spread($name) | Perpanjang tampilan orang tua di tampilan anak |
@section($name) | Mulai bagian dalam tampilan anak |
@endsection($name) | Akhiri bagian dalam tampilan anak |
@foeach | Mulailah untuk setiap loop |
@endforeach | akhiri untuk setiap loop |
@for() | Mulai loop untuk |
@endfor | akhiri loop untuk |
@while() | Mulai saat statmen |
@endwhile | berakhir saat statmen |
@switch($var) | Mulai statmen sakelar |
@case($name) | kondisi kasus di dalam statmen sakelar |
@break | Hancurkan statmen atau loop |
@continue | Lanjutkan statmen atau loop |
@default | kondisi default di dalam statmen sakelar |
@backwithfalse | itu baru saja dikonversi untuk mengembalikan false dan keluar dari kode kode apa pun atau html setelah tidak akan dieksekusi |
@hardcompile(view_name[] before|after|within tagname:classname data:"php_code_here") | Sulit menyusun view_name lain dan menyuntikkan konten data sebelum atau sesudah atau di dalam tagname yang memiliki classname Ini akan mengirim data ke tampilan lain di setiap eksak dari percobaan ini |
Diterbitkan di bawah lisensi MIT.