参考: 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成功的;而且如果有后续逻辑也是不会继续执行的 }
解决办法:
- 升级PHP
- 提前加载,如: class_exists(“Person”); 但是,如果Person相关方法执行起来需要自动加载其它类,依然失败,所以,此法基本不可行
- 不使用finally
The post PHP finally block aborts on autoload appeared first on PHPor 的Blog.
网友评论已有0条评论, 我也要评论