Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826

    classi e variabili statiche php 5

    Ciao.
    Ho un problema con symfony , ma è relativo al linguaggio (php 5).
    Ho una classe statica e vorrei poter "settare" dall' esterno una variabile membro interna alla classe .
    Del tipo : ClassStatica::nomevar = 5;
    In modo che questa variabile membro, proprio come da nome, sia accessibile a tutta la classe.
    Come si fa?
    è possibile?
    grazie.

  2. #2
    Utente di HTML.it L'avatar di r1cky`
    Registrato dal
    Feb 2007
    Messaggi
    432
    Codice PHP:
    class Prova
    {
        public static 
    $attributo;

        public static function 
    funzione()
        {
            echo 
    self::$attributo;
        }
    }

    Prova::$attributo "ciao!";

    Prova::funzione(); 

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    non so perchè , ma non funzia:
    questa la classe:
    codice:
    class BlogCommentPeer extends BaseBlogCommentPeer
    {
    	public static $criteria;
    	public static $idParentx;
    
    	public static function setIdParent($id)
    	{
    		BlogCommentPeer::$idParentx = $id;
    	}
    	
    	static public function getCriteria()
    	{
    		$c = new Criteria();
            	$c->add(BlogCommentPeer::BLOG_ARTICLE_ID, self::$idParentx, Criteria::EQUAL);
    		return $c;
    	}
    	
    	static public function doSelectJoinComment()
           {
                   $c = new Criteria();
                  $c->add(BlogCommentPeer::BLOG_ARTICLE_ID, self::$idParentx, Criteria::EQUAL);
        	
        	      return self::doSelect($c);
            }
    
    	static public function getNbResults()
    	{
    		$c = new Criteria();
             	$c->add(BlogCommentPeer::BLOG_ARTICLE_ID, self::$idParentx , Criteria::EQUAL);
        
    		self::doCount($c);	
    	}
    }
    questa è la chiamata da un altro punto dell' applicazione , i
    codice:
     BlogCommentPeer::setIdParent(5);
    in self::$idParentx non c'è niente , quindi questo non ha settato la variabile : BlogCommentPeer::setIdParent(5);

    perchè??

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    up

  5. #5
    Utente di HTML.it L'avatar di r1cky`
    Registrato dal
    Feb 2007
    Messaggi
    432
    hai provato a cambiare:

    Codice PHP:
        public static function setIdParent($id)
        {
            
    BlogCommentPeer::$idParentx $id;
        } 
    in

    Codice PHP:
        public static function setIdParent($id)
        {
            
    self::$idParentx $id;
        } 

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    il problema è che se setto la variabile e subito la testo funziona, se setto la variabile , faccio un redirect e leggo la variabile dopo il redirect non trovo niente !
    Grazie.

  7. #7
    Utente di HTML.it L'avatar di r1cky`
    Registrato dal
    Feb 2007
    Messaggi
    432
    Beh questo mi sembra ovvio! Lo scope delle variabili è relativo all'esecuzione corrente, non viene persistito... Per far ciò invece o usi le sessioni oppure salvi i valori su db!

  8. #8
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    Ti suggerisco di iniziare leggendo il manuale ufficiale:

    http://www.php.net/manual/en/languag...bles.scope.php



    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

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.