>  기사  >  php教程  >  딱정벌레에 대한 몇 가지 오해

딱정벌레에 대한 몇 가지 오해

高洛峰
高洛峰원래의
2016-11-22 15:19:071814검색

Beetl에는 문서가 부족합니다

beetl 튜토리얼과 문서를 검색하면 기본적으로 beetl 공식 웹사이트 문서와 소수의 문서만 찾을 수 있습니다. 작성자가 쓴 딱정벌레 사용법은 딱정벌레 사용자 수가 적어서 발생한 현상이라고는 생각할 수 없습니다. 이는 beetl 공식 웹사이트 문서가 잘 작성되었으며 커뮤니티에서 다양한 데모와 질문에 대한 시기적절한 답변을 제공한다는 것을 보여줍니다. JSP에 비해 Freemaker에는 루프 사용 방법에 대한 수많은 기사가 있으며 수많은 작성자가 이러한 간단한 개념을 설명하는 기사를 작성하기 위해 쉬지 않고 노력하고 있습니다. Beetl에는 그러한 기사나 비디오가 없습니다. Beetl의 구문은 JS를 기반으로 하며 원래 중국인이 개발한 것입니다.

Beetl은 jsp와 같은 a4558806285d5b7820bdaa0b90aa4d26를 사용합니다. 매우 추악합니다.

이것도 오해입니다. 사실, 딱정벌레 구분 기호는 PHP와 같은 b26da186e11666e6dd99f28d6205715c, HTML 주석과 같은 bf33294179d3c78988260bd09aed7d25 등의 기호를 허용할 수 있습니다. 또는 간단히 @는 다음 코드와 같이 캐리지 리턴 및 줄 바꿈 기호와 쌍을 이룹니다.

@ for(u in userList){
<span>${uLP.index}:
${u.name}</span>@}
Beetl의 구문은 Java와 같습니다

Beetl 구문은 javascript를 참조하므로 형태는 Java와 유사하며 이는 Beetl이기도 합니다. 학습 곡선이 낮은 이유입니다. 하지만 템플릿 언어인 Beetl은 출력에 특별히 사용되는데, 이는 Java 기반 JSP보다 훨씬 좋습니다. 예를 들어 위 코드에서 uLP는 현재 인덱스인 홀수와 변수를 얻을 수 있습니다. 행 및 기타 정보까지 루프 변수 뒤에 추가하기만 하면 됩니다. 템플릿 출력에 특별히 사용되는 LP만 추가하면 됩니다. 또한, beetl은 elsefor를 지원합니다. 위 코드는 루프 본문에 들어가지 않으므로 설명으로 elsefor를 사용할 수 있습니다.

@for(){

@}elsefor{
<span> 无记录 </span>
@}
Beetl 템플릿 언어에는 템플릿 사용자 정의를 위한 다음과 같은 기능도 있습니다.

생략된 삼항식

안전한 출력

select-case 구문

html 태그

형식화된 출력

Java 메소드 직접 호출 또는 속성

다중 레이아웃 함수

템플릿 변수

엄격한 MVC 제어

이러한 구문은 템플릿용으로 특별히 제공되며 Java와는 완전히 다릅니다

스크립트로 작성된 템플릿 언어보다는 명령형을 선호합니다.

어떤 사람들은 명령어가 적기 때문에 Velocity와 같은 명령형 템플릿 구문을 선호합니다. 그러나 복잡한 논리 렌더링을 처리할 때는 단점도 분명하며 작성하기가 더 어렵습니다. beetl은 스크립트 기반 템플릿 엔진입니다. 구문이 많을 수 있지만 JS를 기반으로 하면 복잡한 렌더링 로직을 처리하기에도 어렵지 않습니다. 명령형 템플릿 엔진의 helloworld 예제에 속지 마십시오. 멋져 보이지만 프로젝트에서 사용하면 결국 스크립팅과 동일해집니다.

템플릿 성능은 중요하지 않습니다

저도 인터넷에서 봤지만 템플릿 엔진을 최적화하는 것보다 데이터베이스 액세스를 최적화하는 것이 맞다고 생각합니다. . , 먼저 데이터베이스 액세스 및 기타 장소를 최적화하는 것을 고려할 것입니다. 그러나 이것이 최적화되면 더 나은 템플릿 엔진을 사용하여 행 성능을 향상시킬 수도 있습니다. Beetl 성능은 freemaker의 6배, JSP의 2배입니다(또한 JSP의 3배에 달하는 타사 테스트입니다. 이는 JSP가 JSTL을 너무 많이 사용하여 발생할 수 있습니다. 템플릿 엔진에는 실제로 웹 애플리케이션에서 상대적으로 리소스를 많이 소비하는 CPU 계산 및 IO 출력이 포함됩니다. 이 소모량을 줄일 수 있다면 시스템 성능 향상에도 효과적일 것이라고 생각합니다. 데이터베이스 액세스가 잘 최적화되었고 비즈니스 코드가 완벽하게 작성되었다면 더 나은 성능을 갖춘 템플릿 엔진을 사용하는 것이 어떨까요? Beetl은 이미 최고의 성능을 달성하기 위해 추가 작업을 수행할 필요가 없습니다.

더 이상 백엔드 템플릿 엔진이 중요하지 않습니다.

이제는 프론트엔드 템플릿 엔진도 점점 더 중요해지고 있다는 사실입니다. beetljs를 개발했지만 그 크기 때문에 7K, 8K 템플릿 엔진에 비해 사용하기가 너무 어려워 출시되지 않았습니다. 나중에 크기를 최적화하고 문법적 기능을 줄인 다음 적절한 실행 시간을 선택할 수 있습니다.

트렌드가 이렇다고 해도 백엔드 템플릿 엔진은 여전히 ​​장점이 있다고 생각하며, 현재에도 여전히 매우 중요합니다. 엔드 템플릿 엔진은 프런트엔드 템플릿 엔진보다 훨씬 강력합니다

백엔드 템플릿 엔진은 백엔드에 위치하여 백엔드 데이터를 쉽게 얻을 수 있지만 프런트엔드 템플릿 엔진은 최종 템플릿 엔진은 모든 데이터를 준비해야 합니다

백엔드 템플릿 엔진에는 광범위한 응용 프로그램이 있습니다. 코드 생성, 정적 페이지 생성, 이메일 전송과 같은 백엔드의 일부 템플릿 기능도 있습니다. 문자 메시지 등

대부분의 회사에서는 프론트엔드 인재가 부족합니다. 프론트엔드 템플릿 엔진을 사용하면 더 많은 사람들이 프론트엔드에 집중하게 됩니다. 기업은 이러한 변화에 대비하기 전에 프런트엔드 시뮬레이션 보드 엔진을 덜 사용하도록 노력해야 합니다

개발 효율성 측면에서 백엔드 템플릿 엔진은 수년 동안 널리 사용되어 왔기 때문에 이전보다 더 효율적이어야 합니다. 프론트엔드 템플릿 엔진

백엔드 템플릿 엔진은 SEO 최적화에 적합하지만 프론트엔드 템플릿 엔진은 어렵다

백엔드 템플릿 엔진에는 레이아웃 기능이 있다

현재 템플릿 엔진을 사용하는 올바른 방법은 프런트엔드 + 백엔드의 조합을 사용하는 것이라고 생각합니다. 물론 프런트엔드 템플릿 엔진도 이제 백엔드 시뮬레이션 엔진의 기능을 학습하고 있으며, 점점 더 완벽해질 수도 있습니다. 언젠가는 실제로 웹 애플리케이션을 지배하게 될 것입니다. 더욱이 건축 중심의 서비스와 모바일 단말이 널리 보급되면서 프론트엔드 시뮬레이션 엔진의 중요성은 점점 더 커지고 있습니다


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.