Meddelande

Minska
No announcement yet.

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

Minska
X
 
  • Filter
  • Klockan
  • Show
Clear All
new posts

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

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

    Exempel på hur en kontroller ser ut i mitt projekt: https://github.com/panique/mini/blob...ller/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
    Kod:
        
    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
    Kod:
    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)
    http://www.galnanyheter.com/ - Galna nyheter utöver det vanliga

    Skaffa Dropbox - Ett självklart val för att synkronisera filer mellan datorerna samt telefonen.

  • #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.
    Zend Certified PHP Engineer

    Kommentera

    Working...
    X