In der Methode getConfig
in der Klasse IlluminateFilesystemFilesystemManager
in Laravel 5.1 verwendet
tatsächlich
$this->app['config']["filesystems.disks.{$name}"]);
Gibt ein Array zurück.
Aber
$this->app
Es ist offensichtlich ein Ziel.
Kann ein Objekt mithilfe des Schlüsselwerts eines Arrays abgerufen werden? Das ist offensichtlich grammatikalisch falsch, aber es ist trotzdem etwas Magisches passiert
Dies ist die getConfig-Methode
/** * Get the filesystem connection configuration. * * @param string $name * @return array */ protected function getConfig($name) { return $this->app['config']["filesystems.disks.{$name}"]; }
Ich habe separat dd($this->app);
Das ist wie folgt
/** * Get the filesystem connection configuration. * * @param string $name * @return array */ protected function getConfig($name) { dd($this->app); return $this->app['config']["filesystems.disks.{$name}"]; }
Ausgabe
Aber ich dd($this->app'config'); das ist
protected function getConfig($name) { dd($this->app['config']["filesystems.disks.{$name}"]); return $this->app['config']["filesystems.disks.{$name}"]; }
Dann ist die Ausgabe wie folgt
Kurz gesagt, $app ist offensichtlich ein Objekt. Wie kann es in der Form $app[$k] geschrieben werden?