smarty模板引擎基础知识入门
这篇文章主要介绍了smarty模板引擎基础知识入门,较为详细的分析了smarty的基本概念并实例分析了相关的基本用法,具有一定参考借鉴价值,需要的朋友可以参考下
本文实例讲述了smarty模板引擎基础知识。分享给大家供大家参考。具体如下:
一、基本概念
1.什么是mvc?
mvc是一种开发模式,核心思想是:数据的输入、数据的处理、数据显示的强制分离。
2.什么是smarty?
smarty是一个php的模板引擎。更明确的来说,它可以帮助开发者更好的分离程序逻辑和页面显示。
3.smarty运行原理
模板文件,就是一个显示数据的模板,其中需要显示的数据用占位符代替。
smarty运行时,会读取模板文件,将模板文件中的占位符替换成真正的数据,并输出一个处理后的php文件,,交由服务器运行。
二、自己写一个smarty模板
为了更好的理解smarty模板,现在自己先写一个自己的smarty模板-minismarty,让自己更加深入的了解smarty运行原理。
1.新建项目minismarty
新建模板文件路径:templates
新建模板文件被编译后的文件路径:templates_c
新建模板文件:intro.tpl
新建运行的文件:index.php
新建自己的smarty,即处理模板的文件:cls_MiniSmarty.php
2.编写index.php文件
assign("title","hello minismarty!"); $miniSmarty->assign("content","this is content!"); //传递数据到哪个页面显示 $miniSmarty->display("intro.tpl"); ?>
3.编写intro.tpl文件
è¿éé¢çå
容æ¯ç¨å ä½ç¬¦çå½¢å¼ï¼smartyçä½ç¨å°±æ¯å°å ä½ç¬¦çå
å®¹æ¿æ¢æçæ£çæ°æ®ã
è¿æ ·å°±å¯ä»¥å®ç°æ¨¡æ¿æä»¶åæ°æ®æä»¶å¼ºå¶å离ï¼éè¿smartyè¿è¡æ°æ®çä¼ éã
4.ç¼åcls_MiniSmarty.phpæä»¶
tpl_vars[$tpl_var] = $var; //å°æ°æ®æ·»å å°æ°ç»ä¸ } } /** * æ¾ç¤ºæ°æ® * åæ°1ï¼æ¾ç¤ºå°åªä¸ªæ¨¡æ¿æä»¶ä¸ */ function display($tpl_file) { //è·å¾æ¨¡æ¿æä»¶çè·¯å¾ $tpl_file_path = $this->template_dir . $tpl_file; //è·å¾æ¨¡æ¿æä»¶è¢«ç¼è¯åçæä»¶è·¯å¾ $compile_file_path = $this->templates_c_dir . "com_" . $tpl_file . ".php"; //夿æä»¶æ¯å¦åå¨ if (!file_exists($tpl_file_path)) { return false; } //ä¸ç¨æ¯æ¬¡é½çæç¼è¯æä»¶,åªæç¼è¯æä»¶ä¸åå¨æè æ¨¡æ¿æä»¶è¢«ä¿®æ¹äºæçææ°çç¼è¯æä»¶ //ç¸å½äºç¼åäºç¼è¯æä»¶ //filemtime彿°ï¼è·å¾æä»¶ççææ¶é´ if (!file_exists($compile_file_path) || filemtime($tpl_file_path) > filemtime($compile_file_path)) { //è¯»åæ¨¡æ¿æä»¶çå 容 $fpl_file_content = file_get_contents($tpl_file_path); $newStr = myReplace($fpl_file_content); //å°æ¿æ¢åçåç¬¦ä¸²çææ°çæä»¶ï¼ä¹å°±æ¯ç¼è¯åçæä»¶ file_put_contents($compile_file_path, $newStr); } //å¼å ¥ç¼è¯åçæä»¶ include $compile_file_path; } /** * å¯¹æ¨¡æ¿æä»¶ä¸çå 容è¿è¡æ¿æ¢ï¼è·å¾æ°çå符串 */ function myReplace($fpl_file_content) { $pattern = array ( '/\{\s*\$([a-zA-Z_][a-zA-Z0-9_]*)\s*\}/i' ); $replace = array ( 'tpl_vars["${1}"] ?>' ); $newStr = preg_replace($pattern, $replace, $fpl_file_content); return $newStr; } } ?>
preg_replaceæ¹æ³ä»ç»ï¼
åæ°1ï¼æ¿æ¢çè§å
åæ°2ï¼æ¿æ¢æçå
容
åæ°3ï¼æ¿æ¢æä½çå
容
5.è¿è¡ç»æ
æ é¢åå 容齿¾ç¤ºåºæ¥äº:
ç»è®ºï¼
çæ£è¿è¡çæä»¶ï¼æ¢ä¸æ¯index.phpï¼ä¹ä¸æ¯intro.phpï¼èæ¯äºè
éè¿smartyä½ç¨åçæä»¶:
com_intro.tpl.phpãè¿ä¸ªæä»¶ä¸æ°æ®æ¥æºäºindex.phpï¼æ¾ç¤ºçå¸å±æ¥èªintro.tplï¼ä¸é´çæ¡¥æ¢æ¯smartyã
smartyçä½ç¨æ¯æ¥åæ°æ®ãå¡«å
æ°æ®ï¼æ¿æ¢æ¨¡æ¿ä¸çå ä½ç¬¦ï¼ãå¹¶å è½½æ¿æ¢åçæä»¶ã
ä¸ã讲解smarty使ç¨ç»è
1.å¦ä½é ç½®smarty?
è§£ååï¼å°libsæä»¶å¤¹æ·è´å°é¡¹ç®ç®å½ä¸å³å¯ï¼ç¶ååå建2个æä»¶å¤¹templatesåtemplates_cï¼å嫿¾æ¨¡æ¿æä»¶å模æ¿ç¼è¯åæä»¶ã
2.使ç¨smarty注æäºé¡¹
â æ¿æ¢åéçæ ç¤ºç¬¦ã
å 为é»è®¤ç表示符æ¯{}è¿ä¸ªåstyleæ ·å¼ä¸ç{}åçå²çªï¼æä»¥éè¦ä¿®æ¹ä¸ä¸é»è®¤çæ è¯ç¬¦ï¼ä¸è¬ä¿®æ¹ä¸ºï¼{}
â¡ä¿®æ¹æ è¯ç¬¦çæ¹æ³ã
æ¹æ³ä¸ï¼ç´æ¥ä¿®æ¹smartyç±»æºç ï¼ä¸æ¨èã
æ¹æ³äºï¼ä½¿ç¨smartyæä¾çæ¹æ³è¿è¡ä¿®æ¹ã
$smarty->left_delimiter="{right_delimiter=">}";
â¢smartyçä¸äºåºæ¬é
ç½®
$smarty->template_dir="./templates";//模æ¿è·¯å¾ $smarty->compile_dir="./templates_c";//ç¼è¯è·¯å¾ $smarty->caching=false; //æ¯å¦ä½¿ç¨ç¼å $smarty->cache_dir="./smarty_cache";//å¦æä½¿ç¨ç¼åçè¯ï¼ç¼åçè·¯å¾
3.smartyæ¨¡æ¿ææ¯åé åéçç»èé®é¢
ä¸å¥è¯ï¼å¯ä»¥åé
phpæ¯æçåç§æ°æ®ã
phpåºæ¬æ°æ®ï¼int double string bool
å¤åæ°æ®ç±»åï¼array object
ç¹æ®æ°æ®ç±»åï¼resource null
å¸ææ¬ææè¿°å¯¹å¤§å®¶çphpç¨åºè®¾è®¡ææå¸®å©ã

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

최근 몇 년 동안 PHP 프로그래밍의 템플릿 엔진은 PHP 개발의 중요한 부분이 되어 프로그래머가 페이지를 보다 쉽게 개발하고 관리할 수 있게 되었습니다. 이 기사에서는 PHP 프로그래밍의 일반적인 템플릿 엔진을 소개합니다. SmartySmarty는 일반적으로 사용되는 PHP 템플릿 엔진으로 캐시된 템플릿, 플러그인 모듈 및 사용자 정의 기능과 같은 일련의 기능을 지원합니다. Smarty의 구문은 매우 유연하며 PHP 변수를 HTML 태그와 결합하는 문제를 해결하여 PHP 언어를 템플릿 디자인에 더 적합하게 만듭니다. 게다가 S

ThinkPHP6 템플릿 엔진 사용 가이드: 정교한 프런트 엔드 인터페이스 만들기 소개: 웹 애플리케이션이 개발되면서 프런트 엔드 인터페이스의 디자인과 개발이 점점 더 중요해지고 있습니다. 개발자로서 우리는 프런트엔드 인터페이스를 생성하고 관리하는 데 도움이 되는 강력한 템플릿 엔진을 사용해야 합니다. ThinkPHP6의 템플릿 엔진은 이러한 요구를 충족시키는 강력한 도구입니다. 이 기사에서는 ThinkPHP6 템플릿 엔진을 사용하여 아름다운 프런트 엔드 인터페이스를 만드는 방법을 소개합니다. 1부: ThinkPHP6 템플릿 엔진 설치

Fat-Free Framework는 웹 애플리케이션 구축을 위한 간단하고 유연한 도구를 제공하도록 설계된 경량 PHP 프레임워크입니다. 여기에는 라우팅, 데이터베이스 액세스, 캐싱 등과 같은 많은 유용한 기능이 포함되어 있습니다. Fat-Free 프레임워크에서 블레이드 템플릿 엔진을 사용하면 템플릿을 보다 편리하게 관리하고 렌더링하는 데 도움이 될 수 있습니다. Blade는 강력한 구문과 템플릿 상속 기능을 제공하는 Laravel 프레임워크의 템플릿 엔진입니다. 이 글에서는 Fat-Free 프레임워크에서 Bl을 사용하는 방법을 보여드리겠습니다.

JavaScript 개발에서 템플릿 엔진 선택 및 사용에 대한 경험 공유 소개: 최신 프런트 엔드 개발에서 템플릿 엔진(TemplateEngine)은 중요한 역할을 합니다. 이를 통해 개발자는 대량의 동적 데이터를 보다 효율적으로 구성하고 관리할 수 있으며 인터페이스 표시에서 데이터를 효과적으로 분리할 수 있습니다. 동시에 적절한 템플릿 엔진을 선택하면 개발자에게 더 나은 개발 경험과 성능 최적화를 가져올 수도 있습니다. 하지만 수많은 JavaScript 템플릿 엔진 중에서 어떤 것을 선택해야 할까요? 잡다

인터넷 기술의 발달로 웹 애플리케이션에 대한 수요도 증가하고 있습니다. 웹 개발자는 종종 템플릿 엔진을 사용하여 동적 웹 페이지를 생성합니다. 이 기사에서는 새로운 템플릿 엔진인 Go 언어 템플릿 엔진을 살펴보겠습니다. Go 언어 템플릿 엔진이란 무엇입니까? Go 언어는 Google이 개발한 고급 프로그래밍 언어입니다. 구문이 간결하고 명확하여 쉽게 배우고 사용할 수 있습니다. Go 언어 템플릿 엔진은 Go 언어로 HTML 템플릿을 생성하는 데 사용되는 템플릿 시스템입니다. Go 언어 템플릿 엔진을 "표준 라이브러리"라고 합니다.

PHP 및 CGI 템플릿 엔진: 웹사이트 재사용성을 달성하는 방법 소개: 웹사이트를 개발할 때 동적 콘텐츠 표시를 처리해야 하는 경우가 많습니다. 코드 유지 관리성과 재사용성을 달성하려면 템플릿 엔진을 사용하는 것이 현명한 선택입니다. 이 기사에서는 일반적으로 사용되는 두 가지 템플릿 엔진인 PHP와 CGI를 소개하고 코드 예제를 통해 이를 사용하여 웹 사이트 재사용성을 달성하는 방법을 보여줍니다. 1. PHP 템플릿 엔진 PHP는 유연성과 강력한 기능을 갖춘 널리 사용되는 서버 스크립팅 언어입니다. PHP 템플릿 엔진은

Golang 템플릿 엔진 시작 가이드: Golang에서 템플릿을 사용하는 방법, 특정 코드 예제가 필요합니다. 소개: 템플릿 엔진은 데이터와 템플릿을 결합하고 HTML, 텍스트 또는 기타 형식의 문서를 생성할 수 있는 도구입니다. Golang에서는 내장된 템플릿 패키지(html/template)를 사용하여 템플릿 엔진의 기능을 구현할 수 있습니다. 이 기사에서는 Golang에서 템플릿 엔진을 사용하는 방법을 자세히 소개하고 구체적인 코드 예제를 제공합니다. 1. 템플릿 엔진의 기본 개념은 사용 방법을 이해하는 것입니다.

오늘날 웹사이트 개발은 중요한 구성 요소 템플릿 엔진과 분리될 수 없습니다. 템플릿 엔진은 페이지 템플릿과 데이터를 결합하여 특정 형식의 HTML 코드를 생성하는 도구를 말합니다. 다양한 웹사이트 개발 프레임워크에서 템플릿 엔진은 코드 중복을 크게 줄이고 페이지의 역동성을 향상시킬 수 있기 때문에 필수적인 구성 요소입니다. 가장 일반적이고 널리 사용되는 템플릿 엔진 중 하나는 Smarty입니다. Smarty는 DSL(DomainSpecif
