php从入门到放弃系列-03.php函数和面向对象

php从入门到放弃系列-03.php函数和面向对象

一、函数

  php真正的威力源自它的函数,内置了1000个函数,可以参考PHP 参考手册

  自定义函数:

1 function functionName()
2 {
3 要执行的代码;
4 }

  函数命名的准则:

  • 函数的名称应该提示出它的功能
  • 函数名称以字母或下划线开头(不能以数字开头)

二、面向对象

  1、类基础语法:

 1 <?php
 2 class Site {
 3   /* 成员变量 */
 4   var $url;
 5   var $title;
 6
 7   /* 成员函数 */
 8   function setUrl($par){
 9      $this->url = $par;
10   }
11
12   function getUrl(){
13      echo $this->url . PHP_EOL;
14   }
15
16   function setTitle($par){
17      $this->title = $par;
18   }
19
20   function getTitle(){
21      echo $this->title . PHP_EOL;
22   }
23 }
24 ?>

解析如下:

  • 类使用 class 关键字后加上类名定义。
  • 类名后的一对大括号({})内可以定义变量和方法。
  • 类的变量使用 var 来声明, 变量也可以初始化值。
  • 函数定义类似 PHP 函数的定义,但函数只能通过该类及其实例化的对象访问。
  • $this 代表自身的对象,访问对象成员使用->访问,不再是.
  • PHP_EOL 为换行符

  2、创建使用对象

  类创建后,我们可以使用 new 运算符来实例化该类的对象,访问对象成员使用->访问,不再是.,使用new Site调用无参构造函数,可以不带括号:

1 $runoob = new Site;
2 $taobao = new Site;
3 $google = new Site;
1 $runoob->setTitle( "菜鸟教程" );

  3、构造函数

  使用_construct命名构造函数

1 function __construct( $par1, $par2 ) {
2    $this->url = $par1;
3    $this->title = $par2;
4 }

  4、析构函数

  与构造函数相反,当对象结束其生命周期时(例如对象所在的函数已调用完毕),系统自动执行析构函数

 1 <?php
 2 class MyDestructableClass {
 3    function __construct() {
 4        print "构造函数\n";
 5        $this->name = "MyDestructableClass";
 6    }
 7
 8    function __destruct() {
 9        print "销毁 " . $this->name . "\n";
10    }
11 }
12
13 $obj = new MyDestructableClass();
14 ?>

  执行结果为:

构造函数
销毁 MyDestructableClass

  5、继承

  单根继承,继承使用关键字extends,实现接口使用implements

三、结束语

  ok,php函数和对象已经学习完毕。注意,本教程属于快速学习教程,只关注一些语法重点和特殊、不同点。

时间: 2024-08-02 22:44:43

php从入门到放弃系列-03.php函数和面向对象的相关文章

php从入门到放弃系列-04.php页面间值传递和保持

php从入门到放弃系列-04.php页面间值传递和保持 一.目录结构 二.两次页面间传递值 在两次页面之间传递少量数据,可以使用get提交,也可以使用post提交,二者的区别恕不赘述. 1.get提交 使用get提交来传递数据,在链接地址中修改发送到服务器的 URL 如下所示http://www.cnblogs.com/MarkRao/p/php01.html?gName=mark&gAge=26 ,当然也可以在表单中设置method="get",php中接收get提交过来的数

[大数据从入门到放弃系列教程]第一个spark分析程序

文章施工中,由于部分网站会在我还没有写完就抓取到这篇文章,导致你看到的内容不完整,请点击这里: 或者复制访问 http://www.cnblogs.com/blog5277/p/8580007.html 来查看更完整的内容 [大数据从入门到放弃系列教程]第一个spark分析程序 原文链接:http://www.cnblogs.com/blog5277/p/8580007.html 原文作者:博客园--曲高终和寡 *********************分割线******************

JMETER_从入门到放弃系列

基础篇 Jmeter(一)环境部署 Jmeter(二)基础元件 Jmeter(三)配置元件 Jmeter(四)16个逻辑控制器 Jmeter(五)24个函数 Jmeter(六)前置处理器 进阶篇 Jmeter(七)IF控制器+循环控制器+计数器控制接口分支 Jmeter(八)JDBC请求 Jmeter(九)获取JDBC响应做接口关联 JMeter(十)正则表达式关联 Jmeter(十一)针对响应信息不明确的接口做关联 Jmeter(十二)打印时间戳 JMeter(十三)-代理服务器录制脚本 JM

CSS 从入门到放弃系列(一):CSS的引入方式

css的四种引入方式 内联方式(行间样式) <div style="width:100px;height: 100px; background-color: red"></div> 这通常是个很糟糕的书写方式,它只能改变当前标签的样式,如果想要多个<div>拥有相同的样式,你不得不重复地为每个<div>添加相同的样式,如果想要修改一种样式,又不得不修改所有的 style 中的代码.很显然,内联方式引入 CSS 代码会导致 HTML 代码变

ASP.NET WebApi 从入门到&quot;放弃&quot;系列---WebApi 请求路由

写在前面 上一篇,我已经写了如何快速的创建一个webapi项目.接下来,说一下webapi相关的路由请求吧. 我们来创建一个包含读/写操作的web api 2控制器. 我们仔细看这个初始的web api,我们会发现 1.在控制器的方法中,会默认一种格式的请求.而默认的则是Post请求. 2.在控制器的方法中,不会默认为Get请求.所以,需要请求数据时,需要加上前缀[HttpGet]. 3.在控制器的方法中,请求数据用Get请求,删除数据用Delete请求,添加数据用Post请求,编辑数据会用到P

python全栈开发从入门到放弃之装饰器函数

1.函数名可以当作函数的参数 1 import time 2 def timmer(func): 3 #函数名可以当做函数的参数 4 def inner(): 5 start = time.time() 6 func() 7 end = time.time() 8 print(end - start) 9 return inner 10 11 def hahaha(): 12 time.sleep(0.1) 13 print('aaaa') 14 15 hahaha() 16 17 输出结果 1

春节学习之从入门到放弃学习 ~~~废材大学几年没学,从头开始系列01

大年初四,春雨绵绵,闲着在家实在没有什么事,这个年纪好多小伙伴都玩不起来啦,于是我想到了学习,学习,大概这个号忘了几年的密码,才想起来,发现还是特么学习好晚,好打发时间... 上午,一家人坐在沙发前,看江西卫视的天龙八部,记得第一次看时还是在小学的时候,那个时候可好看啦,要是现在看书有那个时候有劲就好啦...233 因为马上要找工作,以前看的数据结构,连概念都不知道啦,从头再来,从入门到放弃系列...从定义开始... 栈stack):只允许在一端进行插入或删除操作的线性表.首先栈是一种线性表,但

CYQ.Data 从入门到放弃ORM系列:开篇:自动化框架编程思维

前言: 随着CYQ.Data 开始回归免费使用之后,发现用户的情绪越来越激动,为了保持这持续的激动性,让我有了开源的念头. 同时,由于框架经过这5-6年来的不断演进,以前发的早期教程已经太落后了,包括使用方式,及相关介绍,都容易引人误解. 为此,我打算重新写个系列来介绍最新的版本,让大伙从传统的ORM编程过渡到自动化框架型思维编程(自已造的词). 于是:这个新系列的名称就叫:CYQ.Data 从入门到放弃ORM系列 什么是:CYQ.Data 1:它是一个ORM框架. 2:它是一个数据层组件. 3

《Java从入门到放弃》文章目录

转眼半个月过去了,不知不觉也写了10篇博客,突然发现所有的目录都没有纯列表的展示,所以特意写一个目录篇,来记录该系列下所有的文章. 当然,因为现在还没有写完,所以先按时间顺序排列,等相关内容都写完后,再按学习顺序来整理. <Java从入门到放弃>入门篇:XMLHttpRequest的基本用法 <Java从入门到放弃>入门篇:Struts2的基本访问方 <Java从入门到放弃>入门篇:Struts2的基本访问方式(二) <Java从入门到放弃>入门篇:Stru