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

Discussione: [OOP] includere file

  1. #1
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281

    [OOP] includere file

    ciao a tutti

    oggi ho iniziato con la programmazione ad oggetti in php.
    vorrei chiedervi se è possibile includere un file all'interno di una classe. mi spiego meglio.
    Ho questa classe:

    file: myclass.php
    Codice PHP:
    class myclass
    {
        var 
    $dbhost "localhost";
        var 
    $dbname "ciccio";
        var 
    $dbuser "io";
        var 
    $dbpass "";

        function 
    myclass()
        {
         
    $this->conn mysql_connect($this->dbhost$this->dbuser,$this->$dbpass);
        
    mysql_select_db ($this->dbname);
        }
        .
        .
        .
        .

    vorrei inserire le variabili dbhost, dbuser, dbpass, dbname all'interno di un file di configurazione, per esempio conf.in.php, e non dichiararle all'interno della classe come faccio ora.

    quindi:
    Codice PHP:
    class myclass
    {
        require_once(
    "conf.inc.php");

        function 
    myclass()
        {
         
    $this->conn mysql_connect($this->dbhost$this->dbuser,$this->$dbpass);
        
    mysql_select_db ($this->dbname);
        }
        .
        .
        .
        .

    così però non funziona. dove sbaglio?

    grazie a tutti

  2. #2
    metti il require_once dentro alla funzione

  3. #3
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281
    Originariamente inviato da jeck
    metti il require_once dentro alla funzione
    adesso ci provo grazie

  4. #4
    codice:
    include "config.inc.php";
    
    class myclass
    {
        function myclass()
        {
         $this->conn = mysql_connect($this->dbhost, $this->dbuser,$this->dbpass);
        mysql_select_db ($this->dbname);
        }
        .
        .
        .
        .
    }
    
    $db = new myclass();
    $db->dbname = $config['sql_name'];//var presenti nel file config.inc.php
    $db->dbuser = $config['sql_user'];
    $db->dbpass = $config['sql_pass'];
    $db->dbhost = $config['sql_host'];
    Prova così...
    .:PhpMyPortal:. Sta per arrivare... sul vostro sito.
    Scaricalo da http://phpmyportal.n4g.it

    WebMaster di http://www.n4g.it
    Programmatore di PhpMyPortal: The Future of CMS

  5. #5
    io farei così
    Codice PHP:
    include "config.inc.php";

    class 
    myclass
    {
        function 
    myclass()
        {
         global 
    $config;

         
    $this->dbuser $config['sql_user'];
         
    $this->dbpass $config['sql_pass'];
         
    $this->dbhost $config['sql_host'];
         
    $this->dbname $config['sql_name'];
        }

        function 
    connect()
        {
         
    $this->conn mysql_connect($this->dbhost$this->dbuser,$this->dbpass);
         
    mysql_select_db ($this->dbname);
        }
        ...
    }

    $db = new myclass(); 

  6. #6
    Io credo che a liu serva solo per prendere l'host, lo username e la password. Quindi credo che sia meglio metterlo dentro alla funzione, così non è visibile dall'esterno, o sbaglio?

  7. #7
    a voler fare le cose in vero stile OO (come mi sembra di capire dal topic) forse sarebbe meglio una soluzione di questo tipo:
    codice:
    include "config.inc.php";
    
    class myclass
    {
        function myclass($sql_user,$sql_pass,$sql_host,$sql_name)
        {
         $this->dbuser = $sql_user;
         $this->dbpass = $sql_pass;
         $this->dbhost = $sql_host;
         $this->dbname = $sql_name;
        }
         ...
    }
    
    $db = new myclass($config['sql_user'],$config['sql_pass'],$config['sql_host'],$config['sql_name']);

  8. #8
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281
    grazie a tutti per aver risposto

    @jeck
    se inserisco il require_once all'interno della funzione non va. come se non vedesse proprio le variabili settate in config.inc.php
    perchè? :master:

  9. #9
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281
    per precisare, io soto lavorando con AMFPHP in quanto sto creando un ecommerce in flash e php.

    la classe è quindi costruita in questo modo. (ne riporto una qualsiasi)
    Codice PHP:
    class myclass{    
       function 
    myclass()
       {
         
    $this->methodTable = array(
                  
    "mymethod" => array(
                  
    "description" => "Log in user",
                  
    "access" => "remote"
                  
    "arguments" => array()
                  )
         );

            
         include 
    "../../include/config.php"//qui inserisco l'include ma non mi vede le variabili all'interno?????

        
         
    $this->conn mysql_connect($this->dbhost$this->dbuser$this->dbpass);
         
    mysql_select_db ($this->dbname);
       }

       function 
    mymethod(){
         ...
       }



  10. #10
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281
    se invece faccio così

    include "../../include/config.php";

    $this->conn = mysql_connect($dbhost, $dbuser, $dbpass);
    mysql_select_db ($dbname);

    funziona correttamente.

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.