ThinkPHP在Cli模式下使用模板引擎的方法

本文实例讲述了ThinkPHP在Cli模式下使用模板引擎的方法。分享给大家供大家参考。具体如下:

关于Cli模式与模版引擎,2.1中的手册是这样说明的:

Cli模式默认不使用任何模板引擎(可以自己在操作方法里面调用);

但是怎么调用,手册中没有提到。于是自己动手丰衣足食。

在介绍怎么调用之前,简单的说说什么情况可能需要用到模块引擎:

1. 利用dompdf在计划任务自动生成PDF或HTML报告
2. 计划任务发送HTML类型的邮件
3. 后台自动生成静态页面
4. 其他关于模板的后台操作

<?php
// 本文档自动生成,仅供测试运行
class IndexAction extends Action
{
 private $view;
 public function index() {
  // 导入View
  import('Think.Template.TagLib');
  import('Think.Template.ThinkTemplate');
  import('Think.Core.View');
  // 本文档自动生成,仅供测试运行
  C('CACHE_PATH',CACHE_PATH);
  $this->view = Think::instance('View');
  $this->view->assign('rows', array(array('title'=>'test',)));
  $this->view->assign('title', 'This is a title');
  $content = $this->view->fetch('Index/index.html');
  var_dump($content);
 }
}
?>

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》及《ThinkPHP常用方法总结》

希望本文所述对大家基于ThinkPHP框架的php程序设计有所帮助。

(0)

相关推荐

  • ThinkPHP 模板引擎使用详解

    ThinkPHP 内置的模板引擎来定义模板文件,以及使用加载文件.模板布局和模板继承等高级功能. 每个模板文件在执行过程中都会生成一个编译后的缓存文件,其实就是一个可以运行的 PHP 文件. 引用自 http://www.kancloud.cn/manual/thinkphp5/118122 PHP /*index/controller/example.php*/ use think\Controller; class test extends Index { public function t

  • thinkPHP模板引擎用法示例

    本文实例讲述了thinkPHP模板引擎用法.分享给大家供大家参考,具体如下: 1.if <if condition="$vo.business eq LS"> 零售 <elseif condition="$vo.business eq CY" /> 餐饮 <else /> 其他 </if> 编译后 <?php if ($vo["business"] == LS): ?>零售 <?p

  • 让ThinkPHP的模板引擎达到最佳效率的方法详解

    本文分析了让ThinkPHP的模板引擎达到最佳效率的方法.分享给大家供大家参考,具体如下: 默认情况下ThinkPHP框架系统默认使用的模板引擎是内置模板引擎.内置模板引擎支持模板文件中采用php原生态代码和模板标签的混合使用. ThinkPHP官方开发文档说,这种默认的内置模板引擎的性能是高效的,但还不是最佳的.要使模板引擎的性能达到最佳效率,就要使用PHP本身作为模板引擎. 使用PHP本身作为模板引擎其实很简单,只需在项目的配置文件Conf/config.php上配置: 'TMPL_ENGI

  • ThinkPHP模板引擎之导入资源文件方法详解

    一般而言,网页传统方式的导入外部JS和CSS等资源文件的方法是直接在模板文件使用: <script type='text/javascript' src='/Public/Js/Util/Array.js'> <link rel="stylesheet" type="text/css" href="/App/Tpl/default/Public/css/style.css" /> ThinkPHP的模板引擎提供了专门的标签

  • ThinkPHP使用smarty模板引擎的方法

    ThinkPHP支持多种php模板引擎,可以根据个人需要加以配置. 下面我们以Smarty模板引擎为例,给大家说说具体的操作流程! 首先去Smarty官网上下载一个Smarty.本站下载地址:http://www.jb51.net/codes/16086.html. 接下来解压压缩包,会有两个文件夹:demo和libs.打开libs文件夹,复制所有内容. 接下来,打开你网站根目录 下thinkphp的文件夹.里面有个vendor文件夹,这个文件夹是TP调用第三方类库用的,把刚才复制的东西全部粘贴

  • ThinkPHP在Cli模式下使用模板引擎的方法

    本文实例讲述了ThinkPHP在Cli模式下使用模板引擎的方法.分享给大家供大家参考.具体如下: 关于Cli模式与模版引擎,2.1中的手册是这样说明的: Cli模式默认不使用任何模板引擎(可以自己在操作方法里面调用): 但是怎么调用,手册中没有提到.于是自己动手丰衣足食. 在介绍怎么调用之前,简单的说说什么情况可能需要用到模块引擎: 1. 利用dompdf在计划任务自动生成PDF或HTML报告 2. 计划任务发送HTML类型的邮件 3. 后台自动生成静态页面 4. 其他关于模板的后台操作 <?p

  • php cli模式下获取参数的方法

    PHP在cli模式下接收参数有两种方法 1.使用argv数组 2.使用getopt方法 1.使用argv数组 例如:需要执行一个php,并传递三个参数(type=news, is_hot=1, limit=5) 创建test.php <?php print_r($argv); ?> 在命令行执行 php test.php news 1 5 输出: Array ( [0] => test.php [1] => news [2] => 1 [3] => 5 ) 可以看到ar

  • PHP CLI模式下的多进程应用分析

    PHP在很多时候不适合做常驻的SHELL进程, 他没有专门的gc例程, 也没有有效的内存管理途径. 所以如果用PHP做常驻SHELL, 你会经常被内存耗尽导致abort而unhappy. 而且, 如果输入数据非法, 而脚本没有检测, 导致abort, 也会让你很不开心. 那? 怎么办呢? 多进程-. 为什么呢? 优点: 1. 使用多进程, 子进程结束以后, 内核会负责回收资源 2. 使用多进程,子进程异常退出不会导致整个进程Thread退出. 父进程还有机会重建流程. 3. 一个常驻主进程, 只

  • asp.net实现在非MVC中使用Razor模板引擎的方法

    本文实例讲述了asp.net实现在非MVC中使用Razor模板引擎的方法.分享给大家供大家参考.具体分析如下: 模板引擎介绍 Razor.Nvelocity.Vtemplate,Razor一般在MVC项目中使用,这里介绍在非MVC项目中的用法. 如何在非MVC中使用Razor模板引擎 借助于开源的RazorEngine,我们可以在非asp.net mvc项目中使用Razor引擎,甚至在控制台.WinForm项目中都可以使用Razor(自己开发代码生成器) 如何使用Razor 环境搭建: ① 添加

  • ajax在兼容模式下失效的快速解决方法

    使用jQuery,用ajax实现局部刷新功能,在火狐,360急速浏览器高速模式下,ie8,9都能正常运行,但切换到兼容模式下无效,解决办法有两种关闭浏览器兼容性视图,二是引入json2.js文件 这里采用第一种,并且使用一种完美兼容性解决办法,在head头部加入 <meta http-equiv="X-UA-Compatible" content="IE=9;IE=8;IE=7;IE=EDGE"> 即可! 以上这篇ajax在兼容模式下失效的快速解决方法就

  • vm下centos7 mini版 NAT模式下配置静态IP的方法

    1.查看虚拟机的默认网关和子网掩码 a.vm菜单栏点击编辑->虚拟网络编辑器 b.选择VMnet8,点击NAT设置,查看子网掩码.网关IP 2. 修改服务器的网络配置 a. 修改主机名 hostnamectl set-hostname node01(可选) b. 编辑网卡配置 vi /etc/sysconfig/network-scripts/ifcfg-ens33 其中主要的几处参数修改为: BOOTPROTO=static 设置为静态ip ONBOOT=yes 设置开机启动网卡 IPADDR

  • 批处理模式下运行 top 命令的方法

    top 命令 是每个人都在使用的用于 监控 Linux 系统性能 的最好的命令.你可能已经知道 top 命令的绝大部分操作,除了很少的几个操作,如果我没错的话,批处理模式就是其中之一. 大部分的脚本编写者和开发人员都知道这个,因为这个操作主要就是用来编写脚本. 如果你不了解这个,不用担心,我们将在这里介绍它. 什么是 top 命令的批处理模式 批处理模式允许你将 top 命令的输出发送至其他程序或者文件中. 在这个模式中,top 命令将不会接收输入并且持续运行,直到迭代次数达到你用 -n 选项指

  • 基于SSM 集成 Freemarker模板引擎的方法

    FreeMarker简介 FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出.FreeMarker与Web容器无关,即在Web运行时,它并不知道Servlet或HTTP.它不仅可以用作表现层的实现技术,而且还可以用于生成XML,JSP或Java 文等.可以彻底的分离表现层和业务逻辑.曾经在使用JSP 开发过程中发现在页面中大量的存在业务逻辑的代码,使得页面内容凌乱,在后期大量的修改维护过程中就变得非常困难 FreeMarker的原理就是:模板+数据模型=输出,模板只

  • 为Python的Tornado框架配置使用Jinja2模板引擎的方法

    tornado 默认有一个模板引擎但是功能简单(其实我能用到的都差不多)使用起来颇为麻烦, 而jinja2语法与django模板相似所以决定使用他. 下载jinja2 还是用pip 下载(用的真是爽) pip install jinja2 这样就可以使用了. tornado与jinja2 整合 tornado和jinja2整合起来很简单(其实是网上找的比较简单), 不知道从那里找到的反正找到了,不说了直接上代码 #coding:utf-8 import tornado.web from jinj

随机推荐