Nam Minh
Nam Minh

Reputation: 1

Require has failed in php

I'm new to PHP, I'm trying to require UserController.php from Controller.php but all I get is "HTTP ERROR 500" in browser. What's going on here?

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();

Upvotes: 0

Views: 34

Answers (2)

John V
John V

Reputation: 855

<?php

require_once "../Controllers/UserController.php";

class Controller
{
    public function __construct()
    {
    }
    public function call(){
        // echo 1;
        $a = new UserController();
        $a->hi();
    }
}

Upvotes: 0

Barmar
Barmar

Reputation: 782785

Class definitions can't be nested inside functions or other classes. So you shouldn't have that require_once line inside a function definition. Move it outside the class.

require_once "../Controllers/UserController.php";

class Controller
{
    public function __construct()
    {
    }
    public function call(){
        // echo 1;
    }
}

Upvotes: 1

Related Questions