Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,316

    OOP far passare una classe come valore di un metodo

    Sto leggendo un pò di source codes e nel frattempo leggendo un libro sulle OOP di PHP 5.x, sfortunatamente il libro anche se ottimo è rimasto un pò indietro (consiglia __autoload invece di spl_autoload_register, non tratta i namespaces e altri fondamentali utilizzati attualmente).

    Quando mi ritrovo un metodo del genere:
    Codice PHP:
    public function compileQuery(Query $queryValueBinder $generator) {        
        
    $processor $this->newCompiler();        
        
    $translator $this->queryTranslator($query->type());        
        
    $query $translator($query);        
        return [
    $query$processor->compile($query$generator)];    

    Quel: public function compile(Query $query, ValueBinder $generator) come funziona? Qualcuno mi fa un pratico esempio di come far passare una classe insieme al metodo? O mi linka qualcosa?

    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,316
    Questo è un esempio (inutilmente) corretto?

    <?php


    class prova {
    function __construct() {

    }
    function stampa() {
    echo "ok";
    }
    }


    class lol extends prova {


    }


    class test {
    function stampa() {
    echo "ok";
    }
    }


    class Text {
    function __construct() {
    $this->cc(new test);
    }

    function cc(prova $text) {
    $text->stampa();
    }
    }


    new Text;
    O la sua utilità va ben oltre?

  3. #3
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,361
    Se php funziona come gli altri linguaggi, direi che richiede un'istanza di un oggetto di tipo Query.

    $pippo = new Query();
    ...
    $a->compileQuery($pippo,....);
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

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.