4

(私はJoomlav1.5.15とPHP5.3.4を使用しています)

このフォーラムや他の開発者フォーラムで見つかったソリューションをテストしましたが、それでも同じエラーが発生します。

ファイルが必要=>contratolocal.php

...
if ( !class_exists('MTIHelperEstadosLocal') )
    JLoader::import('helpers.estados.estadoslocal', JPATH_COMPONENT, false);

class MTIControllerContratoLocal extends MTIController
{
...

必要なファイル=>estadoslocal.php

...
class MTIHelperEstadosLocal extends MTIHelperEstados
{
...

「JLoader::import」は通常、Joomlaでファイルを実際のスクリプトにインポートするために使用されます。とにかく、私は「include/require_once」phpメソッドも成功しませんでした。

試したすべてのソリューションで同じエラーが発生しました。

「致命的なエラー:クラスMTIHelperEstadosLocalを再宣言できません」

インポートなしではクラスを使用できないため、クラスは以前に宣言されていません。「get_declared_classes()」phpメソッドの返された配列を出力すると、このクラスは存在しません。

何が起こっている?

ありがとう

4

1 に答える 1

3

解決しました。

2 つの問題がありました。

  1. 私のプロジェクトには、他のファイルを含むいくつかのヘルパーがあり、そのうちの 1 つには以前に行われた require_once があります。
  2. require_once は 2 番目のインクルードを回避しないため、すべての require_once を条件でコーディングする必要がありました。

    if ( !class_exists('MTIHelperEstadosLocal') )

于 2011-12-30T08:38:29.650 に答える