我正在使用Enom API,此API使用自己的接口(而不是Codeigniters),如下所示:
<?php
require_once( dirname(__FILE__) . '/class.EnomInterface.php' );
Class EnomService extends EnomInterface{
function checkDomain($sld, $tld, $spinner = false, $allowDash = true, $word1 = '', $word2 = '', $word3 = ''){
$this->_setCommand('Check');
$this->addParam('SLD', $sld);
if( strstr($tld, ',') )
{
$this->addParam('TLDList', $tld);
}
else
{
$this->addParam('TLD', $tld);
}
if( $spinner && !strstr($tld, ',') )
{
$this->addParam('DomainSpinner', '1');
$this->addParam('AllowDash', $allowDash ? '1' : '0');
if('' != $word1)
$this->addParam('Word1', $word1);
if('' != $word2)
$this->addParam('Word2', $word2);
if('' != $word3)
$this->addParam('Word3', $word3);
}
if( !$this->process() || '0' != $this->response['ErrCount'] )
{
return $this->_returnError();
}
$result = array();
if($spinner)
{
$i = 1;
while( isset($this->response['SuggestedName' . $i]) )
{
$result[$this->response['SuggestedName' . $i]] = true;
$i++;
}
}
if( !isset($this->response['DomainCount']) || '1' == $this->response['DomainCount'] )
{
$result["$sld.$tld"] = ('210' == $this->response['RRPCode']) ? true : false;
return $result;
}
for($i=1; $i<=$this->response['DomainCount']; $i++)
{
$result[ $this->response[('Domain'.$i)] ] = ('210' == $this->response[('RRPCode'.$i)]) ? true : false;
}
return $result;
}
}
这有更多的功能,但我想你们明白了。
无论如何,我试图像这样加载它:
$this->load->library('Enom/class.EnomService');
课程在:
libraries/Enom/class.EnomService.php
libraries/Enom/class.EnomInterface.php
它告诉我它有内部服务器错误。
有人可以帮我解决这个问题吗?
PS:我是Codeigniter的新手.. :)
谢谢!
修改
作为结论,ENOM和其他API在它们之间使用了许多接口和变量,这可能会导致与codeigniter的加载器类冲突。
我设法解决了这个问题,不是通过loader类实现它,而是直接通过require和include变量实现它。
结果是这样的:
require_once('application/libraries/enom/class.EnomService.php');
$enom = new EnomService($registrar_username, $registrar_password, false, true);
$enom->debug = true;
而不是:
$this->load->library('Enom/class.EnomService');
如果有人需要进一步的言论,我会非常乐意提供帮助。
感谢所有帮助过的人,特别是Phill。
答案 0 :(得分:1)
只需包含类文件,就像EnomService一样,以获取EnomInterface,您应该能够EnomService
使用Enom documents。
include APPPATH.'libraries/Enom/class.EnomService.php';
$enom = new EnomService('username', '********', false, true);
$enom->debug = true;
$result = $enom->checkDomain('systurn', 'com', true);
var_dump($result);
APPPATH
指的是CodeIgniter中的application
目录。