了解PHP外部类

时间:2016-02-08 04:57:21

标签: php api

我想在另一个文件中访问外部类的方法。

我有一个外部课程,让我们说:

外部/ file.php

class ExternalClass {
  private $myClient;

  const CONSTANT = 'some/path';

  public function _constructor($myClient) {
    $this->myClient = $myClient;
  }

  public function getSome($information) { // Need to access this function
    $data = new StdObject();
    $data->information = $information;
    $result = $this->myClient->post(
      self::CONSTANT,
      $data
    );
    return($result['code'] == 200 ? json_decode($result['body']) : false);
  }

  public static function instance($SETTINGS) {
    return new ExternalClass(new MyClient($SETTINGS['externalclass']['host']));
  }

}

...我想在另一个文件中引用这个类。

内部/ file.php

include_once('external/file.php');

$externalClassInstance = ExternalClass::instance($SETTINGS); // line 3
$externalClass = new ExternalClass(); // line 4
$externalClassGetSome = $externalClass->getSome($information);  // line 5

问题是,我不确定我是否正确引用内部文件中的外部方法。

是"第3行"甚至是必要的?

此外,添加第5行代码会破坏其后的所有代码。

2 个答案:

答案 0 :(得分:1)

首先,我不知道你为什么需要第3行。 其次你似乎有答案

include_once('external/file.php');
$externalClass = new ExternalClass(); // line 4
$externalClassGetSome = $externalClass->getSome($information);

答案 1 :(得分:0)

尝试从

更改
 include_once('external/file.php');

 include_once('../external/file.php');

因为它位于外部目录中,而您的文件位于内部目录中。