Maison développement back-end tutoriel php PHP学习笔记(3)_PHP教程

PHP学习笔记(3)_PHP教程

Jul 13, 2016 am 10:34 AM
aspnet programmation de logiciels

PHP的class与其他语言有很多不同点。PHP允许很奇葩的在静态方法中调用实例方法,提供了关键字self和static用于访问类自身的静态成员。self永远是指当前的类,而static则可能会变成指向派生类,这也是比较奇葩的地方,静态成员是可以继承和覆盖的。

 

PHP还提供了一些以双下划线开头的魔术方法(包括构造方法和一些内置的“接口”),下面即是PHP现有的魔法方法:

1、__construct($args) 和 __destruct(void) 

即构造方法和析构方法,与其他语言相同,在实例化时调用构造方法,在回收对象时调用析构方法。析构方法可用于在执行结束后自动回收资源,像关闭一些以指针引用的资源。

 

2、mixed __call (string $name , array $arguments) 和 mixed __callStatic (string $name , array $arguments)

如果调用一个对象中不存在的方法或类中不存在静态方法,就会分别调用上面两个方法。这两个方法使得你可以使用一些特别的动态运行机制,让方法无中生有。个人建议尽量少用,它们会让代码难以维护,并且无法被IDE支持。

 

3、mixed __get (string $name) 和 __set (string $name , mixed $value)

跟__call一样,它们是在调用不存在的属性时候被执行,同样建议少用。

 

4、bool __isset (string $name __unset (string $name)

当对对象不存在的属性调用 isset() 或 empty() 时,__isset() 会被调用。__unset则是在调用unset时被调用。

 

5、array __sleep (void) 和 __wakeup (void)

这两个方法会分别在序列化之前和序列化之后调用,可用于整理将序列化的对象的属性和在序列化之后恢复状态。

 

6、string __toString (void)

它告诉PHP在需要将对象转换为字符串时应该如何转换,像 echo new MyClass();

 

7、mixed __invoke ()

在把一个对象变量当成函数来调用时会调用这个方法。

 

8、object __set_state (array $properties)

在对一个对象调用var_export()时它将被调用,并以返回值代替对象自身,可以让它来组织导出变量的数据。

 

9、__clone()

用这个方法允许我们在复制对象的同时也为属性进行深拷贝,类似.net中的ICloneable接口。

 

 

关于自动加载:

PHP自身没有自动加载的机制,但是新版本中提供了spl_autoload_register这个函数来注册一个函数,在使用一个不存在的类时被注册的函数即被调用,开发者需要手工在函数中实现加载机制。笔者没深入了解过include的机制,如果还需要检测一个文件是否存在,可能会让运行效率变低。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/748242.htmlTechArticlePHP的class与其他语言有很多不同点。PHP允许很奇葩的在静态方法中调用实例方法,提供了关键字self和static用于访问类自身的静态成员。sel...
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

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)

La combinaison de Vue.js et ASP.NET fournit des conseils et des suggestions pour l'optimisation des performances et l'expansion des applications Web. La combinaison de Vue.js et ASP.NET fournit des conseils et des suggestions pour l'optimisation des performances et l'expansion des applications Web. Jul 29, 2023 pm 05:19 PM

La combinaison de Vue.js et ASP.NET fournit des conseils et des suggestions pour l'optimisation des performances et l'expansion des applications Web. Avec le développement rapide des applications Web, l'optimisation des performances est devenue une tâche indispensable et importante pour les développeurs. En tant que framework frontal populaire, Vue.js combiné à ASP.NET peut nous aider à obtenir une meilleure optimisation et expansion des performances. Cet article présentera quelques conseils et suggestions, et fournira quelques exemples de code. 1. Réduire les requêtes HTTP Le nombre de requêtes HTTP affecte directement la vitesse de chargement des applications Web. passer

Dix façons dont l'IA générative va changer le développement logiciel Dix façons dont l'IA générative va changer le développement logiciel Mar 11, 2024 pm 12:10 PM

Traducteur | Révisé par Chen Jun | Chonglou Dans les années 1990, lorsque les gens parlaient de programmation logicielle, cela signifiait généralement choisir un éditeur, vérifier le code dans la base de code CVS ou SVN, puis compiler le code dans un fichier exécutable. Les environnements de développement intégrés (IDE) correspondants tels qu'Eclipse et Visual Studio peuvent intégrer la programmation, le développement, la documentation, la construction, les tests, le déploiement et d'autres étapes dans un cycle de vie complet de développement logiciel (SDLC), améliorant ainsi l'efficacité du travail des développeurs. Ces dernières années, les outils populaires de cloud computing et d'automatisation DevSecOps ont amélioré les capacités complètes des développeurs, permettant ainsi à un plus grand nombre d'entreprises de développer, de déployer et de maintenir plus facilement des applications logicielles. Aujourd’hui, l’IA générative est le développement de la prochaine génération

Techniques d'utilisation et d'optimisation du pool de connexions MySQL dans les programmes ASP.NET Techniques d'utilisation et d'optimisation du pool de connexions MySQL dans les programmes ASP.NET Jun 30, 2023 pm 11:54 PM

Comment utiliser et optimiser correctement le pool de connexions MySQL dans les programmes ASP.NET ? Introduction : MySQL est un système de gestion de bases de données largement utilisé qui offre des performances élevées, une fiabilité et une facilité d'utilisation. Dans le développement ASP.NET, l'utilisation d'une base de données MySQL pour le stockage des données est une exigence courante. Afin d'améliorer l'efficacité et les performances des connexions aux bases de données, nous devons utiliser et optimiser correctement le pool de connexions MySQL. Cet article explique comment utiliser et optimiser correctement le pool de connexions MySQL dans les programmes ASP.NET.

Comment se reconnecter à MySQL dans le programme ASP.NET ? Comment se reconnecter à MySQL dans le programme ASP.NET ? Jun 29, 2023 pm 02:21 PM

Comment se reconnecter à MySQL dans le programme ASP.NET ? Dans le développement ASP.NET, il est très courant d'utiliser la base de données MySQL. Cependant, pour des raisons de réseau ou de serveur de base de données, la connexion à la base de données peut parfois être interrompue ou expirer. Dans ce cas, afin de garantir la stabilité et la fiabilité du programme, nous devons rétablir la connexion après la déconnexion de la connexion. Cet article explique comment reconnecter les connexions MySQL dans les programmes ASP.NET. Pour référencer d'abord les espaces de noms nécessaires, référencez-les en tête du fichier de code

La combinaison de Vue.js et ASP.NET permet le développement et le déploiement d'applications au niveau de l'entreprise La combinaison de Vue.js et ASP.NET permet le développement et le déploiement d'applications au niveau de l'entreprise Jul 29, 2023 pm 02:37 PM

La combinaison de Vue.js et d'ASP.NET permet le développement et le déploiement d'applications au niveau de l'entreprise Dans le domaine technologique Internet en développement rapide actuel, le développement et le déploiement d'applications au niveau de l'entreprise sont devenus de plus en plus importants. Vue.js et ASP.NET sont deux technologies largement utilisées dans le développement front-end et back-end. Leur combinaison peut apporter de nombreux avantages au développement et au déploiement d'applications au niveau de l'entreprise. Cet article expliquera comment utiliser Vue.js et ASP.NET pour développer et déployer des applications au niveau de l'entreprise à travers des exemples de code. Tout d'abord, nous devons installer

Comment configurer et utiliser correctement le pool de connexions MySQL dans le programme ASP.NET ? Comment configurer et utiliser correctement le pool de connexions MySQL dans le programme ASP.NET ? Jun 29, 2023 pm 12:56 PM

Comment configurer et utiliser correctement le pool de connexions MySQL dans le programme ASP.NET ? Avec le développement d’Internet et l’augmentation du volume de données, la demande d’accès et de connexions aux bases de données augmente également. Afin d’améliorer les performances et la stabilité de la base de données, le pooling de connexions est devenu une technologie incontournable. Cet article explique principalement comment configurer et utiliser correctement le pool de connexions MySQL dans les programmes ASP.NET pour améliorer l'efficacité et la vitesse de réponse de la base de données. 1. Le concept et la fonction du pooling de connexions Le pooling de connexions est une technologie qui réutilise les connexions de bases de données. Elle est utilisée au début du programme.

Utilisation et optimisation des performances des transactions du pool de connexions MySQL dans ASP.NET Utilisation et optimisation des performances des transactions du pool de connexions MySQL dans ASP.NET Jun 30, 2023 pm 12:12 PM

Comment utiliser correctement et optimiser les performances des transactions du pool de connexions MySQL dans les programmes ASP.NET ? Dans les programmes ASP.NET, les transactions de base de données constituent une partie très importante. Les transactions garantissent la cohérence et l'intégrité de la base de données tout en offrant de meilleures performances. Lors de l'utilisation d'une base de données MySQL, il est essentiel d'utiliser un pool de connexions pour gérer les ressources de connexion et optimiser les performances. Tout d’abord, comprenons brièvement le concept de pool de connexions MySQL. Le pool de connexions est un pool tampon d'un groupe de connexions en pré-initialisant un certain nombre de connexions.

Quels sont les objets intégrés dans aspnet ? Quels sont les objets intégrés dans aspnet ? Nov 21, 2023 pm 02:59 PM

Les objets intégrés dans ASP.NET incluent "Request", "Response", "Session", "Server", "Application", "HttpContext", "Cache", "Trace", "Cookie" et "Server.MapPath" : 1. Requête, indiquant la requête HTTP émise par le client 2. Réponse : indiquant la réponse HTTP renvoyée par le serveur web au client ; client, etc

See all articles