首页 / PHP / php异常处理和面向对象进阶
php异常处理和面向对象进阶
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php异常处理和面向对象进阶,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2223字,纯文字阅读大概需要4分钟。
内容图文
![php异常处理和面向对象进阶](/upload/InfoBanner/zyjiaocheng/620/b286fad2b0d44f059066e7fb1f3b2b00.jpg)
php异常处理和面向对象进阶
一、异常处理
1.使用的关键字
2.自定义异常
<?php
//自定义空异常类
class MyNullException extends Exception {
}
//自定义类型异常
class MyTypeException extends Exception {
}
//自定义范围异常
class MyRangeException extends Exception {
}
//逻辑代码
if(isset($_POST['button'])) {
try{
$name=$_POST['name'];
$age=$_POST['age'];
if($name=='')
throw new MyNullException('姓名不能为空');
if($age=='')
throw new MyNullException('年龄不能为空');
if(!is_numeric($age))
throw new MyTypeException('年龄不是数字');
if($age<10 || $age>30)
throw new MyRangeException('年龄必须在10-30之间');
echo '姓名:'.$name,'<br>';
echo '年龄:'.$age;
}catch(MyNullException $ex){
echo $ex->getMessage(),'<br>';
echo '错误记录在日志中';
}catch(MyTypeException $ex){
echo $ex->getMessage(),'<br>';
echo '发送电子邮件';
}catch(MyRangeException $ex){
echo $ex->getMessage(),'<br>';
echo '给管理员打电话';
}
}
?>
<form method="post" action="">
姓名: <input type="text" name="name"> <br />
年龄: <input type="text" name="age"> <br />
<input type="submit" name="button" value="提交">
</form>
二、自动加载类
在项目开发中,因为一个文件中只能写一个类,并且在执行过程中会有很多的类参与,如果一个一个的加载很麻烦,所以,就需要一个机制实现在PHP执行过程中自动加载需要的类。
1.类的规则
2.手动加载类
3.自动加载类
4.注册加载类
5.类文件存储不规则的加载方法
三、clone和__clone()
四、设计模式
1.单例模式
2.工厂模式
3.策略模式
五、序列化与反序列化
1.数组的序列化与反序列化
2.对象的序列化与反序列化
六、魔术方法
1.__tostring()、__invoke()
2.__set()、__get()、__isset()、__unset()
<?php
class Student {
private $name;
private $sex;
private $age;
//给无法访问的属性赋值的时候自动执行
public function __set($k,$v) {
$this->$k=$v;
}
//获取无法访问的属性值的时候自动调用
public function __get($k) {
return $this->$k;
}
//判断无法访问的属性是否存在自动调用
public function __isset($k) {
return isset($this->$k);
}
//销毁无法访问的属性的时候自动执行
public function __unset($k) {
unset($this->$k);
}
}
//测试
$stu=new Student;
//1、给私有属性赋值
$stu->name='tom';
$stu->sex='男';
$stu->age=22;
//2、获取私有属性的值
//echo $stu->name;
//3、判断私有属性是否存在
//var_dump(isset($stu->name));
//4、销毁私有属性
unset($stu->age);
print_r($stu);
3.__call()、__callstatic()
4.__sleep()、__wakeup()
5.模拟方法重载
七、遍历对象
内容总结
以上是互联网集市为您收集整理的php异常处理和面向对象进阶全部内容,希望文章能够帮你解决php异常处理和面向对象进阶所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。