Неустранимая ошибка php: невозможно переопределить класс AppMailCore в /appmail.core.php в строке 10 - PullRequest
0 голосов
/ 29 марта 2011

Я получаю эту ошибку при запуске скрипта

php Fatal error:  Cannot redeclare class AppMailCore in /appmail.core.php on line 10

Мне нужно сделать цикл, который также будет использовать некоторые переменные из файла класса. Код из main.php выглядит следующим образом:

   $iesc = 1;
 while($iesc less than 5)
{
include('includes/appmail.core.php');
---

Я использовал «меньше чем» в приведенном выше коде, потому что я не знаю, чтобы удалить символ «<» в предразметке. </p>

Я понимаю, что мне не разрешается повторно создавать класс, но я не знаю, как заставить переменные класса проходить через цикл. appmail.core.php выглядит так

require_once('appmail.config.php');
require_once('helpers'.DIRECTORY_SEPARATOR.'appmail.rest.php');

class AppMailCore
{
  var $AppMailRest;
  var $api_key;
  var $url;

  /**
   * Initialises AppMailCore. Optionally provide runtime api key and url.
   */
  function AppMailCore($api_key = APPMAIL_API_KEY, $url = APPMAIL_URL) {
    $this->url = $url;
    $this->api_key = $api_key;
    $this->AppMailRest = new AppMailRest($this->url);
  }

  /**
   * Asynchronously sends an email using Google App Engine
   *
   * Params are fairly self explanatory. However, note that the "from" address must be a registered email with
   * your Google App Engine account.
   */
  function send($to, $from, $subject, $plain, $html) {
    $api_key = $this->api_key;
    $status = $this->AppMailRest->post('send', compact('api_key','to','from','subject','plain','html'));
    return $status;
  }
}

appmail.config.php выглядит так

  $app1DB = new mysqli("localhost", "root", "", "ast");
  $app1RSP = $app1DB->query("SELECT app_id FROM Application WHERE emails_sent fetch_assoc();
    $app_id = $app1Object['app_id'];


define('APPMAIL_API_KEY', 'JLQ7P5SnTPq7AJvLnUysJmXSeXTrhgaJ');
define('APPMAIL_URL', "http://$app_id.appspot.com/");

   $app1RSP->free();
   $app1DB->close();

В основном мне нужно получать переменную APPMAIL_URL / $ app_id в классе при каждом запуске цикла.

1 Ответ

0 голосов
/ 29 марта 2011

Почему вы не делаете include перед циклом?

Еще один совет: используйте include_once?

Третий совет: включайте напрямую appmail.config.php, если вам нужна постоянная, а не appmail.core.php?

EDIT

В основном мне нужно получить переменную APPMAIL_URL / $ app_id в классе на каждый цикл.

Если предполагается, что его значение изменяется в ходе выполнения скрипта (как я только что видел), вам не следует определять его как константу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...