recherche
  • Se connecter
  • S'inscrire
Réinitialisation du mot de passe réussie

Suivez les projets qui vous intéressent et découvrez les dernières actualités les concernant.

Fonctions modifiées PHP7

Collection 105
Lire 69615
temps de mise à jour 2016-09-11
  • Le paramètre scanner_mode de parse_ini_file() et parse_ini_string() ajoute l'option INI_SCANNER_TYPED.
  • unserialize() ajoute un deuxième paramètre, qui peut être utilisé pour spécifier la liste des classes acceptées. RFC : https://wiki.php.net/rfc/secure_unserialize
  • La limite maximale ouverte par proc_open() était auparavant codée en dur à 16. Cette limite a maintenant été supprimée et le nombre maximum dépend de la mémoire disponible pour PHP. La version Windows ajoute l'option "blocking_pipes", qui permet de préciser s'il faut forcer la lecture par blocs.
  • array_column() :La fonction prend désormais en charge un tableau d'objets ainsi que des tableaux bidimensionnels
  • stream_context_create()les fenêtres peuvent recevoir un tableau("pipe" => array("blocking" => <boolean> ) )paramètre.
  • dirname() ajoute l'option $levels, qui peut être utilisée pour spécifier le niveau du répertoire. dirname(dirname($foo)) => dirname($foo, 2);
  • debug_zval_dump() Lors de l'impression, utilisez int au lieu de long et float au lieu de double.


Filtrage PHP unserialize()

PHP 7 ajoute une fonctionnalité qui peut fournir un filtrage pour unserialize(), qui peut empêcher l'injection de code de données illégales et fournir des données désérialisées plus sûres.

Exemple

<?php
class MyClass1 { 
   public $obj1prop;   
}
class MyClass2 {
   public $obj2prop;
}
$obj1 = new MyClass1();
$obj1->obj1prop = 1;
$obj2 = new MyClass2();
$obj2->obj2prop = 2;
$serializedObj1 = serialize($obj1);
$serializedObj2 = serialize($obj2);
// 默认行为是接收所有类
// 第二个参数可以忽略
// 如果 allowed_classes 设置为 false, unserialize 会将所有对象转换为 __PHP_Incomplete_Class 对象
$data = unserialize($serializedObj1 , ["allowed_classes" => true]);
// 转换所有对象到 __PHP_Incomplete_Class 对象,除了 MyClass1 和 MyClass2
$data2 = unserialize($serializedObj2 , ["allowed_classes" => ["MyClass1", "MyClass2"]]);
print($data->obj1prop);
print(PHP_EOL);
print($data2->obj2prop);
?>

Le résultat de l'exécution du programme ci-dessus est :

1
2
Outils d'IA chauds
Undress AI Tool
Undress AI Tool

Images de déshabillage gratuites

AI Clothes Remover
AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undresser.AI Undress
Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

Stock Market GPT
Stock Market GPT

Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Outil populaire
Bloc-notes++7.3.1
Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6
Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac
SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)