当前位置:编程学习 > php >>

刚刚学习PHP,碰到一个问题,希望有人可以帮我解答。

下面这段代码会报错: <?php class MyClass { private $time = date("D M j G:i:s T Y"); //此处报错 function __construct() { echo $this-time; } } $o = new MyClass(); 而下面这段代码可以运行: <?php class MyClass { //private $time = date("D M j G:i:s T Y"); function __construct() { echo $this->createTime(); } public function createTime() { return $this->time = date("D M j G:i:s T Y"); } } $o = new MyClass(); 我不清楚为什么第一段会报错。难道是说类只是构建对象的蓝图。不允许在定义类的时候给给私有变量赋动态性的值吗?求解答!!!!!!!! 我只有20个积分的。帮我解答这个问题。我全部给你了:)
答案:private声明不接受函数
类的变量成员叫做“属性”,或者叫“字段”、“特征”,在本文档统一称为“属性”。 属性声明是由关键字public或者protected或者 private开头,然后跟一个变量来组成。 属性中的变量可以初始化,但是初始化的值必须是常数,这里的常数是指php脚本在编译阶段时就为常数,而不是在编译阶段之后在运行阶段运算出的常数。 
<?php
class SimpleClass
{
   // 错误的属性声明
   public $var1 = 'hello ' . 'world';
   public $var2 = <<<EOD
hello world
EOD;
   public $var3 = 1+2;
   public $var4 = self::myStaticMethod();
   public $var5 = $myVar;

   // 正确的属性声明
   public $var6 = myConstant;
   public $var7 = array(true, false);

   //在php 5.3.0 及之后,下面的声明也正确
   public $var8 = <<<'EOD'
hello world
EOD;
}
?> 
内容来自php5中文手册,如果需要可以联系我
其他:date("D M j G:i:s T Y");

date()函数用法出错了吧,百度一下有它的使用方法 date();函数用错了
date("Y-m-d H:i:s");
时间格式:1970-01-01 12:00:00 在类里面 声明属性时 不要用函数 

上一个:一个php的小问题 在线等……感激不尽!!!!!!
下一个:php语言的一小段代码,懂得能进下吗?

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,