Ricerca…


Cambia directory delle app predefinite

Ci sono casi d'uso quando potresti voler rinominare la tua directory app in qualcos'altro. In Laravel4 puoi semplicemente modificare una voce di configurazione, ecco un modo per farlo in Laravel5.

In questo esempio, rinomineremo la directory app in src .

Sostituisci la classe dell'applicazione

L' app name name è hardcoded nella classe Application principale, quindi deve essere sovrascritta. Crea un nuovo file Application.php . Preferisco mantenere il mio nella directory src (quella che sostituiremo con l'app), ma puoi posizionarlo altrove.

Ecco come dovrebbe apparire la classe sostituita. Se vuoi un nome diverso, cambia la stringa src in qualcos'altro.

namespace App;

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

Salva il file. Abbiamo finito con questo.

Chiamando la nuova classe

Apri il bootstrap/app.php e individua

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

Lo sostituiremo con questo

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

Compositore

Apri il tuo file composer.json e cambia autoloading in modo che corrisponda alla tua nuova posizione

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

E infine, nella riga di comando esegui composer dump-autoload e la tua app dovrebbe essere pubblicata dalla directory src .

Cambia la directory Controller

se vogliamo cambiare la directory Controllers abbiamo bisogno di:

  1. Sposta e / o rinomina la directory Controllers predefinita dove vogliamo. Ad esempio da app/Http/Controllers a app/Controllers
  1. Aggiorna tutti gli spazi dei nomi dei file all'interno della cartella Controllers , facendo aderire al nuovo percorso, rispettando lo specifico PSR-4.
  1. Cambia lo spazio dei nomi che viene applicato al file routes.php , modificando app\Providers\RouteServiceProvider.php e modifica questo:
protected $namespace = 'App\Http\Controllers';

a questo:

protected $namespace = 'App\Controllers';


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow