2020年5月14日
<?php
function set_error_handler($level,$message,$file,$line){
//多个case的意思是:无论是匹配上E_ERROR还是E_USER_ERROR,都去执行E_USE_ERROR区间的代码
//switch的case匹配上,就会执行case区间,但是如果case区间中间不写break;
//执行完当前区间的代码然后执行下一个区间直到遇到break;才停止
$level_string='';//保存当前错误级别
$exit=false; //是否停止代码运行
switch($level){
case E_NOTICE;
case E_USER_NOTICE;
//这里写统治级别的错误处理
$level_string ='提示:';
break;
case E_WARNING;
case E_USER_WARNING;
//这里写统治级别的错误处理
$level_string ='警告';
break;
case E_ERROR;
case E_USER_ERROR;
//这里写统治级别的错误处理
$level_string ='错误';
$exit = true;
break;
}
//3个不同的错误都要写输出错误,将其放在最后输出,并且变为一行
echo "{$level_string} {$message} ({$file}) [{$line}]<br>";
if(exit == true){
exit();
}
}
//注册错误处理函数
//以下错误不会被错误处理函数处理
//E_ERROR,E_PARSE,E_CORE_ERROR,E_CORE_ERROR,E_CORE_WARNING,E_COMPILE_WARNING
set_error_handler('error');
echo $s;
echo"<br>";
mysqli_connect('dadtf','root','root');
trigger_error('提示级别的信息',E_UESR_NOTICE);
trigger_error('警告级别的信息',E_UESR_WARNING);
trigger_error('错误级别的信息',E_UESR_ERROR);
echo"是否停止";
<?php
//获取一个对象
//获取对象内的属性和方法
class sports{
public $basketball = '欧文';
public $football = '梅西';
public $badminton = '林丹';
public function getbasketball()
{
return $this ->basketball;
}
public function getfootball()
{
return $this ->football;
}
public function getbadminton()
{
return $this ->badminton;
}
}
//类是对象的抽象化表示方式,类需要通过new(实例化)来变成对象
$A=new sports();
var_dump($A);
//$b=new hei();
//var_dump($b);
//获取里面的属性(变量)
//->对象访问行,表示访问对象下面的内容,类似于数组的[]
var_dump($A->basketball);
var_dump($A->football);
var_dump($A->badminton);
//修改对象里面的属性
$A->basketball='乔丹';
var_dump($A);
var_dump($A->getbasketball());
var_dump($A->getfootball());
var_dump($A->getbadminton());
<?php
function set_error_handler($level,$message,$file,$line){
//多个case的意思是:无论是匹配上E_ERROR还是E_USER_ERROR,都去执行E_USE_ERROR区间的代码
//switch的case匹配上,就会执行case区间,但是如果case区间中间不写break;
//执行完当前区间的代码然后执行下一个区间直到遇到break;才停止
$level_string='';//保存当前错误级别
$exit=false; //是否停止代码运行
switch($level){
case E_NOTICE;
case E_USER_NOTICE;
//这里写统治级别的错误处理
$level_string ='提示:';
break;
case E_WARNING;
case E_USER_WARNING;
//这里写统治级别的错误处理
$level_string ='警告';
break;
case E_ERROR;
case E_USER_ERROR;
//这里写统治级别的错误处理
$level_string ='错误';
$exit = true;
break;
}
//3个不同的错误都要写输出错误,将其放在最后输出,并且变为一行
echo "{$level_string} {$message} ({$file}) [{$line}]<br>";
if(exit == true){
exit();
}
}
//注册错误处理函数
//以下错误不会被错误处理函数处理
//E_ERROR,E_PARSE,E_CORE_ERROR,E_CORE_ERROR,E_CORE_WARNING,E_COMPILE_WARNING
set_error_handler('error');
echo $s;
echo"<br>";
mysqli_connect('dadtf','root','root');
trigger_error('提示级别的信息',E_UESR_NOTICE);
trigger_error('警告级别的信息',E_UESR_WARNING);
trigger_error('错误级别的信息',E_UESR_ERROR);
echo"是否停止";
<?php
//获取一个对象
//获取对象内的属性和方法
class sports{
public $basketball = '欧文';
public $football = '梅西';
public $badminton = '林丹';
public function getbasketball()
{
return $this ->basketball;
}
public function getfootball()
{
return $this ->football;
}
public function getbadminton()
{
return $this ->badminton;
}
}
//类是对象的抽象化表示方式,类需要通过new(实例化)来变成对象
$A=new sports();
var_dump($A);
//$b=new hei();
//var_dump($b);
//获取里面的属性(变量)
//->对象访问行,表示访问对象下面的内容,类似于数组的[]
var_dump($A->basketball);
var_dump($A->football);
var_dump($A->badminton);
//修改对象里面的属性
$A->basketball='乔丹';
var_dump($A);
var_dump($A->getbasketball());
var_dump($A->getfootball());
var_dump($A->getbadminton());
<?php
function set_error_handler($level,$message,$file,$line){
//多个case的意思是:无论是匹配上E_ERROR还是E_USER_ERROR,都去执行E_USE_ERROR区间的代码
//switch的case匹配上,就会执行case区间,但是如果case区间中间不写break;
//执行完当前区间的代码然后执行下一个区间直到遇到break;才停止
$level_string='';//保存当前错误级别
$exit=false; //是否停止代码运行
switch($level){
case E_NOTICE;
case E_USER_NOTICE;
//这里写统治级别的错误处理
$level_string ='提示:';
break;
case E_WARNING;
case E_USER_WARNING;
//这里写统治级别的错误处理
$level_string ='警告';
break;
case E_ERROR;
case E_USER_ERROR;
//这里写统治级别的错误处理
$level_string ='错误';
$exit = true;
break;
}
//3个不同的错误都要写输出错误,将其放在最后输出,并且变为一行
echo "{$level_string} {$message} ({$file}) [{$line}]<br>";
if(exit == true){
exit();
}
}
//注册错误处理函数
//以下错误不会被错误处理函数处理
//E_ERROR,E_PARSE,E_CORE_ERROR,E_CORE_ERROR,E_CORE_WARNING,E_COMPILE_WARNING
set_error_handler('error');
echo $s;
echo"<br>";
mysqli_connect('dadtf','root','root');
trigger_error('提示级别的信息',E_UESR_NOTICE);
trigger_error('警告级别的信息',E_UESR_WARNING);
trigger_error('错误级别的信息',E_UESR_ERROR);
echo"是否停止";
<?php
//获取一个对象
//获取对象内的属性和方法
class sports{
public $basketball = '欧文';
public $football = '梅西';
public $badminton = '林丹';
public function getbasketball()
{
return $this ->basketball;
}
public function getfootball()
{
return $this ->football;
}
public function getbadminton()
{
return $this ->badminton;
}
}
//类是对象的抽象化表示方式,类需要通过new(实例化)来变成对象
$A=new sports();
var_dump($A);
//$b=new hei();
//var_dump($b);
//获取里面的属性(变量)
//->对象访问行,表示访问对象下面的内容,类似于数组的[]
var_dump($A->basketball);
var_dump($A->football);
var_dump($A->badminton);
//修改对象里面的属性
$A->basketball='乔丹';
var_dump($A);
var_dump($A->getbasketball());
var_dump($A->getfootball());
var_dump($A->getbadminton());
自定义php错误处理方式
函数:
set_error_handler(); 注册一个自定义错误处理的函数
trigger_error(); 抛出一个用户自定义的错误
可以记录错误的信息(用户自定义报错),及时发现一些bug
可以屏蔽错误,控制错误的输出,也可以作为调试工具
set_error_handler(函数名字);
注册上之后系统的错误报错则不会显示,如果遇到错误就会调用注册成错误处理函数的函数;同时会传递一些参数
定义一个自定义错误处理函数->可以让我们输出错误信息
int 错误及被 | string 错误信息 | string 文件位置 | int 行号
如何定义一个类(对象的抽象表示)
语法:
class 类名{
成员属性(变量,常量)
成员方法(自定义函数)
}
定义一个空类(object)
class QT{}
每个类开头以class开头,面跟着类名,紧接着跟着一对大括号/括号,成员属性和成员方法
类名命名规范
大小写字母和数字和下划线
数字不能开头
首字母必须大写
Ps.类名通常使用英文单词命名,首字母大写
类中规范
大括号中只允许出现:成员属性(变量和常量)和成员方法(自定义函数)
注意:类中函数有专属的定义方式,不允许使用define定义,类中使用const定义
成员属性格式
[访问修饰符(public)] 变量=值
[访问修饰符(public)] 变量名;//null
访问修饰符有三个,默认为public
public $res=555;
成员方法格式:
[访问修饰符(public)] function 函数名(形参…)
{
# 写普通的php代码