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:

  1. Verplaats en / of hernoem de standaardmap Controllers gewenste locatie. Bijvoorbeeld van app/Http/Controllers naar app/Controllers
  1. Werk alle naamruimten van de bestanden in de map Controllers , zodat ze voldoen aan het nieuwe pad, met respect voor de specifieke PSR-4.
  1. Wijzig de naamruimte die wordt toegepast op het bestand routes.php door app\Providers\RouteServiceProvider.php en wijzig dit:
protected $namespace = 'App\Http\Controllers';

hierop:

protected $namespace = 'App\Controllers';


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow