热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

phphtml混写_PHP/HTML混写的四种方式总结

PHP作为一款后端语言,为了输出给浏览器让浏览器呈现出来,无可避免的要输出HTML代码,下文介绍下我用过的三种PHPHTML混编方法1、单

PHP作为一款后端语言,为了输出给浏览器让浏览器呈现出来,无可避免的要输出HTML代码,下文介绍下我用过的三种PHP/HTML混编方法

1、单/双引号包围法

这是最初级的方法了,用法就像下面这样

echo '

测试页面

';

?>

这样是最简单的一种方法了,直接用单引号包装上就行了

至于双引号和单引号的区别,就在于前者解析引号内的变量,而后者不解析引号内的变量,参看下面的例子

$Content='Hello!';

echo "$Content";

echo '
';

echo '$Content';

?>

输出

1 Hello!

2 $Content

由此可见,用双引号包围的字符串中的变量名自动解析为了变量值,而用单引号包围则依然显示变量名

这样书写的缺点有两点

1、如果输出内容中包含单/双引号将极难处理,因为PHP无法判断这个引号是属于程序的还是输出内容的,所以会报错

2、这样书写一些现代文本编辑器(如SublimeText)将无法对引号包围的输出的内容进行语法着色,如果出现一些格式问题将极难发现。图中为SublimeText3的一张截图,上面的是正常的着色,下面则是用引号包围的着色

d52bfe0b0a28eea004c42a82010712f9.png

2、使用HEREDOC/NOWDOC

HEREDOC和NOWDOC是PHP5.3开始支持的一种新特性,它允许在程序中使用一种自定义的标志符来包围文本,而HEREDOC和NOWDOC的关系就类似于双引号包围和单引号包围一样,前者解析区块内的变量,而后者不解析区块内的变量

下面介绍HEREDOC和NOWDOC的用法

$Content='Hello!';

//下面写出了一个HEREDOC,其中标识LABEL可以自定义为任何字符串,但要保证开头的标识和结尾的标识一样

echo <<

$Content

LABEL;

//结尾的方法&#xff1a;另起一行&#xff0c;打上LABEL。注意结尾的标识前面和后面不要插入任何字符&#xff0c;空格也不行

echo &#39;
&#39;;//为了演示方便换行

//NOWDOC和HEREDOC的书写方式差别在于NOWDOC的标识符需要用单引号包围

echo <<

$Content

LABEL;

//其他无异

?>

也可以参考PHP.net上的关于这两个的wiki&#xff1a;https://wiki.php.net/rfc/heredoc-with-double-quotes

用HEREDOC/NOWDOC书写极好的解决了包围引号的问题&#xff0c;但依然没有解决语法着色失效的问题

3、HTML中嵌入PHP程序块(推荐)

这是一种非常合适的办法&#xff0c;并且这种方法广泛用在了诸如WordPress模板等场合中。书写起来也较为方便&#xff0c;直接在需要输出的地方写上相关的代码就行了&#xff0c;就像下面这样

//首先在这里写好相关的调用代码

function OutputTitle(){

echo &#39;TestPage&#39;;

}

function OutputContent(){

echo &#39;Hello!&#39;;

}

//然后再下面调用相关函数就可以了

?>

我认为这种方法是在这三种方法中最好的&#xff0c;但是这样做的缺点是如果这样的代码块一多了就会严重影响程序阅读。

4、使用前端模板引擎

由于前端的重要性在整个Web开发中日益上升&#xff0c;现在前/后端工程师逐渐在分离成两个职业&#xff0c;所以说为了确保前/后端工程师能够相互配合&#xff0c;使前端开发和后端开发出来的东西对接更完美&#xff0c;逐渐催生出了一系列前端模板引擎&#xff0c;比如Smarty。使用Smarty书写的实现代码可读性非常的高&#xff0c;这使前/后端的分离也更加的高效和便捷。有兴趣的同学可以去搜索了解

以上这篇PHP/HTML混写的四种方式总结就是小编分享给大家的全部内容了&#xff0c;希望能给大家一个参考&#xff0c;也希望大家多多支持脚本之家。



推荐阅读
  • wordpress的内页悬浮选项卡功能预览及使用方法介绍
    本文介绍了wordpress的内页悬浮选项卡功能,包括功能预览和使用方法。用户可以自定义切换按钮,设置锚点信息区域,灵活多变且无需代码编辑。文章可以统一设置按钮,也可以独立设置单篇文章的按钮,滚动模式下按钮以滑动形式展示,具有条理性和锚点属性,有利于SEO。滚动效果增加了网站的互动性,让用户参与互动,同时完全兼容手机,使信息展示更清晰。 ... [详细]
  • javascript  – 概述在Firefox上无法正常工作
    我试图提出一些自定义大纲,以达到一些Web可访问性建议.但我不能用Firefox制作.这就是它在Chrome上的外观:而那个图标实际上是一个锚点.在Firefox上,它只概述了整个 ... [详细]
  • 微软发布OneNote for WordPress插件,支持一键从OneNote获取内容发布
    微软今日发布了OneNoteforWordPress插件,该插件支持从OneNote一键获取 ... [详细]
  • html和js代码互转,html转html5
    本文目录一览:1、html网页跳转javascript代码实现 ... [详细]
  • 安装WLWSupport插件组合使用WindowsLiveWriter,完美支持标签编辑,别名,摘要,上传;完全可视化。WindowsLiveWriter支持有metaweblog ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • 【MEGA DEAL】Ruby on Rails编码训练营(97%折扣)限时特惠!
    本文介绍了JCG Deals商店提供的Ruby on Rails编码训练营的超值优惠活动,现在只需29美元即可获得,原价为$1,296。Ruby on Rails是一种用于Web开发的编程语言,即使没有编程或网页设计经验,也能在几分钟内构建专业的网站。该训练营共有6门课程,包括使用Ruby on Rails进行BDD的课程,使用RSpec 3和Capybara等。限时特惠,机会难得,赶快行动吧! ... [详细]
  • 本文介绍了一些好用的搜索引擎的替代品,包括网盘搜索工具、百度网盘搜索引擎等。同时还介绍了一些笑话大全、GIF笑话图片、动态图等资源的搜索引擎。此外,还推荐了一些迅雷快传搜索和360云盘资源搜索的网盘搜索引擎。 ... [详细]
  • 如何实现JDK版本的切换功能,解决开发环境冲突问题
    本文介绍了在开发过程中遇到JDK版本冲突的情况,以及如何通过修改环境变量实现JDK版本的切换功能,解决开发环境冲突的问题。通过合理的切换环境,可以更好地进行项目开发。同时,提醒读者注意不仅限于1.7和1.8版本的转换,还要适应不同项目和个人开发习惯的需求。 ... [详细]
  • Unity3D引擎的体系结构和功能详解
    本文详细介绍了Unity3D引擎的体系结构和功能。Unity3D是一个屡获殊荣的工具,用于创建交互式3D应用程序。它由游戏引擎和编辑器组成,支持C#、Boo和JavaScript脚本编程。该引擎涵盖了声音、图形、物理和网络功能等主题。Unity编辑器具有多语言脚本编辑器和预制装配系统等特点。本文还介绍了Unity的许可证情况。Unity基本功能有限的免费,适用于PC、MAC和Web开发。其他平台或完整的功能集需要购买许可证。 ... [详细]
  • RN即ReactNative基于React框架针对移动端的跨平台框架,在学习RN前建议最好熟悉下html,css,js,当然如果比较急,那就直接上手吧,毕竟用学习前面基础的时间,R ... [详细]
  • PHP WEB项目文件夹上传下载解决方案
    PHP用超级全局变量数组$_FILES来记录文件上传相关信息的。1.file_uploadsonoff是否允许通过http方式上传文件2.max_execution_time3 ... [详细]
  • html锚点是什么详解
    web前端|html教程html,锚点,web前端-html教程学习网页知识入门的肯定是HTML,其中html的锚点到底是干吗的?企业文件微信管理系统源码下载,ubuntu学习网站 ... [详细]
  • #python没有类似于java和C#的接口类(interface),需要使用抽象类和抽象方法来实现接口功能#!usrbinenvpython#_*_coding ... [详细]
author-avatar
路过然后错过
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有