【转】PHP5.3亲测精髓特性整理
【转】PHP5.3亲测精华特性整理
1、引入 __DIR__ magic常量 定位脚本的目录
echo __DIR__."|".dirname(__FILE__);
2、允许从2个值的or/and表达式快速的获取一个非空的值
echo (1 ?: 0) ."|". ("" ?: 0)."|". var_export(array() ?: array(1), true);
3、类添加__callStatic方法,等价于 __call(),但它是为调用静态方法准备的。下面来看示例:
class xxx{ function __call($func, $args){ echo "function name:".$func; echo "</br />"; echo "args:".var_export($args, true); } static function __callStatic($func, $args){ echo "static function name:".$func; echo "</br />"; echo "static args:".var_export($args, true); } } $x = new xxx(); $x->testfunc("oo"); echo "</br />"; xxx::teststatic("xx");
4、动态的调用静态的方法
class xx{ static function test(){ echo __METHOD__; } } $c = "xx"; $m = "test"; $c::$m();
5、延迟静态绑定(静态处理从编译时延迟到执行时)
class A{ static function whoami(){ echo __CLASS__; } static function say1(){ self::whoami(); } static function say2(){ static::whoami(); } } class B extends A{ static function whoami(){ echo __CLASS__; } } class C extends A{ static function whoami(){ echo __CLASS__; } } B::say1(); C::say2();
6、MySQLInd (高速的专门为PHP设计的MySQL调用库接口)
7、INI Magic
8、扩展的 OpenSSL 函数
9、SPL(Standard PHP Library) 优化
10、时间处理进行扩展了和添加
$date = strtotime("11-05-17 00:00:00"); echo date("Y-m-d", $date)."|"; $date = date_create_from_format("y-m-d", "11-05-17"); echo $date->format("Y-m-d");
11、垃圾回收器(为复杂和长时间运行脚本的执行结束周期释放内存的清理)
gc_enable(); // 允许垃圾回收 var_dump(gc_enabled()); // true var_dump(gc_collect_cycles()); // 某个元素的清理 gc_disable(); // 禁止垃圾回收
12、NOWDOC(不对HEREDOC进行转译)
$fubar = "xxx"; $xbar = <<<ONE this is HEREDOC $fubar ONE; $abar = <<<'TWO' this is NOWDOC $fubar TWO; echo $xbar."|".$abar;
13、匿名函数体验
$ofun = create_function('$a, $b', 'return $a*$b;'); //不要忘了分号,传统方法 echo $ofun(2, 5); $nfun = function ($a, $b){ return $a*$b; };//不要忘了分号,现代方法 echo $nfun(3, 5);
14、闭包体验
$arr = array(1, 2, 3, 5, 6, 7); $res = array_filter($arr, function($v) { return $v >4; }); var_dump($res); function countnum(){ $num = 0; $testt = function() use(&$num){ ++$num; echo $num; }; return $testt; } $t = countnum(); $t(); $t();
15、命名空间
namespace xxx; //第一个namespace需要在所有输出之前 function t(){ return __NAMESPACE__; } namespace xxx; function t(){ return __NAMESPACE__; } echo \xx\t()."|"; echo \xxx\t();

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Sujets chauds

Concepts et instances de classes et méthodes Classe (Class) : utilisé pour décrire une collection d'objets avec les mêmes propriétés et méthodes. Il définit les propriétés et méthodes communes à chaque objet de la collection. Les objets sont des instances de classes. Méthode : Fonction définie dans la classe. Méthode de construction de classe __init__() : La classe possède une méthode spéciale (méthode de construction) nommée init(), qui est automatiquement appelée lorsque la classe est instanciée. Variables d'instance : dans la déclaration d'une classe, les attributs sont représentés par des variables. Ces variables sont appelées variables d'instance. Une variable d'instance est une variable modifiée avec self. Instanciation : Créez une instance d'une classe, un objet spécifique de la classe. Héritage : c'est-à-dire qu'une classe dérivée (derivedclass) hérite de la classe de base (baseclass)

Fonction signifie fonction. Il s'agit d'un bloc de code réutilisable avec des fonctions spécifiques. C'est l'un des composants de base d'un programme. Il peut accepter des paramètres d'entrée, effectuer des opérations spécifiques et renvoyer des résultats. code pour améliorer la réutilisabilité et la maintenabilité du code.

À l'ère actuelle de développement technologique rapide, les langages de programmation poussent comme des champignons après la pluie. L'un des langages qui a beaucoup retenu l'attention est le langage Go, apprécié par de nombreux développeurs pour sa simplicité, son efficacité, sa sécurité de concurrence et d'autres fonctionnalités. Le langage Go est connu pour son écosystème solide avec de nombreux excellents projets open source. Cet article présentera cinq projets open source sélectionnés en langage Go et amènera les lecteurs à explorer le monde des projets open source en langage Go. KubernetesKubernetes est un moteur d'orchestration de conteneurs open source pour l'automatisation

"Go Language Development Essentials : 5 recommandations de framework populaires" En tant que langage de programmation rapide et efficace, le langage Go est favorisé par de plus en plus de développeurs. Afin d'améliorer l'efficacité du développement et d'optimiser la structure du code, de nombreux développeurs choisissent d'utiliser des frameworks pour créer rapidement des applications. Dans le monde du langage Go, il existe de nombreux excellents frameworks parmi lesquels choisir. Cet article présentera 5 frameworks de langage Go populaires et fournira des exemples de code spécifiques pour aider les lecteurs à mieux comprendre et utiliser ces frameworks. 1.GinGin est un framework Web léger avec une rapidité

jQuery est une bibliothèque JavaScript classique largement utilisée dans le développement Web. Elle simplifie les opérations telles que la gestion des événements, la manipulation des éléments DOM et l'exécution d'animations sur les pages Web. Lorsque vous utilisez jQuery, vous rencontrez souvent des situations dans lesquelles vous devez remplacer le nom de classe d'un élément. Cet article présentera quelques méthodes pratiques et des exemples de code spécifiques. 1. Utilisez les méthodes RemoveClass() et AddClass(). JQuery fournit la méthode RemoveClass() pour la suppression.

Class est un mot-clé en python, utilisé pour définir une classe. La méthode de définition d'une classe : ajoutez un espace après la classe puis ajoutez le nom de la classe ; règles de nom de classe : mettez la première lettre en majuscule, utilisez la casse camel. nommage, tel que [class Dog()].

Contexte Récemment, les codes commerciaux clés ont été cryptés pour le cadre de l'entreprise afin d'empêcher la restauration facile du code d'ingénierie via des outils de décompilation tels que jd-gui. La configuration et l'utilisation du schéma d'obscurcissement associé sont relativement complexes et posent de nombreux problèmes. projet springboot, donc les fichiers de classe sont chiffrés puis transmis. Le classloder personnalisé est déchiffré et chargé. Cette solution n'est pas absolument sûre. Elle ne fait qu'augmenter la difficulté de la décompilation. Elle empêche les messieurs mais pas les méchants. dans la figure ci-dessous. Le plug-in maven chiffre la compilation à l'aide d'un plug-in maven personnalisé. Le fichier de classe spécifié est chiffré et le fichier de classe chiffré est copié ici dans le chemin spécifié.

Avec le développement d'Internet et les progrès des technologies de l'information, l'ère du Big Data est arrivée, et des domaines tels que l'analyse des données et l'apprentissage automatique ont également été largement utilisés. Dans ces domaines, la planification des tâches est un problème inévitable. Comment parvenir à une planification efficace des tâches est crucial pour améliorer l’efficacité. Dans cet article, nous présenterons comment utiliser le framework Web Echo de Golang pour implémenter la planification distribuée des tâches. 1. Introduction au framework Echo Echo est un framework GoWeb hautes performances, évolutif et léger. Il est basé sur HTTP
