#php
#php
Вопрос:
Я новичок в PHP, я пытаюсь потребовать UserController.php из Controller.php но все, что я получаю, это «HTTP ERROR 500» в браузере. Что здесь происходит?
Controller.php
class Controller
{
public function __construct()
{
}
public function call(){
// echo 1;
require_once "../Controllers/UserController.php";
}
}
UserController.php
class UserController
{
public function __construct()
{
echo '111111111';
}
public function hi(){
echo '1';
}
}
$a = new UserController();
$a->hi();
Комментарии:
1. Вы не можете определить класс внутри определения функции.
2. У вас должна быть
require_once
строка за пределамиclass Controller
.
Ответ №1:
Определения классов не могут быть вложены внутрь функций или других классов. Поэтому у вас не должно быть этой require_once
строки внутри определения функции. Переместите его за пределы класса.
require_once "../Controllers/UserController.php";
class Controller
{
public function __construct()
{
}
public function call(){
// echo 1;
}
}
Ответ №2:
<?php
require_once "../Controllers/UserController.php";
class Controller
{
public function __construct()
{
}
public function call(){
// echo 1;
$a = new UserController();
$a->hi();
}
}
Комментарии:
1. Ответы, содержащие только код, в Stack Overflow не приветствуются, поскольку они не объясняют, как это решает проблему. Пожалуйста, отредактируйте свой ответ, чтобы объяснить, что делает этот код и как он отвечает на вопрос, чтобы он был полезен OP, а также другим пользователям с аналогичными проблемами.