刚刚学习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语言的一小段代码,懂得能进下吗?