Zoeken…
Wijzig de standaard app-directory
Er zijn gevallen waarin u mogelijk de naam van uw app-map wilt wijzigen in iets anders. In Laravel4 kun je gewoon een configuratie-invoer wijzigen, hier is een manier om dit in Laravel5 te doen.
In dit voorbeeld zullen we de app
map hernoemen naar src
.
Toepassingsklasse overschrijven
De mapnaam- app
is hardcoded in de hoofdtoepassingsklasse, dus deze moet worden genegeerd. Maak een nieuw bestand Application.php
. Ik geef de voorkeur aan het mijne in de src
directory (degene waarmee we de app zullen vervangen), maar je kunt het elders plaatsen.
Hier is hoe de onderdrukte klasse eruit zou moeten zien. Als je een andere naam wilt, verander dan gewoon de string src
in iets anders.
namespace App;
class Application extends \Illuminate\Foundation\Application
{
/**
* @inheritdoc
*/
public function path($path = '')
{
return $this->basePath . DIRECTORY_SEPARATOR . 'src' . ($path ? DIRECTORY_SEPARATOR . $path : $path);
}
}
Bewaar het bestand. We zijn er klaar mee.
De nieuwe klas bellen
Open bootstrap/app.php
en zoek
$app = new Illuminate\Foundation\Application(
realpath(__DIR__.'/../')
);
We zullen het hiermee vervangen
$app = new App\Application(
realpath(__DIR__.'/../')
);
Componist
Open uw composer.json
bestand en wijzig automatisch laden zodat deze overeenkomt met uw nieuwe locatie
"psr-4": {
"App\\": "src/"
}
En ten slotte voert u op de opdrachtregel composer dump-autoload
en moet uw app worden bediend vanuit de map src
.
Wijzig de map Controllers
als we de map Controllers
willen wijzigen, hebben we nodig:
- Verplaats en / of hernoem de standaardmap
Controllers
gewenste locatie. Bijvoorbeeld vanapp/Http/Controllers
naarapp/Controllers
- Werk alle naamruimten van de bestanden in de map
Controllers
, zodat ze voldoen aan het nieuwe pad, met respect voor de specifieke PSR-4.
- Wijzig de naamruimte die wordt toegepast op het bestand
routes.php
doorapp\Providers\RouteServiceProvider.php
en wijzig dit:
protected $namespace = 'App\Http\Controllers';
hierop:
protected $namespace = 'App\Controllers';