您现在的位置是:网站首页>软件开发>语言基础>PHPPHP
PHP魔术方法集—-__construct()
风口下的猪2019-06-09【PHP】
简介
一.定义
__construct() - 在每次创建新对象时先调用此方法
二.使用注意事项
经过自己测试,一个PHP类里不能有多个构造方法,包括有参和无参,只能写其中一个,写多个就会报错。如果你只写一个无参数的构造方法,你实例化时后面带参数,依然会调用无参的构造方法。
三.表示方式
public function __construct()
{
}
public function 类名()
{
}
一般建议用第一种,用第二种的话,那么一个类就可以写2个构造方法,也只能写2个,这两个构造方法就是上面的2种形式,而且会优先调用第一种形式。
四.例子说明
<?php
/**
* 清晰的认识__construct()
*/
class
Example {
public
static
$link
;
//在类实例化的时候自动加载__construct这个方法
public
function
__construct(
$localhost
,
$username
,
$password
,
$db
) {
self::
$link
= mysql_connect(
$localhost
,
$username
,
$password
);
if
(mysql_errno()) {
die
(
'错误:'
. mysql_error());
}
mysql_set_charset(
'utf8'
);
mysql_select_db(
$db
);
}
/**
* 通过__construct链接好数据库然后执行sql语句......
*/
$mysql
=
new
Example(
'localhost'
,
'root'
,
'root'
,
'test'
);
五.扩展
在使用__construct()时,一般和parent::__construct()一起使用。即调用父类的构造函数。使父类在被实例化时,执行该方法。
例如:
class Common extends Controller
{
publicfunction__construct( Request$request=null){
parent::__construct($request);
//执行登录验证
//相当于SESSION['admin']['admin_id']
if(!session('admin.admin_id')){
$this->redirect('admin/login/login');
}
}
}
很赞哦! (0)
/ponder/index.php/index/catelist/catelist/cateid/10.html
相关阅读 (同一栏目)
- 解决 json_encode 格式化的数据出现反斜杠的问题
- .php?q=和&sid=是用来干什么
- $this
- exit() 函数
- PHP魔术方法集—-__construct()
- ::作用域运算符
- ::与new实例化的区别
- PHP中this,self,parent的区别
- 实例化和初始化的区别
- PHP Session
- PHP Cookie
- echo()、halt()、dump()、print()、print_r()的区别
- array_push()数据时,使用其返回值
- 如何更改WAMPServer默认配置之更改MySql默认ROOT帐号的密码
- 关于php集成环境mysql wamp 修改密码后phpMyAdmin拒绝访问解决办法
- Wamp如何设置访问域名,即除了localhost,通过其他字符串访问127.0.0.1
- Windows下安装Composer的详细教程
- Composer使用–下载第三方扩展库
- 实例化php类的时候如何传参
- PHP声明带有默认值的参数方法,调用时传参问题
- protected、private、public的区别
- super()和this()
- 携带token要先设置后端header的Access-Control-Allow-Headers
- Using $this when not in object context错误原因及解决办法
- BOM (byte order mark)
- windows系统下 命令行 php --version 的版本与phpinfo()版本不一致问题
- 在本地没问题,在线上项目显示控制器找不到
- 运行composer 报错:PHP Deprecated: Directive 'track_errors' is deprecated in Unknown on line 0
- Composer安装遇到fileinfo问题,提示Install or enable PHP's fileinfo extension
- PHP 的 ::class 用法
- PHP – 如何使用 bcsub() 函数从另一个中减去一个任意精度数?
- fastAdmin本地安装插件避坑
- fastAdmin的避坑
栏目目录
标签云
站点信息
- 文章统计:528篇
- 移动端访问:扫码进入SQ3R
