「Fatal error: Cannot redeclare class cms_type1」
とでてしまいます。
これは何が原因でしょうか?
class CMS_TYPE1 extends CMS{
}
Fatal error: Cannot redeclare class cms_type1 はcms_type1クラスは最定義できません という意味です。
CMS_TYPE1のファイルを2箇所以上でincludeしていませんか?
includeをすべてinclude_onceかrequire_onceに変更してみたらどうですか?
参考
原因は、CMS_TYPE1クラスがどこかですでに定義されているためと思われます。
以下のソースを試してもらうとわかりますが、1回目のCMS_TYPE1の定義の時は正常に終了しますが、2回目のCMS_TYPE1の定義時に「Fatal error: Cannot redeclare class cms_type1」が発生します。
■CMS.php
<?php
class CMS {
//クラス定義は省略
}
?>
■CMS_TYPE1.php
<?php
require_once 'CMS.php';
print "CMS_TYPE1を定義\n";
class CMS_TYPE1 extends CMS {
//クラス定義は省略
}
print "CMS_TYPE1の定義完了\n";
print "CMS_TYPE1をもう一度定義\n";
class CMS_TYPE1 extends CMS {
//クラス定義は省略
}
print "CMS_TYPE1の再定義完了\n";
?>
PHPマニュアルのクラスとオブジェクトページが参考になると思います。
お二人方ありがとうございました!
解決しました!