Sök…
Byt standardkatalog för app
Det finns användningsfall när du kanske vill byta namn på appkatalogen till något annat. I Laravel4 kan du bara ändra en konfigurationspost, här är ett sätt att göra det i Laravel5.
I det här exemplet byter vi namn på app till src .
Överstyr ansökningsklass
Katalogens namn- app är hårdkodad i den centrala applikationsklassen, så den måste åsidosättas. Skapa en ny fil Application.php . Jag föredrar att hålla mina i src katalogen (den vi kommer att ersätta appen med), men du kan placera den någon annanstans.
Så här ska den åsidosatta klassen se ut. Om du vill ha ett annat namn, ändra bara strängen src till något annat.
namespace App;
class Application extends \Illuminate\Foundation\Application
{
/**
* @inheritdoc
*/
public function path($path = '')
{
return $this->basePath . DIRECTORY_SEPARATOR . 'src' . ($path ? DIRECTORY_SEPARATOR . $path : $path);
}
}
Spara filen. Vi är klara med det.
Ring den nya klassen
Öppna upp bootstrap/app.php och hitta
$app = new Illuminate\Foundation\Application(
realpath(__DIR__.'/../')
);
Vi kommer att ersätta det med det här
$app = new App\Application(
realpath(__DIR__.'/../')
);
Kompositör
Öppna din composer.json fil och ändra autoladning så att den matchar din nya plats
"psr-4": {
"App\\": "src/"
}
Och slutligen, i kommandoraden kör composer dump-autoload och din app ska visas från src katalogen.
Ändra registerkatalogen
om vi vill ändra katalogen Controllers behöver vi:
- Flytta och / eller byta namn på standard
Controllerskatalog där vi vill ha det. Till exempel frånapp/Http/Controllerstillapp/Controllers
- Uppdatera alla namnutrymmen för filerna i mappen
Controllers, så att de följer den nya sökvägen med respekt för PSR-4.
- Ändra namnutrymmet som används på filen
routes.phpgenom att redigeraapp\Providers\RouteServiceProvider.phpoch ändra den här:
protected $namespace = 'App\Http\Controllers';
till detta:
protected $namespace = 'App\Controllers';