1

我正在使用 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。

4

1 回答 1

1

只需包含类文件,就像 EnomService 获取 EnomInterface 一样,您应该能够将其EnomService用作Enom 文档

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);

APPPATHapplicationCodeIgniter 中的目录。

于 2013-04-15T14:50:03.717 回答