Broadcast on Broadcast off
The Documentation for Project Zero has moved. Please update your bookmarks to: http://www.projectzero.org/documentation/
Table of
Contents...
Hide
 

PHP language features

The table below shows which parts of the PHP language are supported in Project Zero. The reference for the behavior of the PHP language can be found at http://www.php.net/manual/en/langref.php, or click on a link in the table to go straight to the relevant subsection.

Section Subsection Topic Supported
10. Basic syntax Escaping from HTML Basic Escaping yes (alpha)
Advanced Escaping yes (alpha)
Instruction separation Semicolons yes (alpha)
Leaving off last block separator yes (alpha)
Comments PHP supports C, C++ and Unix shell-style yes (alpha)
11. Types Booleans boolean type yes (alpha)
converting to boolean yes (alpha)
Integers integer type yes (alpha)
decimal (10-based) notation, yes (alpha)
hexadecimal and octal yes (alpha)
Integer overflow (to float) yes (alpha)
converting to integer yes (alpha)
Strings string type yes (alpha)
string literal - single quote yes (alpha)
string literal - double quote yes (alpha)
string literal - heredoc yes (alpha)
variable handling - simple syntax yes (alpha)
variable handling - complex syntax yes (alpha)
converting to string yes (alpha)
string conversion to numbers yes (alpha)
Arrays array type yes (alpha)
array() syntax yes (alpha)
square-bracket syntax yes (alpha)
converting to arrays yes (alpha)
Objects object type yes (alpha)
object initialization yes (alpha)
converting to object yes (alpha)
Resource resource type yes (alpha)
freeing resources yes (alpha)
NULL NULL value yes (alpha)
Type Juggling type juggling yes (alpha)
type casting yes (alpha)
12. Variables Basics variables yes (alpha)
assign by value yes (alpha)
assign by reference yes (alpha)
Predefined variables superglobals concept yes (alpha)
GLOBALS yes (alpha)
Variable scope Local scope yes (alpha)
global keyword yes (alpha)
static yes (alpha)
Variable variables variable variables yes (alpha)
13. Constants Magic constants LINE yes (alpha)
FILE yes (alpha)
FUNCTION yes (alpha)
CLASS yes (alpha)
METHOD yes (alpha)
14. Expressions Expressions Expressions yes (alpha)
15. Operators Operator Precedence Operator precedence yes (alpha)
Arithmetic Operators Negation yes (alpha)
Addition yes (alpha)
Subtraction yes (alpha)
Multiplication yes (alpha)
Division yes (alpha)
Modulus yes (alpha)
Assignment Operators = yes (alpha)
Combined binary arithmatic yes (alpha)
Combined array union yes (alpha)
Combined string operator yes (alpha)
Bitwise Operators And yes (alpha)
Or yes (alpha)
Xor yes (alpha)
Not yes (alpha)
Shift left yes (alpha)
Shift right yes (alpha)
Comparison Operators Equal yes (alpha)
Identical yes (alpha)
Not equal (greater than less than) yes (alpha)
Not equal (not equal) yes (alpha)
Not identical yes (alpha)
Less than yes (alpha)
Greater than yes (alpha)
Less than or equal yes (alpha)
Greater than or equal yes (alpha)
Ternary yes (alpha)
Error Control Operators Error control operator yes (alpha)
Incrementing-Decrementing Operators Pre-increment yes (alpha)
Post-increment yes (alpha)
Pre-decrement yes (alpha)
Post-decrement yes (alpha)
Logical Operators And yes (alpha)
Or yes (alpha)
Xor yes (alpha)
Not yes (alpha)
And yes (alpha)
Or yes (alpha)
String Operators Concatenation yes (alpha)
Array Operators Union yes (alpha)
Equality yes (alpha)
Identity yes (alpha)
Inequality (Not equal) yes (alpha)
Inequality (less than greater than) yes (alpha)
Non-identity yes (alpha)
Type Operators instanceof yes (alpha)
16. Control Structures if if yes (alpha)
else else yes (alpha)
elseif elseif yes (alpha)
Alternative syntax for control structures Alternative syntax yes (alpha)
while while yes (alpha)
do-while do-while yes (alpha)
for for yes (alpha)
foreach foreach on arrays yes (alpha)
foreach on objects yes (alpha)
break break (with numeric argument) yes (alpha)
continue continue (with numeric argument) yes (alpha)
switch switch yes (alpha)
declare declare(ticks) yes (alpha)
return return from global scope yes (alpha)
return from include()ed and required()ed yes (alpha)
return from function yes (alpha)
require() require yes (alpha)
include() include yes (alpha)
require_once() require_once yes (alpha)
include_once() include_once yes (alpha)
include() conditional include, requires yes (alpha)
exit() exit yes (alpha)
die() die yes (alpha)
17. Functions User-defined functions function in function yes (alpha)
recursive function (lt 200 recursion levels) yes (alpha)
Function arguments pass by value yes (alpha)
pass by reference yes (alpha)
default arguments yes (alpha)
variable-length argument lists yes (alpha)
Returning values {return - see control structures} yes (alpha)
Variable functions variable function yes (alpha)
variable method yes (alpha)
19. Classes and Objects (PHP 5) The Basics simple class definition yes (alpha)
$this yes (alpha)
class member default values yes (alpha)
new yes (alpha)
extends yes (alpha)
Autoloading Objects __autoload no
Constructors and Destructors __construct yes (alpha)
constructor same name as class yes (alpha)
__destruct no
Visibility public member yes (alpha)
private member yes (alpha)
protected member yes (alpha)
public method yes (alpha)
private method yes (alpha)
protected method yes (alpha)
declaring with var (synonym for public) yes (alpha)
Scope Resolution Operator Double colon from outside class yes (alpha)
parent yes (alpha)
self yes (alpha)
Static Keyword static member yes (alpha)
static method yes (alpha)
Class Constants class constant yes (alpha)
Class Abstraction abstract class yes (alpha)
Object Interfaces interface yes (alpha)
implements yes (alpha)
Overloading __set yes (alpha)
__get yes (alpha)
__isset yes (alpha)
__unset yes (alpha)
__call yes (alpha)
Object Iteration foreach no
Magic Methods __sleep yes (alpha)
__wakeup no
__toString yes (alpha)
__set_state no
__clone yes (alpha)
Final Keyword final yes (alpha)
Object cloning clone yes (alpha)
Comparing objects {see comparison operators} no
Reflection Reflection for functions no
Reflection for classes no
Reflection for extensions no
Type Hinting Type hinting yes (alpha)
20. Exceptions Exceptions exception class yes (alpha)
try catch yes (alpha)
Extending exceptions yes (alpha)
21. References Explained Support references assigning, comparing, references yes (alpha)
Passing by Reference Passing by reference yes (alpha)
Returning References Returning references yes (alpha)
Unsetting References Unsetting references yes (alpha)

What does supported mean?

The PHP features supported are at varying degrees of completeness:
Alpha
The feature or function will work in the good cases but may not display the correct error messages or behave correctly when invalid parameters are passed or invalid constructs are used.
Beta
The feature or function behaves correctly in the good cases and when invalid parameters are passed.

r7 - 08 Feb 2008 - 04:01:11 - steveims
Syndicate this site RSS ATOM
Copyright 2007 © IBM Corporation | Privacy | Terms of Use | About this site