بقلم محمد نبيل (https://github.com/phpmohamednabil/)!
[Style] خفيفة الوزن محرك قالب 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')باستخدام stectes actecteDDSCENTECT
<!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يمكنك الآن إرسال بيانات من عرض إلى آخر حيث سيتم تجميعه ومثال متشددين:
@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 يمكنك استخدام backBackWithFalse ، يتم تحويله فقط للعودة كاذبة والخروج من رمز أي رمز أو HTML بعد عدم تنفيذها
بدون إيقاف الكيانات ، يمكنك طباعة رمز HTML witout الذي يهرب منه السبب الرئيسي لذلك إذا كنت ترغب في عرض محتوى منشور أو يحتوي على كتلة من رمز HTML ليتم ظهورها وتنفيذها بواسطة المتصفح ، يمكنك استخدام {$ post@} كموضح:
< div class =" blog-post-content " >
{@$posts- > post_content@}
</ div > | تعبير | وصف |
|---|---|
{$var} | لطباعة المتغير var مع الهروب من XSS |
{%$var%} | طباعة var أو أي سلسلة تفلت منها أو تصفيةها |
{@$var@} | طباعة var أو أي سلسلة دون الهروب منها أو تصفيةها |
{%var='name'} | حدد متغيرًا داخل العرض: $ var = 'name' |
{%func echo ucfirst($var)%} | قم بتنفيذ الوظيفة أو صدى كلمة الصدى أمر اختياري إذا كنت تريد صدى الوظيفة |
[comment]ww [/comment] | أي شيء بينه لن يتم تجميعه |
[php] var_dump($arr); [/php] | اكتب رمز PHP |
{%if $var>0%} | تحديد إذا كانت إحصاء |
{%else%},{%elseif%} and {%endif%} | تحديد آخر أو إحصاء elseif ويمكنك استخدام إحصاء 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 الذي يحتوي على اسم classnam |
نشرت تحت رخصة معهد ماساتشوستس للتكنولوجيا.