Chiamando la function PHP Class nella mia pagina

Ho un file di class: lo chiameremo class.php . La sua funzionalità è quella di get informazioni da un file ini (sì, ho postato la domanda sulla sicurezza e mi è stato dato l'ottimo suggerimento di usare un file di configuration o un file ini per conservare le informazioni del DB).

In sostanza, la mia class è questa:

<?php class myClass { public function getAttached() { $file = "../../myFile.ini"; if (!$settings = parse_ini_file($file, TRUE)) throw new exception('Unable to open ' . $file . '.'); $hoost = $settings['mysqli']['default_host']; $useer = $settings['mysqli']['default_user']; $pazz = $settings['mysqli']['default_pw']; $dbs = $settings['mysqli']['default_db']; $con = mysqli_connect($hoost ,$useer, $pazz, $dbs); return $con; } } $obj = new myClass(); $obj->getAttached(); $vals = $obj->getAttached(); //echo $vals; //didn't know if I should echo this or not. ?> 

Voglio chiamarlo nel mio file somePage.php per creare la mia connessione "mysqli" e andare da lì …

Ho provato questo:

 require_once('class.php'); getAttached(); 

Ovviamente questo non ha funzionato (sapevo che non sarebbe stato così – l'ho fatto comunque solo per vedere se "forse"), quindi – come faccio a call quella function dal mio file di class nella normale pagina php?

Ogni pensiero sarebbe apprezzato. Grazie in anticipo.

È necessario creare un'istanza della class prima di call le funzioni in quanto non statiche.

 require_once('class.php'); $myClass = new myClass(); $myClass-> getAttached(); 

o, come ho detto sopra, potresti rendere statica la function.

 public static function myFunction() { //etc... } 

Quindi per chiamarlo useresti:

 require_once('class.php'); myClass::getAttached(); 

Devi prima avviare la tua class, nello stesso modo in cui lo hai fatto nel tuo file class.php:

 $myclass = new myClass(); $myClass->getAttached(); 

Nota che se il tuo metodo può essere usato senza alcuna relazione con la tua class, potresti renderlo statico :

 public static function getAttached() { // ... } 

E usalo senza wherer instanciare la tua class:

 myClass::getAttached(); 

Il tuo metodo getAttached() all'interno di myClass, crea l'istanza per la class e chiama

la function

 $call = new myClass(); $call->getAttached(); 

Le risposte date sono corrette, ma se mantieni il tuo file di class come hai postato, hai già un object in $obj quindi non c'è bisogno di crearne uno nuovo. Se è solo temporaneo, puoi ignorare il mio post.

Un'altra cosa:

  $obj->getAttached(); // this line is not needed, as you call this function in next line $vals = $obj->getAttached();