PHP学习笔记七之类与面向对象(进阶篇)

作者:青岛澄润国际贸易有限公司 来源:www.usabcc.com 发布时间:2017-09-05 11:58:39
PHP学习笔记七之类与面向对象(进阶篇) 一.函数 1.返回值

使用return关键字可以使函数返回值,可以返回包括数组和对象的任意类型,如果省略了 return,则默认返回值为 NULL。

function add($a) { return $a+1; } $b = add(1);

返回语句会立即中止函数的运行,并且将控制权交回调用该函数的代码行,因此下面函数的返回值跟上面的函数是一样的。

function add($a) { return $a+1; $a = 10; return $a+20; } $b = add(1);

函数不能返回多个值,但可以通过返回一个数组来得到类似的效果。

function numbers() { return array(1, 2, 3); } list ($one, $two, $three) = numbers(); 2.可变函数

所谓可变函数,即通过变量的值来调用函数,因为变量的值是可变的,所以可以通过改变一个变量的值来实现调用不同的函数。经常会用在回调函数、函数列表,或者根据动态参数来调用不同的函数。可变函数的调用方法为变量名加括号。

function name() { echo 'jobs'; } $func = 'name'; $func(); //调用可变函数

可变函数也可以用在对象的方法调用上。

class book { function getName() { return 'bookname'; } } $func = 'getName'; $book = new book(); $book->$func(); 3.内置函数

内置函数指的是PHP默认支持的函数,PHP内置了很多标准的常用的处理函数,包括字符串处理、数组函数、文件处理、session与cookie处理等。

我们先拿字符串处理函数来举例,通过内置函数str_replace可以实现字符串的替换。下面的例子将“jobs”替换成“steven jobs”:

$str = 'i am jobs.'; $str = str_replace('jobs', 'steven jobs', $str); echo $str; //结果为“i am steven jobs”

另外一些函数是通过其他扩展来支持的,比如mysql数据库处理函数,GD图像处理函数,邮件处理函数等,PHP默认加载了一些常用的扩展库,我们可以安装或者加载其他扩展库来增加PHP的处理函数。

4.判断是否存在

当我们创建了自定义函数,并且了解了可变函数的用法,为了确保程序调用的函数是存在的,经常会先使用function_exists判断一下函数是否存在。同样的method_exists可以用来检测类的方法是否存在。

function func() { } if (function_exists('func')){ echo 'exists'; }

类是否定义可以使用class_exists。

class MyClass{ } // 使用前检查类是否存在 if (class_exists('MyClass')) { $myclass = new MyClass(); }

PHP中有很多这类的检查方法,例如文件是否存在file_exists等。

$filename = 'test.txt'; if (!file_exists($filename)) { echo $filename . ' not exists.'; } 二.类和对象 1.定义

类是面向对象程序设计的基本概念,通俗的理解类就是对现实中某一个种类的东西的抽象, 比如汽车可以抽象为一个类,汽车拥有名字、轮胎、速度、重量等属性,可以有换挡、前进、后退等操作方法。

通常定义一个汽车类的方法为:

class Car { $name = '汽车'; function getName() { return $this->name; } }

类是一类东西的结构描述,而对象则是一类东西的一个具体实例,例如汽车这个名词可以理解为汽车的总类,但这辆汽车则是一个具体的汽车对象。

对象通过new关键字进行实例化:

$car = new Car(); echo $car->getName();
2.创建对象 //定义一个类 class Car { //定义属性 public $name = '汽车'; //定义方法 public function getName() { //方法内部可以使用$this伪变量调用对象的属性或者方法 return $this->name; } }

要创建一个类的实例,可以使用new关键字创建一个对象。

$car = new Car(); //也可以采用变量来创建 $className = 'Car'; $car = new $className(); 3.类的属性

在类中定义的变量称之为属性,通常属性跟数据库中的字段有一定的关联,因此也可以称作“字段”。属性声明是由关键字 public,protected 或者 private 开头,后面跟一个普通的变量声明来组成。属性的变量可以设置初始化的默认值,默认值必须是常量。

访问控制的关键字代表的意义为:

public:公开的
protected:受保护的
private:私有的

class Car { //定义公共属性 public $name = '汽车'; //定义受保护的属性 protected $corlor = '白色'; //定义私有属性 private $price = '100000'; }

默认都为public,外部可以访问。一般通过->对象操作符来访问对象的属性或者方法,对于静态属性则使用::双冒号进行访问。当在类成员方法内部调用的时候,可以使用$this伪变量调用当前对象的属性。

$car = new Car(); echo $car->name; //调用对象的属性 echo $car->color; //错误 受保护的属性不允许外部调用 echo $car->price; //错误 私有属性不允许外部调用

企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:黄冈网站建设 http://huanggang.45qun.com

  • 上一篇:转PHP开发时,一些常见的坑
  • 下一篇:最后一页
  •