in
La comunità italiana dedicata a Sviluppatori e Architetti IT delle piattaforme Windows

Gestione istanze in php5

Ultimo messaggio ricevuto il 16-07-2007 20.10 da tfanabe. 0 risposta(e).
Pagina 1 di 1 (1 elemento/i)
Ordina messaggi: Precedente Successivo
  • 16-07-2007 20.10

    • tfanabe
    • Utente Top 25
    • Registrato il 04-11-2004
    • Messaggi 54

    Gestione istanze in php5

    Buona sera a tutti,

    Devo scrivere un applicativo abbastanza complesso ed ho scelto Delphi for PHP come piattaaforma dato che conosco bene la VCL, ma ahime pochissimo il PHP5 dato che è la prima volta che lo impiego.
    Il mio problema è nella gestione delle istanze delle classi, ma penso che sia solo dovuto al fatto che non
    conosco a dovere il linguaggio stesso. Ma veniamo al sodo..

    <?php  // file primo.php
         
      class A
      {
         private $dato="ciao";
      
        function setA($dato)
        {
          $this->dato=$dato;
        }

        function getA()
        {
          return $this->dato;
        }
     
      }

      $oggetto_A=new A();

      function GloableA()
     {
        global $oggetto_A;

       return $oggetto_A;
     }

    ?>

    ora ho un altro file php chiamato secondo.php

    <?php   // secondo.php
         require_once("primo.php");
          ...
        GlobaleA->setA("pippo");
        $verifica=GlobaleA->getA();
        if($verifica=="pippo")
       {
          redirect ('terzo.php');
       }
    ?> 

    il dato che trovo nella variabile verifica è quello che ho precedentemente passato...
    il mio problema è quando vado in terzo.php e richiamo il metodo "getA" mi viene restituita
    la stringa "ciao" e non quello che precedentemente passato ossia la stringa "pippo".

    <?php
           require_once("primo.php");
     
       $vedo=GlobaleA->getA();
       echo $vedo;
    ?>

    qui il dato non contiene la stringa ma quella di defualt del dato membro privato, è come se lavorassi con un altra istanza dell'oggetto, anzi, visto il dato questa è un altra istanza ma non capisco chi la crea e perchè ma sopratutto come faccio ad avere un unica istanza globale nell'intero progetto.
    In teoria la funzione GlobaleA dovrebbe avermi creato un istanza globale ma non vorrei che ogni volta che linko il file "primo.php" tramite la clausola "require_once", l'istanza rivenga creata e che ovviamente mi ritrovo i dati privati con valori di default.

    Se qualcunodi molto gentilmente mi riesce a suggerire come risolvere questo problema gli sarei davvero grato visto che come ho accennato all'inizio è la prima volta che uso PHP5.

    Ringrazio tutti per l'attenzione.

    Tfanabe

    • Log
Pagina 1 di 1 (1 elemento/i)
Prelevato da http://www.devspy.com/forums/p/4551/5593.aspx
DevSpy.com 6.0 © 2001-2008 - Alcuni Diritti Riservati
Salvo diversa indicazione, tutti i contenuti sono pubblicati sotto licenza "Creative Commons Attribution-Share Alike 3.0"