在PHP中使用模板的方法
好了,你可能想知道为什么你要使用FastTemplates。
·可以在几秒钟改变你的整个站点的外观
·抽象程序设计,没有垃圾HTML代码
·设计人员不需要关心全部的"模糊"代码
·令人惊讶地快
·更容易重用旧的模版(对普通的表单而说)
FastTemplate源于一个有同样名称的Perl软件包(可以在CPAN上找到)。你可以下载PHP 的版本从它的主页(本站下载地址为:http://www.phpe.net/downloads/1.shtml)。你只需要其中的一个类的文件(class.FastTemplate.php)。
让我首先解释一下在使用模板生成一个页面与简单地通过echo或print 将页面输出之间有什么不同吧。
简单地使用echo/print的方法很适合编写短的脚本,但是不能帮助你更好的组织和定制。模板在另一方面给
了你创建多国语言站点的能力,只是通过改动一个参数。他们可以促使你更关心你要做的。
在开始编码之前不要害怕思考。它可能会花费一些时间,但是这些花费会随着项目的发展对你有所回报。
那么,如何应用FastTemplate呢?首先你需要先进行一个简单地调用:
传递给它一个路径,是所有你的模板文件存放的目录。它返回一个对象,你可以用它进行参
数赋值,生成页面等等。
FastTemplate是基于这样一种假设:一个很大的页面是由很多小的部分组成的。每一个部分有一个唯一
的名字。最小的部分是赋值给这样有着唯一名字的一段正常的文本字符串。这个可以通过
$tpl->assign(NAME, "text");
?>
来完成。现在,如果你的一个模板包含{NAME},FastTemplate 就知道你
的意图了。
另外,FastTemplate需要知道你想如何调用你的模板。你需要通过传递一个相关数组(associative
array)给 define(); ?>
来给它一个提示。
以下为引用的内容:
$tpl->define(array(foo => "foo.tpl",
bar => "bar.tpl"));
?>
这些赋值将分别给foo和bar以不同的文件(名为foo.tpl和bar.tpl)。
现在你想让FastTemplate替换在模板foo中的所有{MACROS}为相应的值。通过发出命令
以下为引用的内容:
$tpl->parse(PAGECONTENT, "foo");
?>
来实现。 这个命令将把模板"foo"的内容赋给PAGECONTENT。 当然,我们还没有做完,因为模板bar中为主要的页面定义,FastTemplate需要替换其中的
{PAGECONTENT}宏。我们也需要给PAGETITLE赋值,如下所做:
以下为引用的内容:
$tpl->assign(PAGETITLE, "FooBar test");
$tpl->parse(MAIN, "bar");
?>
容易吧,不是吗?我们现在只需要把它输出: $tpl->FastPrint(MAIN);
?>
下面三个文件显示了实际练习中的更多的细节描述。我不知道在现实生活了离了这个技术应如何生活 --
你的设计者会高兴,你的老板会微笑,因为你可以在更短的时间内做更多的事情。
以下为引用的内容:
bar.tpl
{PAGETITLE}
{PAGECONTENT}
foo.tpl
很明显示什么都没做。请看{NAME}.
以下为引用的内容:
demo.php3
include "class.FastTemplate.php3";
$tpl = new FastTemplate( ".");
$tpl->define(array(foo => "foo.tpl", bar => "bar.tpl"));
$tpl->assign(NAME, "me");
$tpl->assign(PAGETITLE, "Welcome!");
$tpl->parse(PAGECONTENT, "foo");
$tpl->parse(MAIN, "bar");
$tpl->FastPrint(MAIN);
?>
创建整个表格
我也写了一个短的例子,用来演示如何通过单行模板来生成整个表格。它很有效,因为你仍然不需要直
接修改HTML文档。
我们增加一个模板的内容到一个已经定义过的唯一命名的后面来创建HTML表格。这个可以通过在调用
$tpl->parse()时,在模板名前加上一个"."来实现。 // 将模板foo的内容赋给TPL1
$tpl->parse(TPL1, "foo");
// 在TPL1后附上模板bar的内容
$tpl->parse(TPL1, ".bar");
?>
page.tpl
以下为引用的内容:
{PAGE_TITLE}
{PAGE_CONTENT}
table.tpl
以下为引用的内容:
name | size |
---|
table_row.tpl
以下为引用的内容:
yad.php3
以下为引用的内容:
include "class.FastTemplate.php3";
function InitializeTemplates() {
global $tpl;
$tpl = new FastTemplate( ".");
$tpl->define( array( page => "page.tpl",
table => "table.tpl",
table_row => "table_row.tpl" ) );
}
function ReadCurrentDirectory() {
global $tpl;
$handle = opendir( ".");
while($filename = readdir($handle)) {
$tpl->assign(FILENAME, $filename);
$tpl->assign(FILESIZE, filesize($filename));
$tpl->parse(TABLE_ROWS, ".table_row");
}
closedir($handle);
$tpl->parse(PAGE_CONTENT, "table");
}
function PrintPage($title) {
global $tpl;
$tpl->assign(PAGE_TITLE, $title);
$tpl->parse(FINAL, "page");
$tpl->FastPrint(FINAL);
}
InitializeTemplates();
ReadCurrentDirectory();
Printpage( "Yet Another Demo");
?>
速度讨论
"Ok," 你可能会说,"一切都太好了。但是它不会影响我的网站的速度吗?" www~
不,你的网站可能变得更快。一个简单的原因就是:因为你作为一个编程人员关心的是设计你的应用和编写代码,你的代码将会更有效率,处理相同的任务更容易和更快速。所以,你可能会在上面列出的为什么考虑使用FastTemplate在你的项目中的原因列表中增加另一条理由。
如果你只是想转换一个已经存在的web站点,性能上的成功可能不会被注意到。我建议在PHP中使用正则表达式缓冲,它将对这种情况有所帮助。因为FastTemplate对每一个宏都使用正则表达式,每一个正则表达式将被只编译一次并且速度上的影响可以忽略不计。

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

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

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

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

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

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

뜨거운 주제











이 기사는 투자자가 실시간 가격, 가격 차트, 거래량, 변동, 시장 깊이 및 뉴스 정보와 같은 주요 정보를 투자자에게 제공하여 투자자가 정보에 근거한 결정을 내릴 수있는 무료 디지털 자산 견적 소프트웨어 앱 및 웹 사이트를 소개합니다. 유료 소프트웨어와 비교할 때 Free Software는 무료 비용, 풍부한 기능 및 쉽게 작동하는 이점이 있습니다. 이 기사는 또한 사용자에게 올바른 시장 소프트웨어를 선택하는 방법을 안내하며, 사용자에게 데이터 소스, 정보 정확도에주의를 기울이고 과도한 의존성을 피하기 때문에 궁극적으로 투자자가 디지털 자산 시장의 트렌드를 더 잘 파악할 수 있도록 도와줍니다. 무료 시장 소프트웨어를 효율적으로 사용하는 방법을 알고 싶으십니까? 신속하게 전체 텍스트를 읽으십시오!

Gateio Exchange 앱은 공식, 제 3 자 애플리케이션 시장, 포럼 커뮤니티 및 기타 채널을 다루는 기존 버전의 채널을 다운로드합니다. 또한 기존 버전을 쉽게 얻고 새로운 버전 또는 장치 호환성을 사용하여 불편 함 문제를 해결하는 데 도움이됩니다.

Coinbase 보안 로그인 안내서 : 피싱 사이트 및 사기를 피하는 방법은 무엇입니까? 피싱과 사기는 점점 더 만연해지고 있으며 Coinbase 공식 로그인 포털에 안전하게 액세스하는 것이 중요합니다. 이 기사는 사용자가 코인베이스의 최신 공식 로그인 포털을 안전하게 찾아 사용하여 디지털 자산의 보안을 보호 할 수 있도록 실용적인 가이드를 제공합니다. 우리는 피싱 사이트를 식별하는 방법과 공식 웹 사이트, 모바일 앱 또는 신뢰할 수있는 타사 플랫폼을 통해 안전하게 로그인하는 방법을 다루고 강력한 비밀번호 사용 및 2 요인 검증 가능성과 같은 계정 보안을 향상시키기위한 제안을 제공합니다. 잘못된 로그인으로 인한 자산 손실을 피하려면이 기사를주의 깊게 읽으십시오!

Finalbosu는 놀라운 애니메이션 스타일의 아트 워크와 역동적 인 게임 플레이를 결합하여 풍부하고 진화하는 우주에 몰입하는 추상 체인을 기반으로하는 커뮤니티 중심의 NFT 프로젝트입니다. Finalbosu의 모토는 "모든 어려움을 극복"하며 홀더가 캐릭터, 스토리 라인 및 브랜드 방향의 미래를 형성 할 수 있도록하여 Web3 Gaming 및 NFT 생태계에서 자체 틈새를 개설하려고합니다. 이 프로젝트는 1.9 ETH의 기본 가격으로 원래 컬렉션으로 큰 호소력을 얻었습니다. 이제 Finalbo와 함께

이 기사는 무료 디지털 자산 시장 소프트웨어에 대한 포괄적 인 가이드를 제공하여 무료로 시장의 맥박을 파악할 수 있도록 도와줍니다. 디지털 자산 거래에서시기 적절하고 정확한 시장 데이터는 중요하지만 값 비싼 유료 소프트웨어는 많은 초보자를 낙담 시켰습니다. 다행히 많은 무료 앱과 웹 사이트는 실시간 가격 추적, 과거 데이터 검토, 거래 볼륨 모니터링 및 기타 기능을 제공하여 시장 역학을 이해하고 정보에 입각 한 결정을 내릴 수 있도록 도와줍니다. 이 기사는 자유 시장 소프트웨어의 유형, 선택 기술 및 예방 조치를 자세히 소개하여 매우 위험한 디지털 자산 시장에 안전하고 효율적으로 투자 할 수 있습니다.

이 기사는 Huobi Exchange 공식 웹 사이트의 로그인 포털에 대한 최신 정보를 제공하고 오래된 링크가 접근 불가능 또는 보안 위험으로 이어질 수 있으므로 최신 포털을 얻는 것의 중요성을 강조합니다. 이 기사는 최신 입구를 얻는 방법으로는 공식 웹 사이트 발표, Huobi 공식 고객 서비스 및 신뢰할 수있는 타사 플랫폼이 포함된다고 지적합니다. 또한이 기사는 사용자에게 도메인 이름 확인, 보안 증명서 확인, 2 요인 검증 활성화 및 Huobi Exchange를 방문 할 때 사기 정보를 조심하여 계정 보안 및 자금 보안을 보장하는 데주의를 기울 이도록 상기시킵니다. Huobi Exchange에 로그인 할 공식 채널을 선택하면 디지털 자산 거래를 안전하게 수행 할 수 있습니다.

이 기사는 Ouyi OKX Exchange의 공식 웹 사이트에 계정을 등록하고 Cryptocurrency 거래를 시작하는 방법에 대해 자세히 설명합니다. OUYI는 세계 최고의 암호 화폐 거래소로서 광범위한 거래 품종, 여러 거래 방법 및 강력한 보안 보증을 제공하며 다양한 피아트 및 암호 화폐의 편리한 철수를 지원합니다. 이 기사는 OUYI 공식 웹 사이트 등록 입력에 대한 검색 방법, 자세한 등록 단계 (이메일/모바일 등록, 정보 작성, 검증 코드 확인 등) 및 등록 후 예방 조치 (KYC 인증, 보안 설정 등)를 다루고 일반적인 질문에 대한 답변을 제공하여 초보자 사용자를 빠르고 안전하게 완료하고 Cryptocency Vourdy를 시작합니다.

아날로그 : LAYER0 블록 체인 상호 운용성 솔루션은 멀티 체인 생태계의 원활한 상호 작용을 달성합니다. 핵심 목표는 다중 체인 생태계의 조각화 문제를 해결하고 다른 블록 체인이 분산 된 일반 메시징 프레임 워크 (GMP)를 통해 완벽하게 협력 할 수 있도록하는 것입니다. 아날로그는 또한 타임 체인에서 검증 가능한 이벤트 데이터를 생성하기 위해 POT (Time Proof) 합의 메커니즘을 혁신적으로 채택하여 개발자가 새로운 세대의 이벤트 기반 애플리케이션을 구축 할 수 있도록 도와주었습니다. Anlog Token : 생태계 코어 anlog는 항문입니다
