有两种写法:
蓬安网站制作公司哪家好,找创新互联建站!从网页设计、网站建设、微信开发、APP开发、响应式网站等网站项目制作,到程序开发,运营维护。创新互联建站于2013年开始到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联建站。
class MyClass {
public function __construct () {
// 实例化时自动执行
}
}
class MyClass2 {
public function MyClass2 () {
// 实例化时被执行
}
}
如果两种情况同时出现,php 会优先执行 __construct()。
原帖由 于 2008-9-28 09:53 发表 [i][/url]重载:(overload)1.在同一个类中;(不单单是类中,普通函数也包括)2.方法名相同;3.参数个数或者参数类型不同(如果参数类型和个数相同,但是类型顺序不同也是重载!)4.与返回类型无关劳伦斯兄弟说得对,PH ... [/b]龙兄说对了关键的概念没弄清楚吧,名词与用途没有对上号。1、弄清概念:重载(overload)、重写(override)、继承(extends)2、PHP是弱类型,重载根据变量类型和个数不同而进行,所以只能模拟重载。3、PHP支持在继承类中重写(覆盖)方法。4、构造函数(_construct)可以被继承。
php的两大oop使用型函数:构造函数(__construct)和析构函数(__destruct );
构造函数:当在某一页面写了众多函数,其中就包括构造函数,当你调用其中任一函数时,都将在调用此函数前先调用构造函数,如:你把链接数据库代码写到构造函数里面,然后在使用增删改查时,就不用再写连接s数据库语句了,因为有构造函数在,你就只用写增删改查类sql语句就可以了。
析构函数:和构造函数相反,在同一页面内,有众多函数,其中有析构函数,当你调用了某一函数之后,会自动执行析构函数,比如说你的增删改查用完了,是不是要关闭数据库连接来释放内存?析构函数就是这样用的。
从php5以后的版本,php的类就可以使用魔术方法了。
php规定以两个下划线(__)开头的方法都保留为魔术方法,所以建议大家函数名最好不用__开头,除非是为了重载已有的魔术方法。
PHP中的魔术方法有 :__construct,__destruct,__get, __set等
__get、__set 这两个方法是为在类和他们的父类中没有声明的属性而设计的。
__get( $property ) 当调用一个未定义的属性时,此方法会被触发,传递的参数是被访问的属性名
__set( $property, $value ) 给一个未定义的属性赋值时,此方法会被触发,传递的参数是被设置的属性名和值
这里的没有声明包括当使用对象调用时,访问控制为proteced,private的属性(即没有权限访问的属性)。
在php语言中,类构造器有两种方法,一种是使用__construct,另一种是使用与类同名的方法。
__construct 构造方法,当一个对象创建时调用此方法,相对于PHP4使用此方法的好处是:可以使构造方法有一个独一无二的名称,无论它所在的类的名称是什么.这样你在改变类的名称时,就不需要改变构造方法的名称。