This is a draft cheat sheet. It is a work in progress and is not finished yet.
Types primitifs
bool |
int |
float |
string |
array |
object |
callable |
iterable |
void |
Visibilité de classe
class Exemple
{
public const VALUE_1 = 0;
private const VALUE_2 = 0;
protected const VALUE_3 = 0;
}
|
self et $this
<?php
class X {
function foo() {
echo 'X::foo()';
}
function bar() {
self::foo();
}
}
class Y extends X {
function foo() {
echo 'Y::foo()';
}
}
$x = new Y();
$x->bar(); // X::foo()
?>
|
$this réfère à l'objet courant, et self à la classe courante
|
|
Déclaration de type
class Test
{
private function exemple(int &$a, ?self $instance_of_Test = null) : self
{
return $instance_of_Test ?? new Test();
}
}
|
Try Catch
try
{
...
}
catch(AnException | AnotherException $e)
{
}
finally
{
}
|
Méthodes magiques
|
__destruct() |
__call() |
__callStatic() |
public mixed __get ( string $name )
|
appellé en cas de lecture d'un attribut inconnu |
public void __set ( string $name , mixed $value )
|
appellé en cas d'écriture d'un attribut inconnu |
public bool __isset ( string $name )
|
appellé quand isset()
ou empty()
est effectué sur un attribut inconnu |
public void __unset ( string $name )
|
appellé quand unset est effectué sur un attribut inconnu |
public array __sleep ( void )
|
appellé avant un serialize()
|
|
appellé avant un unserialize()
|
public string __toString ( void )
|
lorsque la classe est traité comme un string |
mixed __invoke ([ $... ] )
|
opérateur () ex : $obj = new X(); $obj();
|
static object __set_state ( array $properties ) |
en paramètre un array avec les propriétés, en retour une instance, |
|
appellé lors d'un clone $obj;
|
array __debugInfo ( void )
|
appellé par un var_dump, retourne un tableau des propriétés |
|