Автор Тема: Проблем с PHP Mvc  (Прочетена 41 пъти)

0 Потребители и 1 Гост преглежда(т) тази тема.

Darnel

  • Full Member
  • ***
  • Благодарности
  • -Казани: 32
  • -Получени: 3
  • Публикации: 138
Проблем с PHP Mvc
« -: 02 Август 2019, 18:58:59 »
Здравейте. Опитвам се да пиша MVC но се натъкнах на един проблем и не знам как да го реша. Излиза ми тази грешка
Warning: require_once(C:/xampp/htdocs/models/Model.php): failed to open stream: No such file or directory in C:\xampp\htdocs\mvc\inc\config.php on line 10

Fatal error: require_once(): Failed opening required 'C:/xampp/htdocs/models/Model.php' (include_path='C:\xampp\php\PEAR') in C:\xampp\htdocs\mvc\inc\config.php on line 10

Ще предоставя конфиг файла и маршрутизатора
<?php
//Config.php
//DEFINE("ROOT", $_SERVER['DOCUMENT_ROOT']); Old
DEFINE("ROOT"dirname(__DIR__)); //New
DEFINE("CONTROLLER_PATH"ROOT '/controllers/');
DEFINE("MODEL_PATH"ROOT '/models/');
DEFINE("VIEWS_PATH"ROOT '/views/');

require_once(
"inc/db.php");
require_once(
"inc/route.php");
require_once 
MODEL_PATH 'Model.php';
require_once 
VIEWS_PATH 'View.php';
require_once 
CONTROLLER_PATH 'Controller.php';

Routing::buildRoute();

<?php 

class Routing {

public static function buildRoute () {
$controllerName "IndexController";
$modelName "IndexModel";
$action "Index";

$route explode("/"$_SERVER['REQUEST_URI']);

if($route[1] !='') {
$controllerName ucfirst($route[1] . "Controller");
$modelName ucfirst($route[1] . "Model");
}

include CONTROLLER_PATH $controllerName ".php";
include MODEL_NAME $modelName ".php";

if(isset($route[2]) && $route[2] !== ''){
$action $route[2];

}
$controller = new $controllerName();
$controller->$action();


}
}

Пробвах да задам и абсолютния път и пак ми дава същата грешка.
Някакви идеи ако имате да помагате ще съм благодарен :)

Едит: Оправих си грешките видях къде са и те са 2.
1.Първо не трябва да е $_SERVER['DOCUMENT_ROOT']); а dirname(__DIR__)
2.Във Route.php съм изпуснал ' . ' (точката при php);

Може да заключвате темата.
« Последна редакция: 03 Август 2019, 01:30:45 от Darnel »