Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [OOP] risultato Object?? cos'è??

    Maledetta OOP...

    Ho questa semplice classe.. è una delle prime che scrivo quindi può essere un'orrore..
    browser_classe.php:
    Codice PHP:
    class verifica_browser {

        var 
    $browser;

        function 
    browser() {
            
    $this->browser $browser;
        }

        function 
    trova_browser() {
            
    $this->browser $_SERVER['HTTP_USER_AGENT'];
            
    $risultato_browser strstr($this->browser"MSIE");
            return 
    $risultato_browser;
        }

    E nella pagina index.php..
    Codice PHP:
    include_once("classi/browser_classe.php");

    $browser = new verifica_browser;
    $browser->trova_browser();
    echo 
    $browser
    mi esce dall'echo.. Object

    Allora quanti orrori ci sono?? lo scopo mio è quello di capire se l'utente utilizza IE o FF x questioni di CSS.. chi mi aiuta???

    Ah ho scritto solo questo x ora xke vo dalla morosa adesso..
    Azieeeeeee

    Questa volta, più che un voto.. è favoreggiamento.

  2. #2
    ??niente
    Questa volta, più che un voto.. è favoreggiamento.

  3. #3
    Incredibile raga ho risolto... ed esteso pure...

    la classe è diventata cosi:
    Codice PHP:
    class verifica_browser {

        var 
    $browser;

        function 
    browser() {
            
    $this->browser $browser;
        }

        function 
    trova_browser() {
            
    $this->browser $_SERVER['HTTP_USER_AGENT'];
            
    $risultato_browser strstr($this->browser"MSIE") ? TRUE FALSE;
        }
    }

    class 
    browser extends verifica_browser {
        
        var 
    $stile_ie "index_ie.css";
        var 
    $stile_ff "index_ff.css";

        function 
    browser_ie($stile) {
            
    $this->browser();
            
    $this->stile_ie $stile_ie;
            
    $this->stile_ff $stile_ff;
        }

        function 
    stile() {
            if (
    parent::trova_browser()) {
                echo 
    $this->stile_ie
                } else {
                echo 
    $this->stile_ff;
            }
        }    

    e sull'index:
    Codice PHP:
    include_once("classi/browser_classe.php");

    $br = new browser;
    $br->stile(); 
    su firefox mi stampa index_ff.css e su IE l'altro.. Grandioso!!!!!!!!!

    Toglietemi una curiosità.. almeno stò ragionando bene??

    Vi amo
    Questa volta, più che un voto.. è favoreggiamento.

  4. #4
    Hai messo un sacco di roba sbagliata ed inutile tra l'altro
    Codice PHP:
    <?php
    class browser {
        
        var 
    $is_IE FALSE;
        var 
    $is_Firefox FALSE;
        
        function 
    browser() {
        
            
    $browser $_SERVER['HTTP_USER_AGENT'];
            
            if(
    strpos($browser'MSIE'))     $this->is_IE TRUE;
            elseif(
    strpos($browser'Firefox'))    $this->is_Firefox TRUE;
            else return 
    FALSE;
            
        }
    }

    $br = new browser;

    if(
    $br->is_IE) echo "IE";
    if(
    $br->is_Firefox) echo "Firefox";
    ?>
    Ovviamente ci sono altri 1000 modi possibili

  5. #5
    ma sai che lo immaginavo..

    Porca zozzona... Mi spieghi una cosuccia...

    var $is_IE = FALSE;
    var $is_Firefox = FALSE;

    xke tu non mettu il costruttore??? e non fai $this->is_IE = $is_IE;

    e poi io voglio che la classe mi dia risultato senza dover fare if($br->is_IE) echo "IE";
    if($br->is_Firefox) echo "Firefox";...

    anche xke se lo devo inserire nel richiamo dello stile non mi piace quel metodo li...

    Azieee
    Questa volta, più che un voto.. è favoreggiamento.

  6. #6
    Ora io non sono espertissimo in OOP, però

    xke tu non mettu il costruttore??? e non fai $this->is_IE = $is_IE;
    Il costruttore io l'ho messo ed è il contenuto di function browser(), non credo ci sia necessita di riassegnare una variabile che già è assegnata
    (e sinceramente neanche ho mai visto usare quel metodo)

    e poi io voglio che la classe mi dia risultato senza dover fare if($br->is_IE) echo "IE";
    if($br->is_Firefox) echo "Firefox";...

    anche xke se lo devo inserire nel richiamo dello stile non mi piace quel metodo li...
    Tu puoi fare quel che ti pare, a me non piace mettere gli echo all'interno di una classe ad esempio



  7. #7
    non capisco proprio perchè utilizzare OOP



    Codice PHP:
    function getStyle( ) {
      
    $browser_style = array( 'MSIE' => 'styleie.css' 'Firefox' => 'styleff.css' );
      foreach( 
    $browser_style as $k => $v )
         if ( 
    strpos$_SERVER['HTTP_USER_AGENT'] , $k ) !== FALSE 
            return 
    $v;

    e nella pagina

    codice:
    $style = getStyle();
    come vedete molte righe di codice in meno più pulito e facile da espandere basta aggiungere elementi all'array [browser_style]..

    saluti

  8. #8
    Era ovvio che per una cosa così semplice un funzione era la cosa più veloce da fare, ma se chiede come farlo in OOP può anche darsi che sia a scopo "didattico"

  9. #9
    xNavigator lo sò anche io che si puo fare con la programmazione strutturale ma il mio intento è quello di imparare e capire la OOP quindi da qualcosa devo cominciare.. anche se a te sembra che non serve a niente a me può servire a capire il funzionamento..

    X cubalibre allora il costruttore l'ho visto.. e fin qui ci sono.. poi dici che sarebbe meglio non inserire echo in una classe?? come mai? non posso aspettarmi sempre che mi dia riosultati VERO o FALSO..

    :master: nn ci arrivo...
    Questa volta, più che un voto.. è favoreggiamento.

  10. #10
    Originariamente inviato da Al_katraz984
    xNavigator lo sò anche io che si puo fare con la programmazione strutturale ma il mio intento è quello di imparare e capire la OOP quindi da qualcosa devo cominciare.. anche se a te sembra che non serve a niente a me può servire a capire il funzionamento..

    capito però:

    forse sono io che sono troppo fissato con la procedurale ma secondo me è assolutamente inutile che impari la OOP, stiamo parlando di php e stiamo parlando di ritirare dati da mysql e farli uscire in una pagina html.

    infatti le operazioni che dovrai fare per un sito sono quasi simili non a caso all'operazione che stai studiando ora di verifica dell'user agent, e in questo caso come in quasi tutti gli alri casi non avrai bisogno di oop.

    saluti

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.