Мохамед Набил (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
Вы также можете использовать Extend Views и использовать @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Теперь вы можете отправить данные из одного представления в другой, поскольку он будет скомпилирован и жестко кодируется пример:
@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])в панели
< 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 Die, вы можете использовать @backwithfalse. Он просто преобразуется для возврата false и выхода из кода любой код или HTML после его выполнения.
Без остановки сущностей вы можете распечатать html -код, ускользая от его основной причины, если вы хотите показать контент Post или иметь блок HTML -кода, который будет отображаться и вызвать браузер, вы можете использовать {@$ post@} в качестве Excample:
< div class =" blog-post-content " >
{@$posts- > post_content@}
</ div > | Выражение | Описание |
|---|---|
{$var} | Для печати переменной VAR с побегом против XSS |
{%$var%} | печать VAR или любую строку, выходящую из строки или фильтрацию |
{@$var@} | Печать VAR или любую строку, не избегая ее или фильтрации |
{%var='name'} | Определите переменную внутри представления: $ var = 'name' |
{%func echo ucfirst($var)%} | Выполните функцию или Echo Echo Word необязательно, если вы хотите повторить функцию |
[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 | Он просто преобразуется для возврата false и выхода из кода любой код или HTML после его выполнения |
@hardcompile(view_name[] before|after|within tagname:classname data:"php_code_here") | Твердый компиляция другого View_Name и внедряйте содержание данных до или после или внутри TagName, которое имеет классное имя, это отправит данные в другое представление на каждом экспериментальном положении |
Опубликовано по лицензии MIT.