I recently migrated a laravel 4.2 project to 5.0. So far I have completed all the necessary steps but I keep getting an error.
Cannot declare class Controller, because the name is already in use
My Controller is changed as provided by laravel in the upgrade guide.
<?php
use Illuminate\Foundation\Bus\DispatchesCommands;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
abstract class Controller extends BaseController {
use DispatchesCommands, ValidatesRequests;
}
Also I have added it to the classmap directive of my composer.json.
"autoload": {
"classmap": [
"database",
"app/Http/Controllers"
],
"psr-4": {
"App\\": "app/"
}
},
I couldn't find any solution so far so if you guys know what to do it would help me out a lot :) thanks in advance!
Remove the "app/Http/Controllers"
from your classmap.
Add namespace App\Http\Controllers;
above your use
blocks.
Then run composer dump-auto
I'm pretty sure you have to add namespaces.
Namespacing
By default, Laravel 4 applications did not utilize namespacing within your application code. So, for example, all Eloquent models and controllers simply lived in the "global" namespace. For a quicker migration, you can simply leave these classes in the global namespace in Laravel 5 as well.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With