我正在使用 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 的加载器类发生冲突。
我设法解决这个问题不是通过加载器类而是直接通过 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。