Szukaj…
Zmień domyślny katalog aplikacji
Istnieją przypadki użycia, w których możesz chcieć zmienić nazwę katalogu aplikacji na coś innego. W Laravel4 możesz po prostu zmienić wpis konfiguracji, oto jeden ze sposobów, aby to zrobić w Laravel5.
W tym przykładzie zmienimy nazwę katalogu app
na src
.
Zastąp klasę aplikacji
app
nazw katalogów jest zapisana na stałe w podstawowej klasie aplikacji, więc należy ją przesłonić. Utwórz nowy plik Application.php
. Wolę trzymać mój w katalogu src
(tym, którym zastąpimy aplikację), ale możesz go umieścić gdzie indziej.
Oto jak powinna wyglądać przesłonięta klasa. Jeśli chcesz mieć inną nazwę, po prostu zmień ciąg src
na coś innego.
namespace App;
class Application extends \Illuminate\Foundation\Application
{
/**
* @inheritdoc
*/
public function path($path = '')
{
return $this->basePath . DIRECTORY_SEPARATOR . 'src' . ($path ? DIRECTORY_SEPARATOR . $path : $path);
}
}
Zapisz plik. Skończyliśmy z tym.
Dzwonię do nowej klasy
Otwórz bootstrap/app.php
i zlokalizuj
$app = new Illuminate\Foundation\Application(
realpath(__DIR__.'/../')
);
Zastąpimy to tym
$app = new App\Application(
realpath(__DIR__.'/../')
);
Kompozytor
Otwórz plik composer.json
i zmień automatyczne ładowanie, aby dopasować je do nowej lokalizacji
"psr-4": {
"App\\": "src/"
}
I wreszcie, w wierszu poleceń uruchom composer dump-autoload
a twoja aplikacja powinna być obsługiwana z katalogu src
.
Zmień katalog kontrolerów
jeśli chcemy zmienić katalog Controllers
, potrzebujemy:
- Przenieś i / lub zmień nazwę domyślnego katalogu
Controllers
tam, gdzie go chcemy. Na przykład odapp/Http/Controllers
doapp/Controllers
- Zaktualizuj wszystkie przestrzenie nazw plików w folderze
Controllers
, dostosowując je do nowej ścieżki, uwzględniając specyfikę PSR-4.
- Zmień przestrzeń nazw stosowaną w pliku
routes.php
, edytującapp\Providers\RouteServiceProvider.php
i zmień to:
protected $namespace = 'App\Http\Controllers';
do tego:
protected $namespace = 'App\Controllers';