Maison développement back-end tutoriel php php函数、类跟对象以及类的封装、继承、类的静态方法、静态属性

php函数、类跟对象以及类的封装、继承、类的静态方法、静态属性

Jun 13, 2016 pm 12:23 PM
echo function method public url

php函数、类和对象以及类的封装、继承、类的静态方法、静态属性

1、函数

    php内置函数可以直接使用,如果没有安装php扩展即可

    自定义函数

<span style="color: #008000">//</span><span style="color: #008000">函数function  函数名 </span>    <span style="color: #0000ff">function</span> dump(<span style="color: #800080">$var</span> = <span style="color: #0000ff">null</span>){    <span style="color: #008000">//</span><span style="color: #008000">支出默认参数值</span>        <span style="color: #0000ff">echo</span> ‘<pre class="brush:php;toolbar:false">
Copier après la connexion
’; var_dump($var); }

2、类(class)和对象( new Obj)

<span style="color: #000000">php </span><span style="color: #008000">//</span><span style="color: #008000">定义一个人的类,现在还不是对象</span> <span style="color: #0000ff">class</span><span style="color: #000000"> Person{ </span><span style="color: #008000">//</span><span style="color: #008000">私有属性 </span>
Copier après la connexion
<span style="color: #008000">    </span><span style="color: #0000ff">private</span> <span style="color: #800080">$eye</span> = '大眼睛'<span style="color: #000000">;    </span><span style="color: #0000ff">private</span> <span style="color: #800080">$mouth</span> = '小嘴巴'<span style="color: #000000">;    </span><span style="color: #0000ff">private</span> <span style="color: #800080">$leg</span> = '大长腿'<span style="color: #000000">;                 </span><span style="color: #008000">//</span><span style="color: #008000">构造方法 new 对象的时候自定调用</span>    <span style="color: #0000ff">public</span> <span style="color: #0000ff">function</span><span style="color: #000000"> __construct()    {        </span><span style="color: #0000ff">echo</span> <span style="color: #ff00ff">__CLASS__</span><span style="color: #000000">;    }        </span><span style="color: #0000ff">public</span> <span style="color: #0000ff">function</span><span style="color: #000000"> run()    {        </span><span style="color: #0000ff">echo</span>  <span style="color: #800080">$this</span>-><span style="color: #000000">leg;    }     </span><span style="color: #008000">//</span><span style="color: #008000">学习 会用到 腿(走路)、眼睛(看书)、嘴(念书)</span>    <span style="color: #0000ff">public</span> <span style="color: #0000ff">function</span><span style="color: #000000"> study()    {        </span><span style="color: #0000ff">echo</span> <span style="color: #800080">$this</span>->leg, <span style="color: #800080">$this</span>->eye, <span style="color: #800080">$this</span>-><span style="color: #000000">mouth;    }                 }</span><span style="color: #008000">//</span><span style="color: #008000">使用类 new以后就变成了对象</span><span style="color: #800080">$person</span> = <span style="color: #0000ff">new</span> Person();          <span style="color: #008000">//</span><span style="color: #008000">输出 Person</span><span style="color: #800080">$person</span> -> run();                <span style="color: #008000">//</span><span style="color: #008000">输出  大长腿</span><span style="color: #800080">$person</span> -> study();             <span style="color: #008000">//</span><span style="color: #008000">输出  大长腿 大眼睛 小嘴唇</span>
Copier après la connexion

3、类的封装(public, protected, private)和继承(extends)

<span style="color: #008000">//</span><span style="color: #008000">类的继承  </span><span style="color: #0000ff">class</span><span style="color: #000000"> A{    </span><span style="color: #0000ff">public</span> <span style="color: #0000ff">function</span><span style="color: #000000"> help()    {        </span><span style="color: #0000ff">echo</span> <span style="color: #ff00ff">__METHOD__</span><span style="color: #000000">;    }    </span><span style="color: #008000">//</span><span style="color: #008000">声明一个吃的方法 私有的</span>    <span style="color: #0000ff">private</span> <span style="color: #0000ff">function</span><span style="color: #000000"> eat()    {        </span><span style="color: #0000ff">echo</span>  <span style="color: #ff00ff">__METHOD__</span><span style="color: #000000">;    }}</span><span style="color: #008000">//</span><span style="color: #008000">子类可以继承父类所有的公共方法和属性、受保护的方法和属性,私有方法除外//如果想使用,重写即可</span><span style="color: #0000ff">class</span> B <span style="color: #0000ff">extends</span><span style="color: #000000">  A{    </span><span style="color: #0000ff">public</span> <span style="color: #0000ff">function</span><span style="color: #000000"> doSomething()    {        </span><span style="color: #800080">$this</span> -> help();   <span style="color: #008000">//</span><span style="color: #008000">继承了父类的方法   前提是声明为public </span>        <span style="color: #0000ff">echo</span> '<hr>'<span style="color: #000000">;        </span><span style="color: #800080">$this</span> -> eat();    <span style="color: #008000">//</span><span style="color: #008000">因为吃是私有的,子类不能使用, 这里在子类中写了一个eat方法.</span><span style="color: #000000">    }    </span><span style="color: #008000">//</span><span style="color: #008000">子类的吃</span>    <span style="color: #0000ff">public</span> <span style="color: #0000ff">function</span><span style="color: #000000"> eat()    {        </span><span style="color: #0000ff">echo</span> <span style="color: #ff00ff">__METHOD__</span><span style="color: #000000">;    }}</span><span style="color: #800080">$b</span> = <span style="color: #0000ff">new</span><span style="color: #000000"> B;</span><span style="color: #800080">$b</span>->doSomething();
Copier après la connexion
//输出结果
Copier après la connexion

A::help


B::eat

4、类的静态方法和静态属性

<span style="color: #000000">php</span><span style="color: #008000">//</span><span style="color: #008000">定义一个Url 相关的类</span><span style="color: #0000ff">class</span><span style="color: #000000"> Url{    </span><span style="color: #0000ff">public</span> <span style="color: #0000ff">static</span> <span style="color: #0000ff">function</span> createUrl(<span style="color: #800080">$arr</span> =<span style="color: #000000"> [])    {        </span><span style="color: #0000ff">echo</span> <span style="color: #ff00ff">__METHOD__</span><span style="color: #000000">;    }    </span><span style="color: #0000ff">public</span> <span style="color: #0000ff">static</span> <span style="color: #0000ff">function</span> redirect(<span style="color: #800080">$url</span> = ''<span style="color: #000000">)    {        </span><span style="color: #0000ff">echo</span> <span style="color: #ff00ff">__METHOD__</span><span style="color: #000000">;    }    </span><span style="color: #0000ff">public</span> <span style="color: #0000ff">static</span> <span style="color: #0000ff">function</span><span style="color: #000000"> getCurrentUrl()    {        </span><span style="color: #0000ff">echo</span> <span style="color: #ff00ff">__METHOD__</span><span style="color: #000000">;    }}</span><span style="color: #008000">//</span><span style="color: #008000">把方法声明成静态方法,不需要每次都实例化(new)对象,操作方便,节省内存,效率更高</span><span style="color: #0000ff">echo</span>  Url::createUrl(<span style="color: #800080">$var</span>=''<span style="color: #000000">);</span><span style="color: #0000ff">echo</span>  Url::redirect(<span style="color: #800080">$url</span>=''<span style="color: #000000">);</span><span style="color: #0000ff">echo</span>  Url::getCurrentUrl();
Copier après la connexion

5、类的静态属性

<span style="color: #000000">php</span><span style="color: #008000">//</span><span style="color: #008000">定义一个Url 相关的类</span><span style="color: #0000ff">class</span><span style="color: #000000"> Url{    </span><span style="color: #008000">//</span><span style="color: #008000">声明为类常量</span>    <span style="color: #0000ff">const</span> URL = 'http://www.baidu.com'; <span style="color: #008000">//</span><span style="color: #008000">从5.3以后可以直接在类外部使用 const    //声明为静态变量</span>     <span style="color: #0000ff">public</span> <span style="color: #0000ff">static</span> <span style="color: #800080">$var</span> = 'it is very good'<span style="color: #000000">;    </span><span style="color: #0000ff">public</span> <span style="color: #0000ff">static</span> <span style="color: #0000ff">function</span> createUrl(<span style="color: #800080">$arr</span> =<span style="color: #000000"> [])    {        </span><span style="color: #0000ff">echo</span> self::<span style="color: #000000">URL;        </span><span style="color: #0000ff">echo</span> '<br>'<span style="color: #000000">;        </span><span style="color: #0000ff">echo</span> self::<span style="color: #800080">$var</span><span style="color: #000000">;        </span><span style="color: #0000ff">echo</span> '<br>'<span style="color: #000000">;        </span><span style="color: #0000ff">echo</span> <span style="color: #ff00ff">__METHOD__</span><span style="color: #000000">;    }    </span><span style="color: #0000ff">public</span> <span style="color: #0000ff">static</span> <span style="color: #0000ff">function</span> redirect(<span style="color: #800080">$url</span> = ''<span style="color: #000000">)    {        </span><span style="color: #0000ff">echo</span> <span style="color: #ff00ff">__METHOD__</span><span style="color: #000000">;    }    </span><span style="color: #0000ff">public</span> <span style="color: #0000ff">static</span> <span style="color: #0000ff">function</span><span style="color: #000000"> getCurrentUrl()    {        </span><span style="color: #0000ff">echo</span> <span style="color: #ff00ff">__METHOD__</span><span style="color: #000000">;    }}</span><span style="color: #008000">//</span><span style="color: #008000">把方法声明成静态方法,不需要每次都实例化(new)对象,操作方便,节省内存,效率更高</span><span style="color: #0000ff">echo</span>  Url::createUrl(<span style="color: #800080">$var</span>='');
Copier après la connexion
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)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines 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)

Introduction à la fonction PHP — get_headers() : récupère les informations d'en-tête de réponse de l'URL Introduction à la fonction PHP — get_headers() : récupère les informations d'en-tête de réponse de l'URL Jul 25, 2023 am 09:05 AM

Introduction à la fonction PHP — get_headers() : Présentation de l'obtention des informations d'en-tête de réponse de l'URL : Dans le développement PHP, nous avons souvent besoin d'obtenir les informations d'en-tête de réponse de la page Web ou de la ressource distante. La fonction PHP get_headers() peut facilement obtenir les informations d'en-tête de réponse de l'URL cible et les renvoyer sous la forme d'un tableau. Cet article présentera l'utilisation de la fonction get_headers() et fournira quelques exemples de code associés. Utilisation de la fonction get_headers() : get_header

Pourquoi NameResolutionError(self.host, self, e) de e et comment le résoudre Pourquoi NameResolutionError(self.host, self, e) de e et comment le résoudre Mar 01, 2024 pm 01:20 PM

La raison de l'erreur est NameResolutionError(self.host,self,e)frome, qui est un type d'exception dans la bibliothèque urllib3. La raison de cette erreur est que la résolution DNS a échoué, c'est-à-dire le nom d'hôte ou l'adresse IP qui était. La tentative de résolution n'a pas pu être trouvée. Cela peut être dû au fait que l'adresse URL saisie est incorrecte ou que le serveur DNS est temporairement indisponible. Comment résoudre cette erreur Il peut y avoir plusieurs façons de résoudre cette erreur : Vérifiez si l'adresse URL saisie est correcte et assurez-vous qu'elle est accessible Assurez-vous que le serveur DNS est disponible, vous pouvez essayer d'utiliser la commande "ping" dans la ligne de commande pour tester si le serveur DNS est disponible Essayez d'accéder au site Web en utilisant l'adresse IP au lieu du nom d'hôte si vous êtes derrière un proxy

Comment obtenir votre identifiant Steam en quelques étapes ? Comment obtenir votre identifiant Steam en quelques étapes ? May 08, 2023 pm 11:43 PM

De nos jours, de nombreux utilisateurs Windows qui aiment les jeux ont accédé au client Steam et peuvent rechercher, télécharger et jouer à n'importe quel bon jeu. Cependant, de nombreux profils d'utilisateurs peuvent porter exactement le même nom, ce qui rend difficile la recherche d'un profil ou même la liaison d'un profil Steam à d'autres comptes tiers ou la participation à des forums Steam pour partager du contenu. Le profil se voit attribuer un identifiant unique à 17 chiffres, qui reste le même et ne peut être modifié à aucun moment par l'utilisateur, contrairement au nom d'utilisateur ou à l'URL personnalisée. Quoi qu'il en soit, certains utilisateurs ne connaissent pas leur Steamid, et il est important de le savoir. Si vous ne savez pas comment retrouver le Steamid de votre compte, pas de panique. Dans cet article

Que signifie fonction ? Que signifie fonction ? Aug 04, 2023 am 10:33 AM

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.

Quelle est la différence entre HTML et URL Quelle est la différence entre HTML et URL Mar 06, 2024 pm 03:06 PM

Différences : 1. Différentes définitions, l'URL est un localisateur de ressources uniforme et le HTML est un langage de balisage hypertexte ; 2. Il peut y avoir plusieurs URL dans un HTML, mais une seule page HTML peut exister dans une URL. 3. HTML fait référence à ; une page Web, et l'url fait référence à l'adresse du site Web.

Comment utiliser l'encodage et le décodage d'URL en Java Comment utiliser l'encodage et le décodage d'URL en Java May 08, 2023 pm 05:46 PM

Utilisez url pour encoder et décoder la méthode de classe java.net.URLDecoder.decode(url, decoding format) decoder.decoding pour l'encodage et le décodage. Convertie en chaîne ordinaire, URLEncoder.decode(url, format d'encodage) transforme la chaîne ordinaire en chaîne au format spécifié packagecom.zixue.springbootmybatis.test;importjava.io.UnsupportedEncodingException;importjava.net.URLDecoder;importjava.net. Encodeur d'URL

Solution à l'erreur fatale PHP : appel à une fonction membre fetch() Solution à l'erreur fatale PHP : appel à une fonction membre fetch() Jun 23, 2023 am 09:36 AM

Lorsque vous utilisez PHP pour le développement d’applications Web, vous devrez souvent utiliser une base de données. Lors de l'utilisation d'une base de données, les messages d'erreur sont très courants. Parmi eux, PHPFatalerror : Calltoamemberfunctionfetch() est une erreur relativement courante qui se produit lors de l'utilisation de PDO pour interroger la base de données. Alors, quelle est la cause de cette erreur et comment la résoudre ? Cet article vous l’expliquera en détail. 1. Cause de l'erreur

Quelle est la différence entre la version développeur et la version publique d'iOS ? Quelle est la différence entre la version développeur et la version publique d'iOS ? Mar 01, 2024 pm 12:55 PM

Chaque année, avant qu'Apple ne publie une nouvelle version majeure d'iOS et de macOS, les utilisateurs peuvent télécharger la version bêta plusieurs mois à l'avance pour en faire l'expérience en premier. Étant donné que le logiciel est utilisé à la fois par le public et par les développeurs, Apple a lancé des versions développeur et publique, qui sont des versions bêta publiques des versions bêta développeur, pour les deux. Quelle est la différence entre la version développeur et la version publique d’iOS ? Littéralement parlant, la version développeur est une version bêta développeur et la version publique est une version bêta publique. La version développeur et la version publique ciblent des publics différents. La version développeur est utilisée par Apple pour les tests par les développeurs. Vous avez besoin d'un compte développeur Apple pour la télécharger et la mettre à niveau.

See all articles