Проблема такая. Когда я перехожу по несуществующей ссылке например: localhost/url меня перекидывает на страницу которая выводится если страница не найдена. Тут все нормально. Но когда я перехожу по ссылке localhost/error выскакивает ошибка. На php 5.6 ошибок нет все работает. Ошибка появляется только на php 7. Fatal error: Uncaught Error: Call to undefined method Error::loadModel() PHP: <?php class Bootstrap { private $_url = null; private $controller = null; private $modelFolder = MODELS_PATH; private $controllerFolder = CONTROLLERS_PATH; private $errorFile = 'error.php'; private $indexFile = 'index.php'; public function init() { $this->getFromUrl(); if (empty($this->_url[0])) { $this->loadIndexController(); return false; } $this->loadExistingController(); $this->callControllerMethod(); } public function setControllerFolder($folder) { $this->controllerFolder = trim($folder, '/') . '/'; } public function setModelFolder($folder) { $this->modelFolder = trim($folder, '/') . '/'; } public function setErrorFile($folder) { $this->errorFile = trim($folder, '/'); } public function setIndexFile($folder) { $this->indexFile = trim($folder, '/'); } private function getFromUrl() { $url = $_GET['url'] ?? null; $url = rtrim($url, '/'); $url = filter_var($url, FILTER_SANITIZE_URL); $this->_url = explode('/', $url); } private function loadIndexController() { require $this->controllerFolder . $this->indexFile; $this->controller = new Index(); $this->controller->index(); } private function loadExistingController() { $file = $this->controllerFolder . $this->_url[0] . '.php'; if (file_exists($file)) { require $file; $this->controller = new $this->_url[0]; $this->controller->loadModel($this->_url[0], $this->modelFolder); } else { $this->error(); return false; } } private function callControllerMethod() { $length = count($this->_url); if ($length > 1) { if (!method_exists($this->controller, $this->_url[1])) { $this->error(); } } switch ($length) { case 5: $this->controller->{$this->_url[1]}($this->_url[2], $this->_url[3], $this->_url[4]); break; case 4: $this->controller->{$this->_url[1]}($this->_url[2], $this->_url[3]); break; case 3: $this->controller->{$this->_url[1]}($this->_url[2]); break; case 2: $this->controller->{$this->_url[1]}(); break; default: $this->controller->index(); break; } } private function error() { require $this->controllerFolder . $this->errorFile; $this->controller = new ErrorController(); $this->controller->error404(); exit; } }