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
Controllersgewenste locatie. Bijvoorbeeld vanapp/Http/Controllersnaarapp/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.phpdoorapp\Providers\RouteServiceProvider.phpen wijzig dit:
protected $namespace = 'App\Http\Controllers';
hierop:
protected $namespace = 'App\Controllers';