phpbar.de logo

Mailinglisten-Archive

[php] PHP Language Specification ?

[php] PHP Language Specification ?

Egon Schmid (_(at)_work) eschmid_(at)_php.net
Fri, 20 Oct 2000 17:47:01 +0200


Heiner Grote wrote:

> Existiert fuer PHP so etwas wie eine "offizielle" Spezifikation der Sprache ?
> Unter http://php.net und http://www.zend.com habe ich in dieser Richtung
> nichts gefunden.

Eine offizielle Spezifikation gibts IMHO nicht. Es ändert sich fast
täglich was. Mit der Version 4 hat man versucht zur Version 3 kompatibel
zu sein. Eine sehr gute Beschreibung findet sich in dem Buch von Tobias
Ratschiller und Till Gerken, Web Application Development with PHP 4.0,
New Riders, 2000:

Kapitel 2 Advanced Syntax
	PHP Syntax
	Defining Constants
	Array Functions
	PHP and OOP
	Linked Lists
	Associative Arrays
	Polymorphism and Self-Modifying Code
	Summary

Dieses Buch enthält unter anderem die offizielle Zend API Dokumentation
und in einer der Case Studies steht auch drin was man so bei SIX treibt.
 
> Die Language Reference im Manual erklärt zwar das meiste ganz gut durch die
> Beispiele, aber manchen in Spezialfällen kommt man damit nicht immer weiter.
> Häufig findet man die gesuchte Information in den Annotations, aber ich
> setze undokumentierte Features nur ungerne ein.

Die Language Reference bezieht sich größtenteils auf die Version 3. Die
jüngsten Benutzernotizen beziehen sich dagegen meistens auf die Version
4. Eine Beschreibung der Inkompatibilitäten gibts bei:

http://www.php.net/version4/incompatibilities.php und
http://zend.com/zend/whats-new.php

wobei bei zend.com die objektorientierte Programmierung in der Version 4
etwas ausführlicher von Zeev und Andi erklärt wird.

Zu den undokumentierten Funktionen gibts eine Statistik:

http://www.zend.com/phpfunc/statistics.php
http://www.zugeschaut-und-mitgebaut.de/php/statistics.html

Leider läßt sich so eine Statistik mit den undokumentierten Features
nicht erzeugen.
 
> Mein konkretes Problem war:
> Funktioniert das Erzeugen von Objekten mit in Variablen gespeicherten
> Klassennamen ?
> 
> $className = "FooClass";
> $foo = new $classname();
> 
> scheint's zu tun, aber ich finde in den Manuals keine Bestätigung, das
> dies ein "legales" Feature ist.

Ist doch prima, wenns funktioniert. Ich schreib's aber nicht ins Manual,
weil ich von OOP keine Ahnung habe. Das soll Zeev als Co-Autor des
Manuals machen, ich bin ja nur der Mitherausgeber und mit den anderen
Sprachen beschäftigt. Zur Zeit gibts das Manual in 8 verschiedenen
Sprachen. Zwei weitere, tw und pt_BR, sind in Vorbereitung.

-Egon

-- 
SIX Offene Systeme GmbH · Stuttgart  -  Berlin  -  New York
Sielminger Straße 63   ·    D-70771 Leinfelden-Echterdingen
Fon +49 711 9909164 · Fax +49 711 9909199 http://www.six.de
Besuchen Sie uns auf der Buchmesse in Frankfurt, Halle 4.0,
Stand D 1117 und auf der Systems in München, Halle C2,  126


php::bar PHP Wiki   -   Listenarchive