1、下载smarty模板,官方即有

2、解压即可、你会得这样的目录

除了libs文件夹其余都可以删掉(不知道有啥用)。

3、在当前目录下分别创建templates、templates_c、cache、config的文件夹,别的名字也可以,但是需要修改配置文件

4、在根目录下创建个文件夹叫啥都行,创建个php文件,将下列代码粘入其中。

require_once("libs/smarty.class.php");
$smarty=new smarty();
$smarty->template_dir="templates";//指定模板文件的路径
$smarty->compile_dir="templates_c";//指定编译的文件路径
$smarty->cache_dir="cache";//指定缓存文件路径
$smarty->config_dir="config";//指定smarty配置文件路径
$smarty->left_delimiter="<{";//指定左定界符,避免和JS冲突
$smarty->right_delimiter="}>";
$smarty->assign("name","用过框架都懂");//注册变量
$smarty->display("index.tpl");//显示模板

5、接下来,在templates文件夹下创建index.tpl的模板文件,显示变量值,内容如下

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head>
<body>
<h1><{$name}></h1>
</body>
</html>

6、运行该php文件,他绝笔会报错像这样

因配置文件路径的问题,改成这样就好了,因为不是在执行的文件不是在根目录下,所以会报这个错。

7、最基础的smarty框架就搭建完成了,主要是路径的问题会犯错误,如果是下面这样的错误

这说明引入文件没有问题但是,配置错误了像下面这样,新手很容易蒙圈。

smarty模板的基础搭建的更多相关文章

  1. smarty模板开发基础总结

    前提:1. 部署smarty模板目录:2. 编写Smarty类的子类,定制好template_dir.compile_dir.config_dir.cache_dir.left_delimiter.r ...

  2. smarty模板引擎基础(二)

    smarty模板引擎所需文件夹共可分为存放页面缓存的(cache).存放配置文件的(configs).存放模板扩充插件的(plugins).存放模板文件的(templates).存放编译后的模板文件的 ...

  3. Smarty模板的基础

    对前后端进行分离 如果要用的话,要从网上把smarty文件下载下来,才能用 smarty的核心是一个类 建一个php文件,写一个类文件 <?php class smarty { public $ ...

  4. smarty模板基础1

    smarty模板的作用可以让前端和后端分离(也就是前端的显示页面和后端的php代码). smarty模板的核心是一个类,下载好的模板中有这么几个重要的文件夹 (1)libs核心文件夹(2)int.in ...

  5. smarty模板基础2

    Smarty自带了一些内置函数,这些内置函数是Smarty模板引擎的组成部分.他们被编译成相应的内嵌PHP代码,以获得最大性能. 您创建的自定义函数不能与内置函数同名,也不必修改这些内置函数. 其中一 ...

  6. smarty模板基础3 *缓存数据*

    缓存数据,这个并不是暂存的缓存,而是写入了内存的缓存 通过一个例子来书写:缓存数据 一.书写php和html页面的基本功能 既然是用smarty模板,那么前端和后端要分开写了 (1)php页面 < ...

  7. smarty模板基础----缓存数据

    缓存数据,这个并不是暂存的缓存,而是写入了内存的缓存 通过一个例子来书写:缓存数据 一.书写php和html页面的基本功能 既然是用smarty模板,那么前端和后端要分开写了 (1)php页面 1 2 ...

  8. smarty模板引擎(一)基础知识

    一.基本概念 1.什么是mvc?     mvc是一种开发模式,核心思想是:数据的输入.数据的处理.数据显示的强制分离. 2.什么是smarty?     smarty是一个php的模板引擎.更明白的 ...

  9. 用 php 实现一个视图组件和模板引擎——基础

    只要不是做后端接口开发和一些作为守护进程之类的服务器脚本,大多数时候都是在和浏览器打交道,因此合理组织并展现 html 标签是最为常见的工作.一般大家使用框架时,都会自带有一套视图组件和模板引擎. 我 ...

随机推荐

  1. 开源搜索引擎Sphinx 中启动多个搜索进程的方法(转)

    要在同一机器上启动多个sphinx搜索进程searchd,必须为不同的进程指定不同的配置文件(sphinx.conf ),其中搜索进程的端口号不能相同,即 listen = 0.0.0.0:3312 ...

  2. RHEL 7特性说明(七):编译程序及工具

    转载自:RedHat https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/7/html/7.0_Release ...

  3. careercup-C和C++ 13.2

    13.2 浅析哈希表和STL map.对比哈希表和STL map.哈希表是怎么实现的?如果输入数据规模不大, 我们可以使用什么数据结构来代替哈希表. 解答 对比哈希表和STL map 在哈希表中,实值 ...

  4. PHP中$_POST,$_GET,$_REQUEST,$_FILES全局变量的全局指什么

    我一直担心,同一个表单,同时提交2次会发生什么事?在服务器端表单变量会不会彼此覆盖呢?也就是说假如我们在PHP中用$_REQUEST["name"]访问某个表单变量,会不会因为别人 ...

  5. Asp.Net 之 调用远程Web_Service

    一.添加web service引用 1.右键 Web 项目 → “添加服务引用”: 2.右键已有的 App_WebReferences 文件夹 → “添加服务引用”: 二.引用远程web servic ...

  6. Android View的绘制机制流程深入详解(一)

    本系列文章主要着重深入介绍Android View的绘制机制及流程,第一篇主要介绍并分析LayoutInflater的原理, 从而理解setContentView的加载原理.对于LayoutInfla ...

  7. StringBuilder 用法和div获取

    StringBuilder strHtml = new StringBuilder(); strHtml.Append("<tr>"); strHtml.Append( ...

  8. Oracle报错:ORA-01747: user.table.column, table.column 或列说明无效

    1.检查sql书写正确性 2.如果sql书写正确,则是由于数据库列名起的不好引起的,名字用到了数据库的关键字. 如果列很多,又不好确定是哪个列名使用了关键字,以下建议可供参考: 我用以下方法定位 se ...

  9. 基于ubuntu和windows连接

    对于ubuntu和centos安装软件是不一样的 对于ubuntu是  apt-get install  +软件名字 但是对于centos是 yum install +软件名字 所以ubunu远程连接 ...

  10. SQL*PLUS中批量执行SQL语句

    SQL*PLUS中批量执行SQL语句 今天由于工作的需要,要在CMD中批量执行大量的SQL语句,对于Oracle学习还处在入门阶段的我,只能硬着头皮到处去寻找资料(主要是网络资料,也包括自己的电子书) ...