찾다
php教程php手册php中heredoc的使用方法

php程序界有很多种模板技术和方法;但使用起来大多不太方便。 我经过思考和测试,发明了一种简单而巧妙的方法。 我的目标是:把html从php中分离出来,并且html中不包含php控制程序。 在php4中,提供了print HTML 功能。举例如下: $data=这里是内容; print H

php程序界有很多种模板技术和方法;但使用起来大多不太方便。
我经过思考和测试,发明了一种简单而巧妙的方法。

我的目标是:把html从php中分离出来,并且html中不包含php控制程序。

在php4中,提供了print

$data="这里是内容";
print $data
HTML;
?>
输出:这里是内容。
另外一方面,php中有函数eval()。它能够执行php代码。我们就结合上述
知识来建立一个通用的函数getTpl().如下:

下面是demo.php

function getTpl($tplname,$EXT='.htm')
{
extract($GLOBALS);
$path=$tplname.$EXT;
eval_r("print }

function readfn($fn)
{
$fp=fopen($fn,"rb");
return fread($fp,filesize($fn));
fclose($fp);
}

$title='这是标题';
$data='这里是内容';

getTpl('demo');

?>
下面是demo.htm



$title


$title

$data

经过这样的处理后,在demo.htm中只有php要替换的变量,而没有任何其他php的多余代码了。
这样以来,外观和程序逻辑就得以完全分离,为网站的修改和后期维护提供了方便之门!
注:以上方法分离了php和html,代表了显示和逻辑的分离。但是以失去复杂控制为代价的。

定界符
另一种给字符串定界的方法使用定界符语法(“


警告
很重要的一点必须指出,结束标识符所在的行不能包含任何其它字符,可能除了一个分号(;)之外。这尤其意味着该标识符不能被缩进,而且在分号之前和之后都不能有任何空格或制表符。同样重要的是要意识到在结束标识符之前的第一个字符必须是你的操作系统中定义的换行符。例如在 Macintosh 系统中是 \r。

如果破坏了这条规则使得结束标识符不“干净”,则它不会被视为结束标识符,PHP 将继续寻找下去。如果在这种情况下找不到合适的结束标识符,将会导致一个在脚本最后一行出现的语法错误。

不能用定界符语法初始化类成员。用其它字符串语法替代。 例子 11-3. 非法的例子

class foo {
public $bar = bar
EOT;
}
?>


定界符文本表现的就和双引号字符串一样,只是没有双引号。这意味着在定界符文本中不需要转义引号,不过仍然可以用以上列出来的转义代码。变量会被展开,但当在定界符文本中表达复杂变量时和字符串一样同样也要注意。例子 11-4. 定界符字符串例子

$str = Example of string
spanning multiple lines
using heredoc syntax.
EOD;


class foo
{
var $foo;
var $bar;

function foo()
{
$this->foo = 'Foo';
$this->bar = array('Bar1', 'Bar2', 'Bar3');
}
}

$foo = new foo();
$name = 'MyName';

echo My name is "$name". I am printing some $foo->foo.
Now, I am printing some {$foo->bar[1]}.
This should print a capital 'A': \x41
EOT;
?>

实例:

一、目录规划

phpLearn

 |----Templates

 ----index.html

 |----index.php

二、PHP文件

index.php中给变量赋值,同时包含模板

$userNum1 = '123';

include ('Templates/index.html'); //包含模板

?>

三、模板文件

index.hhtml





-----------------------






$userNum1 //浣跨

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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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