Et compilé
# php -v
PHP 5.4.0--pl0-gentoo (cli) (built: Mar 2 2012 00:23:11)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies
premières impression?
phpPgAdmin est cassé, c'est moche
petit récapitulatif des points les plus sympas
- Les Traits <- ok même si je trouve pas ça utile
- Syntaxe courte pour les array ($a = [1, 2, 3] <- berk du javascript
- Dereferencing pour les Object (new Test()->hello()) <- on gagne une ligne, on y perdra en lisibilité
- Syntaxe des nombre binaire ($b = 0b0010110) <-mwé
- Nouveau type Callable <- ça faut que je regarde ce que c'est
- Ajout de l'interface JsonSeralisable (utilisable avec json_en/decode) <- berk le json, le serialize/unserialize est tellement plus élégant, mais comme d'hab l'industrie se tourne vers des solutions nazes
- Ajoute de l'option PRETTY_PRINT pour le json <- voire plus haut
- Un serveur web intégré <- ah bah ça c'est super utile! mais utile à quoi?
- Fin des magic quote <- il était temps
- E_ALL inclue E_STRICT <- pareil mais alors la y'en a qui vont avoir mal au fion
- Possibilité de mettre une classe pour le session handler <-sert à rien
- Ajout de la fonction hex2bin <-on l'avait pas déja?
- Ajout du Spoofchecker et du Transliterator pour Intl
- Ajout de l'upload progress via les session <- mwé
- Ajout de CallbackFilterIterator et RecursiveCallbackFilterIterator pour la lib SPL
// avant
$finder = new Finder();
$finder->files()
->size('>= 1K')
->size('<= 2K')
;
//apres
$finder = (new Finder())
->files()
->size('>= 1K')
->size('<= 2K')
;
- Syntaxe des nombre binaire ($b = 0b0010110)class User implements \JsonSerializable
{
private $username;
public function getUsername()
{
return $this->username;
}
public function setUsername($username)
{
$this->username = $username;
}
public function jsonSerialize()
{
return array(
'username' => $this->username
);
}
}
$user = new User();
$user->setUsername('me');
echo json_encode($user);
//{"username":"me"}
- Ajoute de l'option PRETTY_PRINT pour le json//avant
session_set_save_handler(
array('MySession', 'open'),
array('MySession', 'close'),
array('MySession', 'read'),
array('MySession', 'write'),
array('MySession', 'destroy'),
array('MySession', 'gc')
);
//apres
$handler = new MySession();
session_set_save_handler($handler);
- Ajout de la fonction hex2bin$spoof = new Spoofchecker();
$spoof->setAllowedLocales('fr');
var_dump($spoof->isSuspicious('bonjour'));
var_dump($spoof->isSuspicious('Кірыліца'));
/*
bool(false)
bool(true)
*/
Le Transliterator fait des merveilles au niveau des textes, finis les problème d’accent et de languevar_dump(Transliterator::create('any-latin')->transliterate('ナルト'));
var_dump(Transliterator::create('NFD; [:Nonspacing Mark:] Remove; NFC')->transliterate('déjà'));
/*
string(6) "naruto"
string(4) "deja"
*/
- Ajout de l'upload progress via les session
donc SQLITE manager, problème avec des accès statique de méthode nom déclarée statique et l'insertion dans une table qui ne fonctionne plusEn fait y a plein d'appli de cassée