Класс php не найден, если он включен

У меня есть класс в php, называемый «SEO_URL». В какой-то момент в этом классе у меня есть это

$class_name = "cPath_SEO_URL"; return $class_name::href(); 

и я получаю

 Fatal error: Class 'cPath_SEO_URL' not found in ...\includes\classes\seo.class.php on line 52 

Дело в том, что я включил класс поверх SEO_URL

 include_once(/path/to/my/class); class SEO_URL{ } 

и я получаю эту ошибку.

Однако, когда я жестко программирую класс поверх класса SEO_URL, он работает. Так что это работает.

 class cPath_SEO_URL{ function cPath_SEO_URL(){} function href() { return "CPathHref"; } } class SEO_URL{ ... $class_name = "cPath_SEO_URL"; return $class_name::href(); ... } 

и это не

 include_once(/path/to/my/class); class SEO_URL{ ... $class_name = "cPath_SEO_URL"; return $class_name::href(); ... } 

Я пытаюсь это в oscommerce.

Почему это?

Solutions Collecting From Web of "Класс php не найден, если он включен"

Хорошо, вы не поверите, в чем проблема.

Я использую для открытия и закрытия php-файла, как это

 <? ... ?> 

не

 <?php ?> 

и файл класса был без <?php .. ?> но <? ... ?> <? ... ?> . Я предполагаю, что среда, в которой я сейчас работаю, требует <?php не <? только.

Он будет загружать класс, но он не будет интерпретировать его как php.

С

 $class_name = "cPath_SEO_URL"; $test = new $class_name(); return $test::href(); 

вы делаете статический вызов экземпляра. Это не имеет смысла.
Вместо этого вы захотите сделать

 $class_name = "cPath_SEO_URL"; return $class_name::href();