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이제 컴파일 및 하드 코딩 된 예제이므로 한보기에서 다른보기로 데이터를 보낼 수 있습니다.
@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}다이와 같은보기 @backwithfalse를 사용할 수 있습니다. 거짓을 반환하고 코드에서 종료되도록 변환됩니다.
엔티티를 중지하지 않고 HTML 코드를 인쇄 할 수 있습니다. 게시물 컨텐츠를 표시하려고하거나 브라우저에서 나타날 HTML 코드 블록이 있으면 주된 이유를 피할 수 있습니다.
< div class =" blog-post-content " >
{@$posts- > post_content@}
</ div > | 표현 | 설명 |
|---|---|
{$var} | XSS에 대한 탈출 로 변수 var를 인쇄합니다 |
{%$var%} | 인쇄 var 또는 모든 스트링을 탈출하거나 필터링합니다 |
{@$var@} | var 또는 끈을 피하거나 필터링 하지 않고 인쇄합니다. |
{%var='name'} | 보기 내부의 변수 정의 : $ var = 'name' |
{%func echo ucfirst($var)%} | 함수를 실행하거나 Echo It Echo Word는 기능을 반영하려면 선택 사항입니다. |
[comment]ww [/comment] | 그 사이에있는 것은 그것을 컴파일되지 않습니다 |
[php] var_dump($arr); [/php] | PHP 코드를 작성하십시오 |
{%if $var>0%} | 진술을 정의하십시오 |
{%else%},{%elseif%} and {%endif%} | Else 또는 Elseif 문장을 정의하면 Endif 문을 사용하여 문을 종료 할 수 있습니다. |
@addsection($name) | 레이아웃 또는 부모보기에 사용하여 하위보기에서 나중에 인쇄 될 섹션 컨텐츠를 구현합니다. |
@spread($name) | 어린이보기에서 부모보기를 확장하십시오 |
@section($name) | 어린이보기에서 섹션을 시작하십시오 |
@endsection($name) | 어린이보기에서 섹션을 끝내십시오 |
@foeach | 각 루프마다 시작하십시오 |
@endforeach | 각 루프마다 종료하십시오 |
@for() | for loop을 시작하십시오 |
@endfor | for 루프를 종료하십시오 |
@while() | 진술 중에 시작하십시오 |
@endwhile | 진술 중에 끝납니다 |
@switch($var) | 스위치 진술을 시작하십시오 |
@case($name) | 스위치 진술 내부의 사례 조건 |
@break | 문자 나 루프를 깨십시오 |
@continue | 진술 또는 루프를 계속하십시오 |
@default | 스위치 진단 내부의 기본 조건 |
@backwithfalse | 거짓을 반환하고 코드에서 종료되도록 변환됩니다. |
@hardcompile(view_name[] before|after|within tagname:classname data:"php_code_here") | 하드 컴파일 기타 view_name 및 데이터 컨텐츠를 클래스 이름을 가진 태그 이름 내에 또는 그 후 또는 주입하는이 실험의 모든 예외에 대한 다른보기로 데이터를 보냅니다. |
MIT 라이센스에 따라 게시 됨.