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

    dichiarazione di una costante

    Salve a tutti,
    volevo chiedervi un chiarimento sull'uso delle costanti all'interno di una funzione costruttrice, vi mostro inanzitutto l'esempio in questione:


    Codice PHP:
    <?PHP
    class Transform
     
    {
      var 
    $tab;
      var 
    $id;
      var 
    $xsl;
      var 
    $css;
      var 
    $lang;     
       function 
    Transform($tab,$id all,$xsl$css "default"$lang)
       {
        
    $this->tab $tab;
        
    $this->id $id;
        
    $this->xsl $xsl;
        
    $this->css $css;
        
    $this->lang $lang;
       }
     } 
    $test = new Transform("texts""tutto""html""it");
    print_r($test); 
    ?>


    nell'esecuzione ricevo il seguente output:
    Warning: Missing argument 5 for transform() in /var/www/portfolio/class_transform.php on line 11
    transform Object ( [tab] => texts [id] => tutto [xsl] => html [css] => it [lang] => )


    la domanda è: ...a cosa servono le costanti se poi le devo ridichiarare quando chiamo la funzione?

    :master: Presumo che qualcosa non funga....

    bye
    _And

  2. #2
    Utente di HTML.it L'avatar di dalang
    Registrato dal
    May 2003
    Messaggi
    252
    codice:
    function Transform($tab,$id = all,$xsl, $css = "default", $lang)
    $css="default" non è una costante, è il valore di default, a css viene assegnato il valore "default" se non ne viene specificato uno quando si chiama la funzione.
    però, se non è l'ultimo argomento, non so se puoi ometterlo...

    soluzioni:
    codice:
    function Transform($tab,$id = all,$xsl, $lang, $css = "default")
    e la richiami come hai fatto tu
    oppure:
    codice:
    class Transform
     {
      var $tab;
      var $id;
      var $xsl;
      var $css = "default";
      var $lang;     
       function Transform($tab,$id = all,$xsl, $lang)

  3. #3
    Ok, mettendo le variabili "di default" alla fine funge!!!
    Grazie del chiarimento
    _And

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.