¡Por Mohamed Nabil (https://github.com/phpmohamednabil/)!
[Style] es ligero, un pequeño motor de plantilla PHP que puede usar para proyectos pequeños o fines educativos.
Sienta el poder de los motores de plantilla de grandes bibliotecas en su código con uso simple y flexible y pequeño código.
Instale compositor https://github.com/composer/composer
Cree un compositor.json dentro de su carpeta de aplicación:
composer require php-mohamed-nabil/style
Cree una instancia de estilo pasando la carpeta donde se encuentran sus archivos de vista y una carpeta de caché. Renderizar una plantilla llamando al método de renderizado.
use Style Style ;
$ style = new Style ( ' template/ ' , ' template/temp/ ' );
$ style -> render ( ' page_sections ' ,[]); También puede agregar expresiones personalizadas utilizando la función addTempRole() :
$ style -> addTempRole ( ' test ' , ' ~ob ' , function ( $ capt ){
return $ capt [ 0 ]. ' ppppppppppppppppppoboobobo ' ;
});
$ style -> render ( ' page_sections ' ,[]);Que le permite usar lo siguiente en su plantilla:
here the ppppppppp : ~ob
También puede usar Vistas de extensión y usar @SPread (Parent_View_Name)
@spread('layout')Usando también @sections @addsection para enviar datos del niño a la vista de los padres
<!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
@endsectionAhora puede enviar datos de una vista a otra, ya que será compilado y codificado por ejemplo:
@hardcompile(test[] within h1:title data:"echo mt_rand(1,1000)")Resultados en 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 >
Puede enviar datos a otra vista como esta:
@hardcompile(test['name'= > $name,$title] before h1:title data:"echo mt_rand(1,1000)")Obtenga otra vista incluida en la página Ver
@display('main',['data'= > $data])en Tempales
< div class ="" >
@foreach($users as $user)
{$user- > username}
@endforeach
</ div > Ahora puede crear formulario con sus datos de entrada
[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]Salirá:
< 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}de vista como si puede usar @backwithfalse se convierte para devolver falso y salir del código cualquier código o html después de que no se ejecute
Sin detener las entidades, puede imprimir el código HTML Witout que lo escape de la razón principal si desea mostrar un contenido de publicación o tiene un bloque de código HTML que aparece y efectúa por el navegador que puede usar {@$ post@} como una exposición:
< div class =" blog-post-content " >
{@$posts- > post_content@}
</ div > | Expresión | Descripción |
|---|---|
{$var} | para imprimir el var variable var con escape contra XSS |
{%$var%} | Imprimir var o cualquier cadena escapar o filtrarlo |
{@$var@} | Imprimir var o cualquier cadena sin escapar de él o filtrarla |
{%var='name'} | Defina una variable dentro de la vista: $ var = 'nombre' |
{%func echo ucfirst($var)%} | Ejecutar la función o hacer eco de la palabra que la palabra es opcional si desea hacer eco de la función |
[comment]ww [/comment] | cualquier cosa en el medio no se compatirá |
[php] var_dump($arr); [/php] | Escribir código PHP |
{%if $var>0%} | Definir si el estebo |
{%else%},{%elseif%} and {%endif%} | Definir más o de lo contrario y puede usar el endif en el endif para finalizar la estadística |
@addsection($name) | Se usa en el diseño o la vista de los padres para implementar el contenido de la sección que se imprimirá más adelante en la vista infantil |
@spread($name) | extender la vista de los padres en la vista del niño |
@section($name) | Comience la sección en Vista infantil |
@endsection($name) | Termine la sección en Vista infantil |
@foeach | Inicie para cada bucle |
@endforeach | finalizar el para cada bucle |
@for() | Inicie el bucle for for |
@endfor | finalizar el bucle for |
@while() | Comience mientras estabilita |
@endwhile | Terminar mientras establezca |
@switch($var) | Iniciar la declaración de conmutación |
@case($name) | condición de caso Establecimiento de interruptor interior |
@break | Romper el estebo o el bucle |
@continue | Continuar con la declaración o el bucle |
@default | condición predeterminada estabilización de interruptor interior |
@backwithfalse | se convierte para devolver falso y salir del código cualquier código o html después de que no se ejecute |
@hardcompile(view_name[] before|after|within tagname:classname data:"php_code_here") | Compilación difícil de otro contenido de datos View_name e inyectar antes o después o dentro de TagName que tiene un nombre de clase que enviará datos a otra vista sobre cada exacución de esta experimentación |
Publicado bajo la licencia MIT.