用模板技术实现PHP代码和HMTL代码分离

 

1、模板的由来
在没有模板技术之前,使用PHP开发程序,通常都是php代码和html混编在一起。比如说新闻列表,很可能就是一个newslist.php页面,结构如下:
<?
//从数据库中读取出要显示的新闻记录
?>
<html>
<head>……..
</head>
<body>
<?
While ($news = mysql_fetch_array($result)) {
?>
<!--输出新闻标题 -- >
<?
}
?>
</body>
</html>
那么这样有什么问题呢?首先,不利于分工合作。一般来说,都会由程序员来写代码,美工人员设计页面。那么在这种方式中,程序员必须等待美工人员把界面设计好才能开始工作。也就是说程序员和美工的工作是不能同步的。其次、不利于维护,可维护性差。比如说程序固定后,要修改界面,那么必须由美工修改后,程序员再重新添加。最后,程序结构混乱,可读性差。HTML和PHP混编在一起,一旦程序一多,就会变的非常的凌乱。
理解模板原理——使用PHP标签的模板技术
模板技术正是为了解决这些问题而出现的,为了解决这些问题,最早出现的是使用php标签的模板技术。
首先,我们要明白模板的目的是什么。模板主要要实现几个任务呢?第一、美工和程序的分离。更确切的说法是获取数据和显示数据的分离。第二、分工。良好的分工合作。
比如说新闻列表,如果使用模板,我们就可以把新闻列表的操作分成两部分:
1、 getnews.php 负责从数据库中读取数据到数组$news中,不关心$news是如何显示的。
2、 Shownews.php 负责把$news数组输出成HTML页面。而它不需要理会$news是从哪里来的。
好,这样,我们就实现了美工和程序的分离,达到了我们的初步目的,但是如何把这两个页面联合起来,并实现listnews.php的功能呢?
这就需要另外一个页面listnews.php,来负责把“美工(显示数据)”和“程序员(获取数据)”连接起来。应该说这个页面就是很简单了。
假设getnews.php的代码如下:
<?
$news =“新闻列表”;//实际中应该是从数据库中读取出来的。
?>
Shownesw.php的代码如下:
<html>
<head>
<title>显示新闻</title>
</head>
<body>
<?=$news?>
</body>
</html>
那么,这个联合页面listnews.php的代码就很简单了
<?
Include(‘getnews.php');//获取数据
Include(‘shownesw.php');//显示数据
?>
总结
使用PHP标签的模板系统,能够很好的实现美工和程序的分离,同时方便程序员和美工人员的分工合作,比如在上面的例子中shownews.php由美工人员来维护,getnews.php由程序人员来维护。而listnews.php就可以由系统设计人员来维护了。当然这中间需要增加一些约定的文档。
事实上,这个简单的例子也说明了最基本的MVC模型。其中M,模型,也就是负责读取数据,相当于我们的getnews.php。V,就是试图,用来显示数据,也就对应了shownews.php。最后是控制器C,对应我们的listnews.php
学习解释性模板技术——PHPLIB
Phplib的模板系统以小巧灵活、方便简单的特点赢得了很多phper的喜欢,在模板技术中占有一定的地位,它和fasttemplate之类的模板引擎都属于解释性模板技术。
在具体讲解phplib的使用之前,先说明为什么使用php标签的模板系统要继续改进。其实,这主要还是因为PHP标签对美工人员来说不方便。他们更加喜欢直接使用这种可视化的标签,比如{title}。
首先,我们自己把之前我们那个例子修改成使用可视化的标签来处理。第一步,把shownews.php改成shownews.tpl,里面的php标签换成可视化的标签,shownews.tpl的代码如下:
<html>
<head>
<title>显示新闻</title>
</head>
<body>
{title}
</body>
</html>
第二步,如何实现listnews.php的效果呢?其实很简单,我只要直接把{title}替换成不就可以了吗?所以,修改后的listnews.php的代码如下:
<?
Include('getnews.php');//获取数据
echo str_replace('{title}',$news,file_get_contents('shownews.tpl'))
?>
其实phplib的原理正是这样!比如说我们要使用phplib来实现上面功能,我们只需要修改listnews.php.修改后代码如下:
<?
Include('getnews.php');//获取数据
include('template.class.php');
$t=new Template();
$t->set_file(‘shownesw,'shownews.tpl');
$t->set_var('news',$news);
$t->parse('out', ‘shownesw');
$t->p('out');
?>
另外关于phplib的区域,大家可以去查阅相应的手册。

phplib官方网站:http://sourceforge.net/projects/phplib/files/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用如下方式在 PHP 模板中引入 Vue.js 文件: 1. 在 PHP 模板的 head 标签内引入 Vue.js 文件,例如: ``` <head> <script src="/path/to/vue.js"></script> </head> ``` 2. 使用 PHPinclude 或 require 语句引入 Vue.js 文件,例如: ``` <?php include '/path/to/vue.js'; ?> ``` 3. 将 Vue.js 文件的内容直接嵌入 PHP 模板中,例如: ``` <head> <script> <?php $vue_js_content = file_get_contents('/path/to/vue.js'); echo $vue_js_content; ?> </script> </head> ``` 注意,在使用 Vue.js 的时候,需要注意 Vue.js 与 PHP 之间的输入输出顺序,以及 Vue.js 与 PHP 之间的数据传输方式。 ### 回答2: 在PHP模板中引入Vue.js文件的方法如下: 1. 首先,下载Vue.js文件。可以从Vue.js官方网站(https://cn.vuejs.org/)上下载最新版本的Vue.js文件。 2. 将Vue.js文件保存到你的项目目录中。通常情况下,将Vue.js文件保存在项目的“js”或“assets”目录下是一个好的做法。 3. 在PHP模板中添加代码来引入Vue.js文件。可以使用`<script>`标签来引入外部JavaScript文件,例如: ```php <script src="js/vue.js"></script> ``` 其中,"js/vue.js"是Vue.js文件的相对路径。根据实际情况,可能需要调整路径。 4. 引入Vue.js文件后,就可以在PHP模板中使用Vue.js来实现前端交互了。根据Vue.js的语法和API,可以创建Vue实例、定义数据模型、编写模板等。 5. 最后,将PHP模板渲染到浏览器端时,确保Vue.js文件已被正确加载。可以通过查看浏览器开发者工具中的控制台和网络选项卡来检查Vue.js文件是否已成功加载。 如果需要在PHP模板中使用Vue.js的组件或插件,还需要按照相应的文档和示例进行引入和使用。需要注意的是,PHP模板和Vue.js是前后端分离的,它们运行在不同的环境中,因此在引入Vue.js文件时可能需要注意路径和前后端交互的问题。 ### 回答3: 在 PHP 模板中引入 Vue.js 文件可以通过以下步骤实现。 首先,确保在文件系统中已经下载了 Vue.js 文件。这可以通过访问 Vue.js 的官方网站 https://vuejs.org/ ,然后下载 Vue.js 的压缩文件或者使用 CDN 进行引入。 一旦你拥有了 Vue.js 文件,可以将其存放在你的 PHP 项目文件夹的合适位置,比如在项目的根目录创建一个名为 `js` 的文件夹。 然后,在你的 PHP 模板文件中,使用 `script` 标签引入 Vue.js 文件。可以在你的 HTML 标签内通过使用 PHP 代码来动态生成路径进而引入 Vue.js 文件: ``` <script src="<?php echo $project_path ?>/js/vue.js"></script> ``` 其中,`$project_path` 是一个变量,它保存了你 PHP 项目的路径。你可以根据你的项目结构和需要来设置这个变量的值。 确保在引入 Vue.js 文件之前,`<script>` 标签位于模板文件的适当位置,通常是在 `</head>` 标签之前或者 `</body>` 标签之前。 完成上述步骤后,你的 PHP 模板就成功地引入了 Vue.js 文件。现在,你可以在模板中使用 Vue.js 的功能来构建交互式的前端部分了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值