如何定义全局变量

#1 541182494

我想在文件中定义一个全局变量  然后在配置文件中 这样写
require(APP_PATH.'/model/functions.php'); 
在 functions.php 的文件中 这样定义了几个
// 可以自己定义全局变量
// 同时在模板中可以用<{$smarty.const.VE_NAME}>来用
define("lzb_NAME",'网站内容管理系统');
define("lzb_VER",'1202');

//此处就是获得程序的一些配置信息
function lzburl(){
    $configs = spClass("config");
    if ($result = $cons->findAll()){
        foreach($result as $value){
            echo "我在测试";
            //关键字
            if($value["keyname"] =="keyword"){
                $this-> $keyword = $value["contet"];
            }
            //描述
            if($value["keyname"] =="describe"){
                $this-> $describe = $value["contet"];
            }
        }
        
    }
}
在模版文件中这样调用但是 赋值的没有显示



全局赋值演示


<{$smarty.const.GLOVAR}>


<{$smarty.const.lzb_VER}>


<{$describe}>


直接赋值:<{$keyword}>




2013-02-04 19:55:08

#2 jake

1. 全局定义,手册里面写得清清楚楚。
2. $this->赋值模板,是在控制器里面,别的地方不能这样用。

2013-02-04 20:47:24

#3 541182494

明白了,手册看了,只是对那个构造函数那一块不是很明白,所以想不用构造函数 继承 的方法直接写一个全局函数,但是部分函数需要从数据库中读取,所以想法是 定义一个全局函数,在启动的时候首先运行这个方法 查询到数据 并给定义的全局函数赋值  , 这样得到全局函数。

2013-02-05 18:03:43

#4 jake

只能说继承构造函数是实现你的想法的最好方法,可以搜索一下论坛,控制器父类

2013-02-05 18:07:30

#5 541182494

jake 发表于 2013-2-4 20:47
1. 全局定义,手册里面写得清清楚楚。
2. $this->赋值模板,是在控制器里面,别的地方不能这样用。
...
手册看了,只是对那个构造函数那一块不是很明白,所以想不用构造函数 继承 的方法直接写一个全局函数,但是部分函数需要从数据库中读取,所以想法是 定义一个全局函数,在启动的时候首先运行这个方法 查询到数据 并给定义的全局函数赋值  , 这样得到全局函数。

2013-02-05 18:09:09

#6 jake

只要你的PHP代码里面,可以直接echo出来那些常量(define出来的不叫全局变量,叫常量),那么在smarty里面,就可以用$smarty.const.xxx

2013-02-05 18:23:21