Я читаю книгу о php, и я нашел этот скрипт, который не работает:
namespace woo\controller {
// woo\controller\ApplicationHelper;
class ApplicationHelper {
function getOptions() {
if (!file_exists("data/woo_options_not_there.xml")) {
$r = new \woo\base\AppException("Non riesco ad aprire il file<br>");
throw new $r;
}
$options = simplexml_load_file("data/woo_options.xml");
$dsn = (string) $options->dsn;
print $dsn;
}
}
$d = (new ApplicationHelper())->getOptions();
}
namespace woo\base {
class AppException extends \Exception {
}
}
Вы можете мне помочь?
Это ошибка:
Неустранимая ошибка: необработанное исключение ‘woo \ base \ AppException’ в C: \ xampp \ htdocs \ 9781430260318_Chapter_12_Code \ Listings12.00.php: 11 Трассировка стека: # 0 C: \ xampp \ htdocs \ 9781430260318_Chapter_12_Cp. ): woo \ controller \ ApplicationHelper-> getOptions () # 1 {main}, брошенный в C: \ xampp \ htdocs \ 9781430260318_Chapter_12_Code \ Listings12.00.php в строке 11
Итак, давайте следовать логике здесь
Мы создаем класс ApplicationHelper
а затем создать его экземпляр. Затем мы называем getOptions()
который ищет файл XML и, если он не находит его, выдает исключение.
Ваш код работает нормально, вы просто забыли catch
исключение (это приводит к фатальной ошибке PHP)
try {
$d = (new ApplicationHelper())->getOptions();
} catch(\woo\base\AppException $err) {
echo 'Error: ' . $err->getMessage();
}
Других решений пока нет …