あきらです
> このような設計をしてしまった場合、クラス名を変えることしか
> 解決はできないのでしょうか?
通常はクラス名が重複している時点で設計がおかしいと思います
以下のコードですと出力はABになります。
<?php
class Pub_ClassA
{
function __construct()
{
print "A";
}
}
class Pub_ClassB
{
function __construct()
{
print "B";
}
}
$class_name = "Pub_ClassA";
$class = new $class_name();
$class_name = "Pub_ClassB";
$class = new $class_name();