Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Non capisco sintassi OOP

    Da qualche settimana ho iniziato a studiare il framework Yii e non riesco a capire cosa voglia dire una sintassi di questo tipo
    codice:
    Yii::app()->user->isGuest
    Nella prima parte sto richiamando il metodo statico app() della classe Yii giusto???
    Ma con
    codice:
    ->user->isGuest
    cosa sto facendo?

    Credo che sia dovuto al fatto che non ho tanta esperienza di OOP. Spero di essere stato comprensibile.

  2. #2
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    Yii::app() ritorna una istanza di un oggetto che ha una proprietà 'user'. La proprietà 'user' a sua volta è una istanza di un altro oggetto che ha una proprietà 'isGuest'

    http://php.net/manual/en/language.oop5.php

  3. #3
    Grazie .Kurt,

    mi è stato molto utile il tuo aiuto,

    Ho avuto difficoltà a trovare info su questo argomento, nei manuali trovavo sempre esempi più banali, tipo un metodo si richiama così, un metodo statico cosà...

    Se ho capito bene siamo in una situazione di questo tipo:

    Il metodo app() ritorna un oggetto che ha una proprietà user, e io posso richiamare direttamente tale proprietà senza far riferimento all'oggetto stesso.

    Io mi aspettavo una roba simile
    codice:
    $foo = Yii::app();
    $foo->user;
    Se posso chiedere un'ultima cosa dove posso documentarmi meglio su questa cosa? Perché ho provato a cercare in giro (giuro) ma non trovavo niente di simile. O forse è una sintassi normalissima e sono io a non essere ancora dentro la OOP.
    Grazie ancora

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Originariamente inviato da giupix
    Grazie .Kurt,

    mi è stato molto utile il tuo aiuto,

    Ho avuto difficoltà a trovare info su questo argomento, nei manuali trovavo sempre esempi più banali, tipo un metodo si richiama così, un metodo statico cosà...

    Se ho capito bene siamo in una situazione di questo tipo:

    Il metodo app() ritorna un oggetto che ha una proprietà user, e io posso richiamare direttamente tale proprietà senza far riferimento all'oggetto stesso.

    Io mi aspettavo una roba simile
    codice:
    $foo = Yii::app();
    $foo->user;
    Se posso chiedere un'ultima cosa dove posso documentarmi meglio su questa cosa? Perché ho provato a cercare in giro (giuro) ma non trovavo niente di simile. O forse è una sintassi normalissima e sono io a non essere ancora dentro la OOP.
    Grazie ancora
    Quella è una variabile dell'oggetto non una funzione perciò richiamarla cosi è inutile

    Codice PHP:
    $foo Yii::app()->user
    Semmai cosi, in questo modo $foo ottiene il valore della proprietà user dell'oggetto
    istanziato dal metodo statico che richiami

  5. #5
    Grazie RoTeam,

    mi hai aiutato ha riflettere su un'altro aspetto che non avevo messo in conto.

    quindi lanciando un comando simile
    codice:
    Yii::app()->user->isGuest
    E' corretto dire che sto richiamando il metodo app() della classe Yii, che mi restituisce un'altro oggetto di cui mi interessa la proprietà user che richiamo, che sua volta mi restituisce un'altro oggetto da cui recupero il valore della proprietà isGuest?

    spero di non aver detto una cavolaia, perché vorrebbe dire che ho capito.

  6. #6
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    codice:
    Yii::app()->user->isGuest
    puoi anche vederlo come

    codice:
    $app = Yii::app();
    $user = $app->user;
    $guest = $user->isGuest;

  7. #7
    Grazie .Kurt,

    anche questa cosa mi aiuta parecchio per capire, ora ci dormo su.

    Buonanotte a tutti e grazie dell'aiuto

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.