webForumDet fria alternativet

Passa en array till en klass så jag kan använda den i hela klassen?

PHP

1 svar · 996 visningar · startad av xtreme

Medlem sedan juli 20002 056 inlägg
Frågan#1

Har en kontroller klass som ser ut såhär: https://github.com/panique/mini/blob/master/application/core/controller.php

Exempel på hur en kontroller ser ut i mitt projekt: https://github.com/panique/mini/blob/master/application/controller/songs.php

För övrigt följer mitt projekt samma struktur som php-ramverket jag länkar till ovan

Jag vill skapa en array i controller.php och passa den till en kontroller (ex Songs fast min heter Album) så att jag kan använda den i alla funktioner i den klassen.

Har försökt skapa en egen konstruktor i album.php (min kontroller där jag vill få åtkost till arrayn) men fungerar inte.

controller.php

    
class Controller
{

function __construct()
    {
        $this->openDatabaseConnection();
        $this->loadModel();
        $this->aws();
    }

    public function aws()
    {
        $client = S3Client::factory(array(
            'credentials' => array(
                'key'    => AWS_KEY,
                'secret' => AWS_SECRET,
                )
            ));

        $this->album = new Album($client);
    }
}

album.php

class Album extends Controller
{
   function __construct($client)
   {
        $this->$client = $client;
   } 

    public function index()
    {
//kunna komma åt $client här
   } 

    public function annanfunktion()
    {
//kunna komma åt $client här
   }
}

För att sammanfatta. $client som jag skapar i controller.php vill jag kunna använda i alla funktioner i kontrollern album.php

Notice: Undefined variable: client (controllers/album.php)
Fatal error: Cannot access empty property (controllers/album.php)

Medlem sedan maj 20031 472 inlägg
#2

$this->**$**client = $client;

är fel, du har ett $ för mycket före client där.

Sedan borde du deklarera $client i classen Album.

251 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)