为什么会报这样的错,很奇怪

#1 jeffrey_shou

// 定义APP识别码,很重要
define("APP_ID","SOSOCMS");
// 定义APP名称,很重要
define("APP_NAME","内容管理系统");

class main extends spController
{
        private $controller_config=array(
                'index'=>array(
                        'page_title'=>APP_ID . ' - '. APP_NAME,
                ),
                'home'=>array(
                        'page_title'=>'test',
                        'info'=>array('name'=>'test',
                        'description'=>'test',
                        )
                ),
        );
( ! ) Parse error: syntax error, unexpected '.', expecting ')' in G:\kp_52069616\htdocs\sosocms\test.php on line 11



2015-07-13 22:06:15

#2 jeffrey_shou

( ! ) Parse error: syntax error, unexpected '.', expecting ')' in G:\kp_52069616\htdocs\sosocms\test.php on line 11

2015-07-13 22:07:29

#3 jeffrey_shou

很奇怪,代码若是写在class外面就可以:
$controller_config=array(
                'index'=>array(
                        'page_title'=>APP_ID . ' - '. APP_NAME,
                ),
                'home'=>array(
                        'page_title'=>'test',
                        'info'=>array('name'=>'test',
                        'description'=>'test',
                        )
                ),
        );

2015-07-13 22:08:10

#4 jake

PHP的规则:属性中的变量可以初始化,但是初始化的值必须是常数,这里的常数是指 PHP 脚本在编译阶段时就可以得到其值,而不依赖于运行时的信息才能求值。

见:http://php.net/manual/zh/language.oop5.properties.php

2015-07-14 08:21:16

#5 jeffrey_shou

非常感谢Jake兄,我昨天想了半天也是这么一回事,但找不到答案,我现在打算就此问题用其他办法进行替代

2015-07-14 13:18:30