本文目录一览:
- 1、PHP类中给成员属性初始化值为什么报错?
- 2、百川 导购demo怎么初始化 php
- 3、关于 php 类 继承 构造函数 初始化 问题
- 4、php 有关面向对象继承构造函数初始化的问题
- 5、php中,初始化对象是什么意思,实例化是什么意思
PHP类中给成员属性初始化值为什么报错?
$var=$myvar 属性的值不能是变量!!!这是最基础的知识。
注意:成员属性不可以是带运算符的表达式、变量、方法或函数的调用。 如:
public $var3 = 1+2;
public $var4 = self::myStaticMethod();
public $var5 = $myVar;
正确定义方式:
public $var6 = 100; //普通数值(4个标量:整数、浮点数、布尔、字串)
public $var6 = myConstant; //常量
public $var7 = self::classConstant; //静态属性
public $var8 = array(true, false); //数组
百川 导购demo怎么初始化 php
虽然在 PHP 中并不需要初始化变量,但进行初始化是个好习惯。 由于不存在声明语句,所以变量初始化过程应该直接赋值,例如: $str_demo=""; 未初始化变量的默认值 未初始化的变量被使用时,具有其类型的默认值:FALSE,零,空字符串或者空数组。 举例如下: ?php echo ($unset_bool? "true": "false"); // false $unset_int += 25; // 0 + 25 = 25 echo $unset_string . "abc"; // "" . "abc" = "abc" $unset_array[3] = "def"; // array() + array(3 = "def") = array(3 = "def") ? 未初始化变量可能带来的问题 依赖未初始化变量的默认值在某些情况下会有问题,例如: 直接使用未定义变量可能会报错,比如这样的程序 ?php if($command!= "kkk") echo "not kkk"? 可能会出现错误提示 bNotice:/b Undefined variable: command in bX:\wamp\www\xxx.php/b on line 1 以上程序的错误信息属于E_NOTICE级别,是否显示出来与php.ini中的错误级别设置有关。如果不想让这个警告出现,则可以在php.ini中进行改动,设 error_reporting = E_ALL ~E_NOTICE 。
关于 php 类 继承 构造函数 初始化 问题
在进行 oop 封装处理的时候你的思路我不赞同的
因为很多类会引用 db(也就是数据库类),那么我就创建一个基类(base),然后在 base 中 引入 db 类,并创建 db 对象,设置自动初始化,这样通过基类在构建子类,通过子类构建对象,那么所有子类中的所有 成员函数就都可以使用 $this-db-方法(调用数据库类的一个方法)
例如:
class Base{
function __construct()
{
$db='';
require_once ('class/class_mysql.php');
$this-db = new class_mysql(DB_HOST, DB_USER,DB_PW, DB_NAME);
$this-db-set_mysql_charset(DB_CHARSET);
}
}
class control extends Base{
function __construct() {
parent::__construct (); //初始化父类
.......
}
}
php 有关面向对象继承构造函数初始化的问题
写几点提示供参考:
1、在类的继承中,扩展或派生出来的类(子类)拥有其基类(父类)的所有变量和函数,并包含所有派生类中定义的部分。
也就说,你上面的在子类里类似
private $debugmessage;
这句代码其实没什么意义。
2、如果你在子类里,又定义了与父类里同名的方法,那么,父类的方法会被覆盖,也就是说,你调用的是子类实现的代码。
3、
this 指向的是当前对象
self 指向当前的类
parent 指向的是父类
php中,初始化对象是什么意思,实例化是什么意思
初始化是在构造函数里面完成的,一般对成员复制之类的操作;
实例化对象:new ClassName(),实例化的时候会自动初始化,即调用__construct()