Это самый грязный сайт в мире, но, похоже, он содержит то, что вы хотите: http://www.devshed.com/c/a/PHP/Design-Patterns-in-PHP-Factory-Method-and-Abstract-Factory/
Смотрите примеры использования на реальном веб-сайте, но более или менее похожий на java factory.
// define abstract 'ArrayFactory' class
abstract class ArrayFactory{
abstract public function createArrayObj($type);
}
// define concrete factory to create numerically-indexed array
objects
class NumericArrayFactory extends ArrayFactory{
private $context='numeric';
public function createArrayObj($type){
$arrayObj=NULL;
switch($type){
case "uppercase";
$arrayObj=new UppercasedNumericArrayObj();
break;
case "lowercase";
$arrayObj=new LowercasedNumericArrayObj();
break;
default:
$arrayObj=new LowercasedNumericArrayObj();
break;
}
return $arrayObj;
}
}
// define concrete factory to create associative array objects
class AssociativeArrayFactory extends ArrayFactory{
private $context='associative';
public function createArrayObj($type){
$arrayObj=NULL;
switch($type){
case "uppercase";
$arrayObj=new UppercasedAssociativeArrayObj();
break;
case "lowercase";
$arrayObj=new LowercasedAssociativeArrayObj();
break;
default:
$arrayObj=new LowercasedAssociativeArrayObj();
break;
}
return $arrayObj;
}
}