jamadri
jamadri

Reputation: 956

Laravel controller doesn't exist

Ok, so I haven't had this issue in a while, but I've done most the options I can to resolve this and have read other people's posts. I'm at a lost right now.

After creating the controller, I did the "php ./composer.phar dump-autoload" command, saying it generated successfully, and it's still saying the controller doesn't exist. There are already 3 other controllers in the folder it's in, and each one of those works, it's just this controller that's having the problem.

Code to Controller: (/apps/controllers/api/apiBulkController.php)

class apiBulkController extends BaseController {

private $error;

public function __construct()
{
    // Set default values
    $this->error = 'false';
}

public function create()
{
    $bulk = array();

    // Authenticate the user using the api
    if (!isset($_SERVER['PHP_AUTH_USER'])) {
        $this->authenticate();

    } else {

        $auth = User::where('username', $_SERVER['PHP_AUTH_USER'])->first();

        // Check to see if the user is valid
        if(isset($auth->authkey) && $auth->authkey == $_SERVER['PHP_AUTH_PW'])
        {
            $req = Request::get();

            $bulk = new Bulk;
            // Add Columns by example below
            $bulk->save();

            //ex. $Bulk->Name = Request::get('');  $object->column_name = Request;

            // Return JSON data
            return Response::json(array(
                'error' => $this->error
            ));

        }
        else
        {
            echo $_SERVER['PHP_AUTH_USER'].": Your hash seems to be incorrect.";
        }
    }
}

public function authenticate()
{
    header('WWW-Authenticate: Basic realm="User Authentication (Username / Hash)"');
    header('HTTP/1.0 401 Unauthorized');
    echo "You must enter a valid Login ID and Hash to access this resource\n";
    exit;
}

}

Upvotes: 1

Views: 1103

Answers (1)

Marcin Nabiałek
Marcin Nabiałek

Reputation: 111839

You should probably add

namespace api;

at the beginning of your controller

and run controller also using your namespace before class name, for example in Route api\apiBulkController@create instead of apiBulkController@create.

If error changes, you should then alter your class adding namespaces or uses to other classes for example instead of extends BaseController should be extends \BaseController and so on

Upvotes: 2

Related Questions