โดย Mohamed Nabil (https://github.com/phpmohamednabil/)!
[สไตล์] เป็นเครื่องยนต์เทมเพลต PHP ขนาดเล็กที่คุณสามารถใช้สำหรับโครงการขนาดเล็กหรือวัตถุประสงค์ทางการศึกษา
รู้สึกถึงพลังของเครื่องยนต์เทมเพลตของห้องสมุดขนาดใหญ่ในรหัสของคุณด้วยการใช้งานที่เรียบง่ายและยืดหยุ่นและรหัสเล็ก ๆ น้อย ๆ
ติดตั้งนักแต่งเพลง https://github.com/composer/composer
สร้าง Composer.json ภายในโฟลเดอร์แอปพลิเคชันของคุณ:
composer require php-mohamed-nabil/style
สร้างอินสแตนซ์สไตล์โดยผ่านโฟลเดอร์ที่ไฟล์มุมมองของคุณอยู่และโฟลเดอร์แคช แสดงเทมเพลตโดยเรียกใช้วิธีการเรนเดอร์
use Style Style ;
$ style = new Style ( ' template/ ' , ' template/temp/ ' );
$ style -> render ( ' page_sections ' ,[]); นอกจากนี้คุณยังสามารถเพิ่มนิพจน์ที่กำหนดเองโดยใช้ฟังก์ชัน addTempRole() :
$ style -> addTempRole ( ' test ' , ' ~ob ' , function ( $ capt ){
return $ capt [ 0 ]. ' ppppppppppppppppppoboobobo ' ;
});
$ style -> render ( ' page_sections ' ,[]);ซึ่งช่วยให้คุณสามารถใช้สิ่งต่อไปนี้ในเทมเพลตของคุณ:
here the ppppppppp : ~ob
นอกจากนี้คุณยังสามารถใช้การขยายมุมมองและใช้ @spread (parent_view_name)
@spread('layout')การใช้ @sections @Addsection เพื่อส่งข้อมูลจากเด็กไปยังมุมมองผู้ปกครอง
<!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
@endsectionตอนนี้คุณสามารถส่งข้อมูลจากมุมมองหนึ่งไปยังอีกมุมมองหนึ่งได้เนื่องจากจะรวบรวมและตัวอย่าง hardcoded:
@hardcompile(test[] within h1:title data:"echo mt_rand(1,1000)")ผลลัพธ์ใน 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 >
คุณสามารถส่งข้อมูลไปยังมุมมองอื่น ๆ เช่นนี้:
@hardcompile(test['name'= > $name,$title] before h1:title data:"echo mt_rand(1,1000)")รับมุมมองอื่น ๆ ที่รวมอยู่ในหน้าดู
@display('main',['data'= > $data])ใน tempaltes
< div class ="" >
@foreach($users as $user)
{$user- > username}
@endforeach
</ div > ตอนนี้คุณสามารถสร้างฟอร์มด้วยข้อมูลอินพุต
[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]จะส่งออก:
< 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}ในมุมมองเช่น Die คุณสามารถใช้ @backwithfalse มันได้รับการแปลงเพื่อส่งคืนเท็จและออกจากรหัสใด ๆ รหัสหรือ HTML หลังจากที่มันจะไม่ถูกดำเนินการ
โดยไม่ต้องหยุดเอนทิตีคุณสามารถพิมพ์รหัส html witout หลบหนีด้วยเหตุผลหลักของมันหากคุณต้องการแสดงเนื้อหาโพสต์หรือมีบล็อกของรหัส HTML ที่จะปรากฏและได้รับผลกระทบโดยเบราว์เซอร์คุณสามารถใช้ {@$ post@} เป็น expample:
< div class =" blog-post-content " >
{@$posts- > post_content@}
</ div > | การแสดงออก | คำอธิบาย |
|---|---|
{$var} | สำหรับการพิมพ์ตัวแปร var ด้วย การหลบหนีจาก XSS |
{%$var%} | การพิมพ์ var หรือสตริงใด ๆ ที่หลบหนีหรือกรอง |
{@$var@} | การพิมพ์ var หรือสตริงใด ๆ โดยไม่ต้อง หลบหนีหรือกรองมัน |
{%var='name'} | กำหนดตัวแปรภายในมุมมอง: $ var = 'ชื่อ' |
{%func echo ucfirst($var)%} | ดำเนินการฟังก์ชั่นหรือสะท้อน คำสะท้อนคำเป็นตัวเลือกหากคุณต้องการสะท้อนฟังก์ชั่น |
[comment]ww [/comment] | สิ่งใดในระหว่างนั้นจะไม่ถูกรวบรวม |
[php] var_dump($arr); [/php] | เขียนรหัส PHP |
{%if $var>0%} | กำหนดว่าสถิติ |
{%else%},{%elseif%} and {%endif%} | กำหนดสถิติอื่น ๆ หรืออื่น ๆ และคุณสามารถใช้สถิติ endif เพื่อจบสถิติ |
@addsection($name) | ใช้ในการจัดวางหรือมุมมองหลักเพื่อใช้เนื้อหาส่วนที่จะพิมพ์ในภายหลังในมุมมองเด็ก |
@spread($name) | ขยายมุมมองหลักในมุมมองเด็ก |
@section($name) | เริ่มต้นในมุมมองเด็ก |
@endsection($name) | จบส่วนในมุมมองเด็ก |
@foeach | เริ่มต้นสำหรับแต่ละลูป |
@endforeach | จบสำหรับแต่ละลูป |
@for() | เริ่มการวนรอบ |
@endfor | จบการวนรอบ |
@while() | เริ่มต้นในขณะที่สถิติ |
@endwhile | สิ้นสุดในขณะที่สถิติ |
@switch($var) | เริ่มสถิติสวิตช์ |
@case($name) | เงื่อนไขกรณีภายในสถิติสวิตช์ |
@break | ทำลายสถิติหรือลูป |
@continue | ดำเนินการต่อสถิติหรือวนรอบ |
@default | เงื่อนไขเริ่มต้นภายในสถิติสวิตช์ |
@backwithfalse | มันถูกแปลงเพื่อส่งคืนเท็จและออกจากรหัสใด ๆ รหัสหรือ HTML หลังจากที่มันจะไม่ถูกเรียกใช้งาน |
@hardcompile(view_name[] before|after|within tagname:classname data:"php_code_here") | การรวบรวมเนื้อหาข้อมูล View_name อื่น ๆ และการฉีดก่อนหรือหลังหรือภายใน Tagname ที่มี className ซึ่งจะส่งข้อมูลไปยังมุมมองอื่น ๆ ในทุก ๆ การทดลองนี้ |
เผยแพร่ภายใต้ใบอนุญาต MIT