Вызов функции класса PHP на моей странице

У меня есть файл класса: мы будем называть его class.php . Функциональность этого заключается в том, чтобы захватить информацию из ini- файла (да, я разместил вопрос о безопасности и получил большое предложение использовать либо файл конфигурации, либо ini-файл для хранения информации БД).

По сути, мой класс таков:

<?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. ?> 

Я хочу вызвать это в моем файле somePage.php, чтобы сделать мое соединение «mysqli» и перейти оттуда …

Я попробовал это:

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

Очевидно, что это не сработало (я знал, что это не будет, но я все равно сделал это, чтобы увидеть, возможно ли это), так что – как я могу вызвать эту функцию из моего файла класса на обычной php-странице?

Любые мысли были бы оценены. Заранее спасибо.

Вам нужно сделать экземпляр класса перед вызовом функций, поскольку они не являются статическими.

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

или, как я уже сказал выше, вы можете сделать функцию статической.

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

Затем, чтобы позвонить, вы будете использовать:

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

Вы должны сначала инициировать свой класс, как и вы, в файле class.php:

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

Обратите внимание: если ваш метод можно использовать без какого-либо отношения к вашему классу, вы можете сделать его статическим :

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

И используйте его без необходимости создавать свой класс:

 myClass::getAttached(); 

Ваш getAttached() в myClass, создайте экземпляр для класса и вызовите

функция

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

Даны ответы правильные, но если вы сохраните свой файл класса, как вы разместили, у вас есть объект уже в $obj поэтому нет необходимости создавать новый. Если это просто временно, вы можете игнорировать мой пост.

Еще кое-что:

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