thinkphp的assign方法和原生php的define方法有什么区别

mlqin
  • 81

如题,这两个函数在使用和执行结果有什么区别?有没有代表性的demo?

回复
阅读 5.3k
3 个回答
✓ 已被采纳

这是两个完全不一样的方法,使用的地方不同。
define是在运行时定义一个常量。通常用在项目的配置文件或者其他全局的常量比如说项目的域名,根目录等等。

assign则是用在变量输出中;这就需要扯到MVC的设计模式,通常assign用在控制器中action display方法加载模板前面,将你需要输出到模板的变量输出。

两者没有必然的关系呀, 为什么会有这样的想法0.0

系统函数和自定义函数

lndj
  • 358

你这个没有可比性啊...
TP的assign方法是在Controller给View传值的函数。比如:

//在控制器
$this->assign('name',$name);
//在模板
{$name}

define是PHP原生的定义常量的函数

define('CONST',1);

//在其他地方就可以用了

echo CONST;//1
宣传栏