Getting familiar with OOP - Factories
In my opinion, a factory should create a specific class, global ones like this one shouldn't be used. For instance, having a PizzaFactory is something like this:

class PizzaFactory
{
    public static function createPizza($type)
    {
        switch ($type) {
            case 'salami':
                return new SalamiPizza();
                break;

            case 'hawai':
                return new HawaiPizza();
                break;
        }
    }
}



  I just want to get some opinions on the the topic of a Factory. Is this a good method? are there others that are considered superior? If so, what have I overlooked?


An upcomming design pattern is depedency-injection. Just search for some resoures about that and keep reading. It is used in all modern frameworks (ZF2 and Symfony 2 uses it).

See also this article serie by Fabien Potencier: "What is Dependency Injection?"