thinkphp - php类中成员使用常量赋值错误

查看:119
本文介绍了thinkphp - php类中成员使用常量赋值错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

一个类中:
protected $config_file = DB_PATH . 'db.conf';
就出现了错误,php5.4版本的:
语法错误: unexpected '.', expecting ',' or ';'
但在5.6版本上没有出现错误

解决方案

这个是PHP版本支持的问题。

PHP 5.6及其以上版本是支持这样处理的。除了定义类的属性,在定义常量,设定函数或方法的默认参数等只接受静态值(static values)的地方,都支持静态表达式(static expressions),字符串拼接(.)是其中一个所支持的操作。

在之前的 PHP 版本中, 必须使用静态值来定义常量,声明属性以及指定函数参数默认值。 现在你可以使用包括数值、字符串字面量以及其他常量在内的数值表达式来 定义常量、声明属性以及设置函数参数默认值。

见:http://cn2.php.net/manual/zh/...

另外,你的老大是错的,常量是在编译时(compile time)处理的,DB_PATH在框架启动的时候肯定已经申明,应该不会没有解析

这篇关于thinkphp - php类中成员使用常量赋值错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆