Suche…


Ändern Sie das Standard-App-Verzeichnis

Es gibt Anwendungsfälle, in denen Sie Ihr App-Verzeichnis möglicherweise in etwas anderes umbenennen möchten. In Laravel4 können Sie einfach einen Konfigurationseintrag ändern. Hier ist eine Möglichkeit, dies in Laravel5 zu tun.

In diesem Beispiel wird das app Verzeichnis in src .

Anwendungsklasse überschreiben

Der Verzeichnisname app ist in der Kernanwendungsklasse fest codiert und muss daher überschrieben werden. Erstellen Sie eine neue Datei Application.php . Ich ziehe es vor, meine im src Verzeichnis zu src (das Verzeichnis, mit dem wir die App ersetzen werden), aber Sie können sie an anderer Stelle ablegen.

So sollte die überschriebene Klasse aussehen. Wenn Sie einen anderen Namen wünschen, ändern Sie einfach den String src in einen anderen Namen.

namespace App;

class Application extends \Illuminate\Foundation\Application
{
    /**
     * @inheritdoc
     */
    public function path($path = '')
    {
        return $this->basePath . DIRECTORY_SEPARATOR . 'src' . ($path ? DIRECTORY_SEPARATOR . $path : $path);
    }
}

Speicher die Datei. Damit sind wir fertig.

Die neue Klasse aufrufen

Öffnen Sie bootstrap/app.php und bootstrap/app.php

$app = new Illuminate\Foundation\Application(
    realpath(__DIR__.'/../')
);

Wir werden es damit ersetzen

$app = new App\Application(
    realpath(__DIR__.'/../')
);

Komponist

Öffnen Sie Ihre composer.json Datei und ändern Sie das automatische Laden an Ihren neuen Speicherort

"psr-4": {
    "App\\": "src/"
}

In der Befehlszeile sollten Sie schließlich composer dump-autoload ausführen, und Ihre App sollte über das src Verzeichnis src .

Ändern Sie das Controllerverzeichnis

Wenn wir das Controllers ändern wollen, brauchen wir:

  1. Verschieben und / oder benennen Sie das Standard- Controllers Verzeichnis um, wo wir es möchten. Zum Beispiel von app/Http/Controllers zu app/Controllers
  1. Aktualisieren Sie alle Namespaces der Dateien im Ordner " Controllers ", sodass sie sich an den neuen Pfad halten und den PSR-4-spezifischen Wert beachten.
  1. Ändern Sie den Namespace, der auf die Datei routes.php angewendet wird, indem Sie app\Providers\RouteServiceProvider.php und ändern Sie dies:
protected $namespace = 'App\Http\Controllers';

zu diesem:

protected $namespace = 'App\Controllers';


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow