O'Reilly logo

PHP 5 Kochbuch, Third Edition by Stephan Schmidt, Ulrich Speidel, Matthias Brusdeylins, Carsten Lucke, Adam Trachtenberg, David Sklar

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

7.27 Objekte dynamisch instantiieren

Problem

Sie wollen ein Objekt instantiieren, kennen den Namen der Klasse aber erst zur Laufzeit. Beispielsweise möchten Sie Ihre Seite lokalisieren, indem Sie ein Objekt instantiieren, das einer bestimmten Sprache entspricht. Welche Sprache gewählt werden soll, erfahren Sie aber erst, wenn die Klasse angefordert wird.

Lösung

Geben Sie den Klassennamen über eine Variable an:

$sprache = $_REQUEST['language'];
$sprachen = array('en_US' => 'US English',
                  'en_UK' => 'British English',
                  'es_US' => 'US Spanish',
                  'fr_CA' => 'Canadian French');

if (isset($sprachen[$sprache]) && class_exists($sprache)) {
    $sprache = new $sprache;
}

In PHP-Versionen ab 5.3 haben Sie die Möglichkeit, von Namensräumen Gebrauch zu machen. Sollten ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required