聚合国内IT技术精华文章,分享IT技术精华,帮助IT从业人士成长

PHP finally block aborts on autoload

2016-05-19 15:20 浏览: 1142638 次 我要评论(0 条) 字号:

参考: http://stackoverflow.com/questions/26204315/php-finally-block-aborts-on-autoload

Person.php

<?php
class Person{
	function __construct() {
		echo 'autoload Person..'."n";
	}
}

 

main.php

<?php

function __autoload($classname) {
    require("Person.php");
}
try {
    throw new Exception("error1");
}catch(Exception $e) {
    throw new Exception("error2");
}finally{
    echo "finnalyn";
    new Person();  // php 5.6 之前,该Person是不能new成功的;而且如果有后续逻辑也是不会继续执行的
}

解决办法:

  1. 升级PHP
  2. 提前加载,如: class_exists(“Person”); 但是,如果Person相关方法执行起来需要自动加载其它类,依然失败,所以,此法基本不可行
  3. 不使用finally

 

The post PHP finally block aborts on autoload appeared first on PHPor 的Blog.



网友评论已有0条评论, 我也要评论

发表评论

*

* (保密)

Ctrl+Enter 快捷回复