首页 后端开发 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">
登录后复制
’; 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>
登录后复制
<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>
登录后复制

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();
登录后复制
//输出结果
登录后复制

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();
登录后复制

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>='');
登录后复制
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

PHP函数介绍—get_headers(): 获取URL的响应头信息 PHP函数介绍—get_headers(): 获取URL的响应头信息 Jul 25, 2023 am 09:05 AM

PHP函数介绍—get_headers():获取URL的响应头信息概述:在PHP开发中,我们经常需要获取网页或远程资源的响应头信息。PHP函数get_headers()能够方便地获取目标URL的响应头信息,并以数组形式返回。本文将介绍get_headers()函数的用法,以及提供一些相关的代码示例。get_headers()函数的用法:get_header

为什么NameResolutionError(self.host, self, e) from e,怎么解决 为什么NameResolutionError(self.host, self, e) from e,怎么解决 Mar 01, 2024 pm 01:20 PM

报错的原因NameResolutionError(self.host,self,e)frome是由urllib3库中的异常类型,这个错误的原因是DNS解析失败,也就是说,试图解析的主机名或IP地址无法找到。这可能是由于输入的URL地址不正确,或者DNS服务器暂时不可用导致的。如何解决解决此错误的方法可能有以下几种:检查输入的URL地址是否正确,确保它是可访问的确保DNS服务器可用,您可以尝试在命令行中使用"ping"命令来测试DNS服务器是否可用尝试使用IP地址而不是主机名来访问网站如果是在代理

怎样透过几个步骤获取您的 Steam ID? 怎样透过几个步骤获取您的 Steam ID? May 08, 2023 pm 11:43 PM

现在很多热爱游戏的windows用户都进入了Steam客户端,可以搜索、下载和玩任何好游戏。但是,许多用户的个人资料可能具有完全相同的名称,这使得查找个人资料或什至将Steam个人资料链接到其他第三方帐户或加入Steam论坛以共享内容变得困难。为配置文件分配了一个唯一的17位id,它保持不变,用户无法随时更改,而用户名或自定义URL可以更改。无论如何,一些用户并不知道他们的Steamid,这对于了解这一点非常重要。如果您也不知道如何找到您帐户的Steamid,请不要惊慌。在这篇文

function是什么意思 function是什么意思 Aug 04, 2023 am 10:33 AM

function是函数的意思,是一段具有特定功能的可重复使用的代码块,是程序的基本组成单元之一,可以接受输入参数,执行特定的操作,并返回结果,其目的是封装一段可重复使用的代码,提高代码的可重用性和可维护性。

html和url的区别是什么 html和url的区别是什么 Mar 06, 2024 pm 03:06 PM

区别:1、定义不同,url是是统一资源定位符,而html是超文本标记语言;2、一个html中可以有很多个url,而一个url中只能存在一个html页面;3、html指的是网页,而url指的是网站地址。

如何在Java中使用URL编码和解码 如何在Java中使用URL编码和解码 May 08, 2023 pm 05:46 PM

使用url进行编码和解码编码和解码的类java.net.URLDecoder.decode(url,解码格式)解码器.解码方法。转化成普通字符串,URLEncoder.decode(url,编码格式)将普通字符串变成指定格式的字符串packagecom.zixue.springbootmybatis.test;importjava.io.UnsupportedEncodingException;importjava.net.URLDecoder;importjava.net.URLEncoder

PHP Fatal error: Call to a member function fetch()的解决方法 PHP Fatal error: Call to a member function fetch()的解决方法 Jun 23, 2023 am 09:36 AM

在使用PHP进行web应用开发时,很多时候会需要使用数据库。而在使用数据库时,错误提示是非常常见的事情。其中,PHPFatalerror:Calltoamemberfunctionfetch()是一种比较常见的错误,它会在使用PDO查询数据库时出现。那么,这个错误是怎么引起的,以及如何解决呢?本文将为大家详细阐述。一、错误产生原

iOS的developer版和public版有什么区别? iOS的developer版和public版有什么区别? Mar 01, 2024 pm 12:55 PM

每年Apple发布新的iOS和macOS大版本之前,用户都可以提前几个月下载测试版抢先体验一番。由于公众和开发人员都使用该软件,所以苹果公司为两者推出了developer和public版即开发者测试版的公共测试版。iOS的developer版和public版有什么区别呢?从字面上的意思来说,developer版是开发者测试版,public版是公共测试版。developer版和public版面向的对象不同。developer版是苹果公司给开发者测试使用的,需要苹果开发者帐号才可以收到下载并升级,是

See all articles