if you want a Dynamic class you can extend from, add atributes AND methods on the fly you can use this:
<?php
class Dynamic extends stdClass{
public function __call($key,$params){
if(!isset($this->{$key})) throw new Exception("Call to undefined method ".get_class($this)."::".$key."()");
$subject = $this->{$key};
call_user_func_array($subject,$params);
}
}
?>
this will accept both arrays, strings and Closures:
<?php
$dynamic->myMethod = "thatFunction";
$dynamic->hisMethod = array($instance,"aMethod");
$dynamic->newMethod = array(SomeClass,"staticMethod");
$dynamic->anotherMethod = function(){
echo "Hey there";
};
?>
then call them away =D
Öntanımlı Sınıflar
Bu bölümde öntanımlı standart sınıflar listelenmiştir. Diğer sınıflar çeşitli eklentilerde tanımlanmış olup bunlar dil başvuru kılavuzunda açıklanmışlardır.
Standart Tanımlı Sınıflar
Bu sınıflar PHP'ye derleme sırasında dahil edilen standart işlevlerle tanımlanır.
- Directory
- dir() işlevi ile örneklenen sınıf.
- stdClass
- nesneye yapılan tür zorlamaları ile oluşturulmuştur.
- __PHP_Incomplete_Class
- unserialize() işlevi ile oluşturulması muhtemeldir.
PHP 5 ve sonrası için Öntanımlı Sınıflar
Burada listelenen sınıflar PHP 5.0.0'da ortaya çıkmıştır.
- exception
- php_user_filter
Closure
Öntanımlı Closure final sınıfı PHP 5.3.0'da devreye girmiş, İsimsiz işlevlerin dahili gerçekleniminde kullanılmıştır.
Sınıf, elle nesne oluşturmayı ve __invoke
sihirli çağrısının
kullanımını yasaklayan bir kurucuya sahiptir (yoksa bir
E_RECOVERABLE_ERROR çıktılanır).
Özel sınıflar
Aşağıdaki betimleyiciler özel amaçlı olup bır sınıf ismi olarak kullanılamazlar.
- self
- Etkin sınıf.
- static
- Çalışma zamanındaki etkin sınıf.
- parent
- Ebeveyn sınıf.
spark at limao dot com dot br
15-Aug-2011 02:21
Typer85 at gmail dot com
17-Feb-2007 08:58
In response to the note below mine,
This list is not incomplete. Read the Manual folks, its listed there plain and simple:
"This section lists standard predefined classes. Miscellaneous extensions define other classes which are described in their reference."
Depending on what extensions you have, they might define their own classes. This list is just the standard classes as defined by PHP with no regards to extensions.
Simon Kissane
14-Sep-2004 12:54
The above list is incomplete. For example, on my PHP 5.0 configuration (yours may differ depending on the extensions you choose to install), the following classes are predefined:
== "Core" ==
stdClass
Exception
__PHP_Incomplete_Class
php_user_filter
Directory
== Reflection API ==
ReflectionException
Reflection
ReflectionFunction
ReflectionParameter
ReflectionMethod
ReflectionClass
ReflectionObject
ReflectionProperty
ReflectionExtension
== SQLLite ==
SQLiteDatabase
SQLiteResult
SQLiteUnbuffered
SQLiteException
== Standard PHP Lib. ==
RecursiveIteratorIterator
FilterIterator
ParentIterator
LimitIterator
CachingIterator
CachingRecursiveIterator
ArrayObject
ArrayIterator
DirectoryIterator
RecursiveDirectoryIterator
== SimpleXML ==
SimpleXMLElement
SimpleXMLIterator
== DOM/XSL/XPath extensions ==
DOMException
DOMStringList
DOMNameList
DOMImplementationList
DOMImplementationSource
DOMImplementation
DOMNode
DOMNameSpaceNode
DOMDocumentFragment
DOMDocument
DOMNodeList
DOMNamedNodeMap
DOMCharacterData
DOMAttr
DOMElement
DOMText
DOMComment
DOMTypeinfo
DOMUserDataHandler
DOMDomError
DOMErrorHandler
DOMLocator
DOMConfiguration
DOMCdataSection
DOMDocumentType
DOMNotation
DOMEntity
DOMEntityReference
DOMProcessingInstruction
DOMStringExtend
DOMXPath
XSLTProcessor
unknown
23-Jul-2002 10:29
It's handy to have a array of the reserved classes.....
var_dump (get_declared_classes ());
