suche nach in der

get_declared_interfaces> <get_class
Last updated: Fri, 18 May 2012

view this page in

get_declared_classes

(PHP 4, PHP 5)

get_declared_classesErmittelt die Namen der definierten Klassen

Beschreibung

array get_declared_classes ( void )

Ermittelt die Namen der definierten Klassen

Rückgabewerte

Liefert ein Array mit den Namen der zur Zeit definierten Klassen.

Hinweis:

Bitte beachten Sie, dass je nachdem, welche Extensions in Ihrer PHP-Installation einkompiliert oder geladen sind, weitere Klassen vordefiniert sein können. Dies bedeutet, dass Sie keine eigenen Klassen mit dem gleichen Namen anlegen können. Eine Liste der möglicherweise vordefinierten Klassen finden Sie im Anhang Predefined Classes

Beispiele

Beispiel #1 get_declared_classes()-Beispiel

<?php
print_r
(get_declared_classes());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Array
(
    [0] => stdClass
    [1] => __PHP_Incomplete_Class
    [2] => Directory
)

Siehe auch



add a note add a note User Contributed Notes
get_declared_classes
matt at mattsoft dot net
21-Dec-2005 11:58
classes can't be unloaded. probably not very practical to implement that in a future version. I wouldn't go out of my way to do it if I were zend. you're better off finding a workaround. it's better programming technique to find a way around having to do that anyway.

http://www.zend.com/zend/week/week223.php#Heading10
22-Mar-2005 06:16
Regarding note of 3-21:

<?php

class myclass {}

$class = 'myclass';
$instance = new $class();

?>

This function could also be used to determine the names of classes defined in a particular file by calling it before and after include. It's hardly a pointless function.
matt-php at DONT-SPAM-ME dot bitdifferent dot com
01-Nov-2004 04:41
The array returned by this function will be in the order the classes were defined / included / required and this order does not appear to change.

For example:

<?PHP

//define classone
class classone { }

//define classtwo
class classtwo { }

//This will show X classes (built-ins, extensions etc) with
//classone and classtwo as the last two elements

print_r(get_declared_classes());

//define classthree
class classthree { }

//...and four
class classfour { }

//Shows the same result as before with class three and four appended
print_r(get_declared_classes());

?>

Output:

Array
(
   [0] => stdClass
   [1] .... other defined classes....
   [10] => classone
   [11] => classtwo
 )

and...

Array
(
   [0] => stdClass
   [1] .... other defined classes....
   [10] => classone
   [11] => classtwo
   [12] => classthree
   [13] => classfour
)
Jazeps Basko
07-Feb-2004 08:52
In PHP5, you don't get declared interfaces by calling this function!!!
To get interfaces you should use get_declared_interfaces(). However, to check if an interface is already defined, you should use class_exists()! This is strange, but PHP team does not think so.
smokey
21-Mar-2003 12:06
you cannot remove them. they are "defined", which happens when the class is being loaded from the parser. you just deleted an instance of a class.
Leigh Purdie
23-Jan-2003 10:01
Note that classes remain in the declared list, even when their associated object is undef'd.

eg:
    $object = new MyClass;
    print_r(get_declared_classes());

    undef($object);
    print_r(get_declared_classes());

- the two print_r's will return the same data.
Not sure how to remove a class from the declared list.
ben [at] efros d0t COM
06-Jul-2001 09:25
To easily check the values, just run:

print_r (get_declared_classes());

get_declared_interfaces> <get_class
Last updated: Fri, 18 May 2012