codeigniter3整合smarty3

简介:
  1. 切换到ci路径下

  2. 在application/libraries创建smarty文件夹,并将解压好的Smarty库中的libs文件夹复制到Smarty文件夹中

  3. 在application/config下创建smarty.php, 代码如下:

    <?php
    if (!defined('BASEPATH')) {
        exit('No direct script access allowed');
    }
    $config['cache_lifetime'] = 60;
    $config['caching'] = false;
    $config['template_dir'] = APPPATH . 'views/templates';
    $config['compile_dir'] = APPPATH . 'views/templates_c';
    $config['cache_dir'] = APPPATH . 'views/cache';
    $config['config_dir'] = APPPATH . 'views/config';
    $config['use_sub_dirs'] = false;
    //子目录变量(是否在缓存文件夹中生成子目录)
    $config['left_delimiter'] = '{';
    $config['right_delimiter'] = '}';

  4. 在application/libraries下创建一个Ci_Smarty.php,代码如下

    <?php
    if (!defined('BASEPATH')) {
        exit('No direct script access allowed');
    }
    require_once APPPATH.'libraries/smarty/libs/Smarty.class.php';
    class Ci_Smarty extends Smarty
    {
        protected $ci;
        public function __construct()
        {
            parent::__construct();
            $this -> ci =& get_instance();
            $this -> ci -> load -> config('smarty');
            //加载smarty的配置文件
            $this -> cache_lifetime = $this -> ci -> config -> item('cache_lifetime');
            $this -> caching = $this -> ci -> config -> item('caching');
            $this -> config_dir = $this -> ci -> config -> item('config_dir');
            $this -> template_dir = $this -> ci -> config -> item('template_dir');
            $this -> compile_dir = $this -> ci -> config -> item('compile_dir');
            $this -> cache_dir = $this -> ci -> config -> item('cache_dir');
            $this -> use_sub_dirs = $this -> ci -> config -> item('use_sub_dirs');
            $this -> left_delimiter = $this -> ci -> config -> item('left_delimiter');
            $this -> right_delimiter = $this -> ci -> config -> item('right_delimiter');
        }
    }

  5. 打开application/config/autoload.php 修改

    $autoload['libraries'] = array(''); 
    改为
    $autoload['libraries'] = array('Ci_Smarty');

  6. application/core下新建一个MY_Controller.php ,代码如下:

    <?php
    class MY_controller extends CI_Controller
    {
        public function __construct()
        {
            parent::__construct();
        }
        public function assign($key, $val)
        {
            $this->ci_smarty->assign($key, $val);
        }
        public function display($html)
        {
            $this->ci_smarty->display($html);
        }
    }

  7. 在views下创建templates目录

  8. 在templates下新建一个测试模板test.tpl

    hello.world

  9. 在controllers下新建一个测试文件Pages.php继承MY_controller

    <?php
    class Pages extends MY_controller {
        public function index()
        {
            $this->display('test.tpl');
        }
    }

  10. wKiom1lbQu6iEPTvAAAoA7665nE783.jpg-wh_50

  11. 至此完成










本文转自 无心低语 51CTO博客,原文链接:http://blog.51cto.com/fengzhankui/1944428,如需转载请自行联系原作者

目录
相关文章
|
6月前
|
前端开发 PHP 数据库
PHP框架详解之Symfony框架
在现代Web开发中,PHP作为一种灵活且功能强大的编程语言,广泛应用于各种Web应用程序的开发中。为了提高开发效率、代码的可维护性和可扩展性,开发者通常会选择使用框架来构建应用程序。在众多PHP框架中,Symfony以其强大的功能和灵活性脱颖而出,成为开发者们的首选之一。本文将详细介绍Symfony框架,包括其历史、核心功能、组件、安装和使用方法,以及在实际开发中的应用案例。
57 2
|
5月前
|
设计模式 前端开发 关系型数据库
PHP框架详解 - CakePHP框架
PHP框架详解 - CakePHP框架
|
5月前
|
存储 缓存 安全
PHP框架详解 - symfony框架
PHP框架详解 - symfony框架
|
7月前
|
缓存 前端开发 PHP
【PHP开发专栏】Smarty模板引擎详解
【4月更文挑战第30天】Smarty是PHP流行的模板引擎,分离逻辑与UI,加速开发。本文分三部分解析其使用和特性:1)介绍及安装配置;2)基本使用和语法,如数据分配、模板继承、循环与条件判断;3)高级功能,包括缓存机制、插件体系和调试工具。通过学习,开发者能提升Web应用构建效率和可维护性。
139 3
|
前端开发 PHP 数据库
浅谈smarty MVC框架
这次又是项目开发遇到的问题,做一个简单的表单处理,将数据写入数据库,流程很简单,由于客户不了解php框架导致我开发用了原生php,当我交付的时候对方说需要使用mvc方式且需要使用smarty框架,这里做一下踩坑总结(由于博主并不是很熟悉这个框架,今天的分享只用于探讨和记录,若有叙述不正确的,欢迎指正)
109 0
浅谈smarty MVC框架
symfony框架Twig模板语言的使用
symfony框架Twig模板语言的使用
165 0
symfony框架Twig模板语言的使用
|
PHP 网络架构 前端开发
|
PHP 前端开发 网络架构
|
编解码 JavaScript 前端开发