Visualizzazione dei risultati da 1 a 6 su 6

Discussione: typecast classi php6

  1. #1

    typecast classi php6

    ho una classe B che estende A.
    In pratica devo convertire un oggetto A in B, o meglio:

    class A{
    public function __construct(){
    }
    }

    class B extends A{
    public function __construct(){
    }
    }

    $a = new A();
    $a2 = // quà vorrei passare l'oggetto $a ma facendo credere che è l'oggetto B!! Non esiste un cast in php5 che aiuti?
    Posso chiamare sistema operativo una cosa che per spegnere il pc devo cliccare su avvio?

  2. #2
    passa al costruttore di B l'oggetto a


    class A{
    public function __construct(){
    }
    }

    class B extends A{
    public function __construct( A $obj ){
    }
    }


    e casti al suo interno o ti crei un oggetto che fa il casting per te ...

    cmq e' PHP5, non PHP6
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  3. #3
    Ciao,
    non che io sappia, però puoi verificare/pretendere che un oggetto derivi da una data parent class.
    Quindi se B è eredita da A, puoi usare istanceof
    http://it2.php.net/manual/en/languag...ators.type.php

    oppure

    http://freephp.html.it/articoli/view...p?id=147&pag=8


    Tra l'altro ho l'impressione che se fosse possibile fare il casting di un oggetto in un altro sarebbe una violazione della logica di classe

    [EDIT]

    Andrea è arrivato prima
    per favore NIENTE PVT TECNICI da sconosciuti

  4. #4
    uhmm e il cast di un'interfaccia? in java si può!
    Posso chiamare sistema operativo una cosa che per spegnere il pc devo cliccare su avvio?

  5. #5
    ok, niente da fare. Ho ravazzato in php.net e nella documentazione ho trovato una funzione che non clona ma diciamo "aiuta"

    Insomma, attenderemo veramente php6 . Intanto ho trovato un metodo sostitutivo.

    Comunque, dopo 2 settimane di php a classi direi che il supportoo OO è buono ma può essere perfezionato. Sono già a 2 cose che non si riescono a fare (avevo postato in un'altro form un problema di serializzazione delle classi e le sue var statiche).

    Voi che ne dite?

    Posso chiamare sistema operativo una cosa che per spegnere il pc devo cliccare su avvio?

  6. #6
    Ciao,
    il problema dela serializzazione delle variabili statiche si può risolvere con dei workarounds, altre funzionalità...tra cui il casting delle interfacce non le metterei alprimo posto della lista di cose che mancano.
    PHP è un linguaggio per il WEB, se servono tutte le funzionalità di Java e C++ meglio usare Java e C++.

    Ps.
    Python non ha le interfacce e da molti è considerato un linguaggio con un modello a oggetti migliore dei due citati precedentemente
    per favore NIENTE PVT TECNICI da sconosciuti

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 © 2025 vBulletin Solutions, Inc. All rights reserved.