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:

  1. Przenieś i / lub zmień nazwę domyślnego katalogu Controllers tam, gdzie go chcemy. Na przykład od app/Http/Controllers do app/Controllers
  1. Zaktualizuj wszystkie przestrzenie nazw plików w folderze Controllers , dostosowując je do nowej ścieżki, uwzględniając specyfikę PSR-4.
  1. Zmień przestrzeń nazw stosowaną w pliku routes.php , edytując app\Providers\RouteServiceProvider.php i zmień to:
protected $namespace = 'App\Http\Controllers';

do tego:

protected $namespace = 'App\Controllers';


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow