Recherche…
Modifier le répertoire d'application par défaut
Il y a des cas d'utilisation où vous pourriez vouloir renommer votre répertoire d'application à autre chose. Dans Laravel4, vous pouvez simplement modifier une entrée de configuration, voici une façon de le faire dans Laravel5.
Dans cet exemple, nous allons renommer le répertoire de l' app
en src
.
Remplacer la classe d'application
L' app
nom de répertoire est codée en dur dans la classe principale de l'application, elle doit donc être remplacée. Créez un nouveau fichier Application.php
. Je préfère garder le mien dans le répertoire src
(celui que nous remplacerons app with), mais vous pouvez le placer ailleurs.
Voici comment la classe surchargée devrait ressembler. Si vous voulez un nom différent, remplacez simplement la chaîne src
par autre chose.
namespace App;
class Application extends \Illuminate\Foundation\Application
{
/**
* @inheritdoc
*/
public function path($path = '')
{
return $this->basePath . DIRECTORY_SEPARATOR . 'src' . ($path ? DIRECTORY_SEPARATOR . $path : $path);
}
}
Enregistrez le fichier. Nous en avons fini avec ça.
Appeler la nouvelle classe
Ouvrez bootstrap/app.php
et localisez
$app = new Illuminate\Foundation\Application(
realpath(__DIR__.'/../')
);
Nous allons le remplacer par ceci
$app = new App\Application(
realpath(__DIR__.'/../')
);
Compositeur
Ouvrez votre fichier composer.json
et modifiez le chargement automatique en fonction de votre nouvel emplacement
"psr-4": {
"App\\": "src/"
}
Et enfin, dans la ligne de commande, exécutez composer dump-autoload
et votre application devrait être diffusée depuis le répertoire src
.
Changer le répertoire des contrôleurs
si nous voulons changer le répertoire des Controllers
, nous avons besoin de:
- Déplacez et / ou renommez le répertoire des
Controllers
par défaut où vous le souhaitez. Par exemple de l'app/Http/Controllers
à l'app/Controllers
- Mettez à jour tous les espaces de noms des fichiers dans le dossier
Controllers
, en les faisant adhérer au nouveau chemin, en respectant les spécificités du PSR-4.
- Modifiez l'espace de noms appliqué au fichier
routes.php
en modifiantapp\Providers\RouteServiceProvider.php
et modifiez-le:
protected $namespace = 'App\Http\Controllers';
pour ça:
protected $namespace = 'App\Controllers';