构造函数php
1. php中子类有构造函数如何调用父类中的构造函数,最好能举个简单的例子
class A{
function __contruct($num){
echo "aaa";
}
}
class B extends A{
function __contruct(){
echo "bbb";
A:: __contruct($num) //第一种调用父类构造函数的方法
parent:: __contruct($num) //第二种调用父类构造函数的方法
}
}
2. php构造函数 function__construct()显示错误,为什么啊 代码如下
function __construct() 没错
我直接把你代码贴进编辑器,直接一个语法错误。
function【注意这里需要至少一个空格】__construct
3. php 构造函数格式,具体该怎么写应该注意什么呢
在PHP里,如果你没有手写构造函数,则php在实例化这个对象的时候,会自动为类成员以及类方法进行初始化,分配内存等工作,但是有些时候不能满足我们的要求,比如我们要在对象实例化的时候传递参数,那么就需要手动编写构造函数了,手写构造函数有两种写法,只是表现形式不同,其实本质一样
class test
{
function __construct()
{
//your code
}
}
class test
{
function test()//如果方法名跟类名字一样,将被认为是构造函数
{
//your code
}
}
以上为两种基本形式
我刚才说的传递参数进行实例化的例子,简单的写一个参考
class test
{
public $test = '';
function __construct($input = '')
{
$this->test = $input;
}
function getTest()
{
return $this->test;
}
}
$a = new test('a test');
echo $a->getTest()//将输出 a test
$b = new test();
echo $a->getTest()//没有任何输出(其实是有输出,但是输出为空)
4. php构造函数
类中有函数和变量。
类中定义的变量叫做属性,
类中的函数叫做方法。
$this是指类本身,
$this->base()
指调用当前类中的base()方法。
构造函数可有可无。先可以不考虑构造函数的功能。
构造函数只是创建类的实例的时候自动被调用。其他地方也跟普通函数一样。
类中与类名同名的函数成为构造函数。
等你写多代码以后自然而然的想写构造函数了。那时候肯定会理解构造函数的用处。
5. php构造函数的PHP 4 构造函数
当函数与类同名时,这个函数将成为构造函数。如果一个类没有构造函数,则调用基类的构造函数,如果有的话 。 <?phpclassAuto_CartextendsCart{functionAuto_Cart(){$this->add_item(10,1);}}?>上文定义了一个 Auto_Cart 类,即 Cart 类加上一个构造函数,当每次使用“new”创建一个新的 Auto_Cart 类实例时,构造函数将自动调用并将一件商品的数目初始化为“10”。构造函数可以使用参数,而且这些参数可以是可选的,它们可以使构造函数更加有用。为了依然可以不带参数地使用类,所有构造函数的参数应该提供默认值,使其可选。 <?phpclassConstructor_CartextendsCart{functionConstructor_Cart($item=10,$num=1){$this->add_item($item,$num);}}//买些同样的无聊老货$default_cart=newConstructor_Cart;//买些实在货...$different_cart=newConstructor_Cart(20,17);?>也可以使用 @ 操作符来抑制发生在构造函数中的错误。例如 @new。 <?phpclassA{functionA(){echoIamtheconstructorofA.<br>/n;}functionB(){.<br>/n;echoIamnotaconstructorinA.<br>/n;}}classBextendsA{functionC(){echoIamaregularfunction.<br>/n;}}//调用B()作为构造函数$b=newB;?>析构函数是一种当对象被销毁时,无论使用了 unset() 或者简单的脱离范围,都会被自动调用的函数。php 中没有析构函数。可以用 register_shutdown_function() 来替代模拟大多数析构函数的效果。
6. PHP 什么是构造函数
魔术方法之一,在某种特定条件下会自动触发的方法,也可以叫函数,
构造函数,在类被实例化成对象时,会自动调用的函数(方法),不需要你手动调用。
一般做对象的初始化,数据的初始化,基于同一个类的每个对象都有相同的属性跟方法,
但是到具体的值是不一样的,例如: 人都有名字,但是名字会不一样,所以需要做初始化。
<?php
classPerson{
private$name;
publicfunction__construct($name){
$this->name=$name;
}
publicfunctiongetName(){
return$this->name;
}
}
$p1=newPerson('天');
echo$p1->getName();
7. php 多个构造函数要怎么写
php中,类 只允许有一个构造函数 __construct 允许有多个参数的,如果参数太多可以考虑传递一个数组参数
8. 究竟PHP的构造函数有什么用途
就是在你用new创建那个class的时候,class里的构造函数就自动执行了,不需要你再去调用
用途一般是做配置类初始化信息,比如加个类全局变量什么的
9. PHP类的构造方法
构造方法是类中的一个特殊方法。当使用 new 操作符创建一个类的实例时,构造方法将会自动调用,其名称必须是 __construct() 。所以通常用它执行一些有用的初始化任务。该方法无返回值。
如果子类中定义了构造函数则不会暗中调用其父类的构造函数。要执行父类的构造函数,需要在子类的构造函数中调用 parent::__construct()。
与构造方法对应的就是析构方法,析构方法会在某个对象的所有引用都被删除或者当对象被显式销毁之前执行的一些操作或者功能。析构函数不能带有任何参数,其名称必须是 __destruct() 。
同样,如果子类中定义了析构函数则不会暗中调用其父类的析构函数。要执行父类的析构函数,需要在子类的析构函数中调用 parent::__destruct()。
注意:在析构函数中抛出一个异常会导致致命错误。
<?php
class Construct{
protected $a;
protected $b;
function __construct($a,$b){ //定义构造函数
$this->a=$a;
$this->b=$b;
}
function __destruct(){ //重新定义为初始值
$result=0;
echo '恢复乘积的初始值:'.$result;
}
}
class son extends construct{
private $c;
function __construct($c){
parent::__construct(6,10); //调用父类的构造方法,使用方法:parent::__construct(); 有参数加参数
$this->c=$c;
}
function show(){
$result=$this->a*$this->b*$this->c;
print 'abc的乘积是:'.$result.' ';
}
function __destruct(){
parent::__destruct(); //调用父类的析构函数,使用方式:parent::__destruct();
}
}
$test=new son(12); //实例化对象
$test->show(); //abc的乘积是:720 恢复乘积的初始值:0
?>
10. 请问PHP构造函数的含义
php的两大oop使用型函数:构造函数(__construct)和析构函数(__destruct );
构造函数:当在某一页面写了众多函数,其中就包括构造函数,当你调用其中任一函数时,都将在调用此函数前先调用构造函数,如:你把链接数据库代码写到构造函数里面,然后在使用增删改查时,就不用再写连接s数据库语句了,因为有构造函数在,你就只用写增删改查类sql语句就可以了。
析构函数:和构造函数相反,在同一页面内,有众多函数,其中有析构函数,当你调用了某一函数之后,会自动执行析构函数,比如说你的增删改查用完了,是不是要关闭数据库连接来释放内存?析构函数就是这样用的。