Chinaunix首页 | 论坛 | 博客
  • 博客访问: 757427
  • 博文数量: 26
  • 博客积分: 8255
  • 博客等级: 中将
  • 技术积分: 934
  • 用 户 组: 普通用户
  • 注册时间: 2006-02-06 01:52
文章分类

全部博文(26)

文章存档

2012年(1)

2011年(8)

2010年(10)

2008年(7)

分类:

2010-01-31 18:25:21

08年9月24日,我印象中是我在AUHS工作的最后的一个星期,离开洛杉矶已经这么久,在这个万事万物都会贬值的年代作为年轻人唯一能让自己感到踏实和欣慰是为个人沉淀所付出的每一分努力,请相信一切都是虚假的,个人拼搏和通过学习积淀下来的知识和经验才是人生中真正可靠的财富。

和PHP打了这么久的交道,唯一的理由是我个人的兴趣和爱好,在国内如果你是为了轻松的谋取一个工作或者存在什么其他的拜金意图我还是建议转向更适应市场的.NET平台,我没有时间和别人争论其中的道理。

让我们GOOGLE一下当前应用最为广泛的PHP MVC开发框架,其结果会让我们眼花缭乱,什么最适合你不是我们今天讨论的范围,但有一点是明确的,在开始MVC架构的旅程之前,对PHP面向对象的编程方式方法是必须掌握的。

David Powers编写了《PHP Object-Oriented Solutions》一书,专门阐述PHP5下的面向对象(OOP)编程方法和思路,在阅读了本书后我个人受益匪浅,我没有时间和能力对整书进行翻译,但可以和大家分享其中一些精彩的章节,前提是你已经具备了一些PHP编程知识,或许少量的OOP知识对我们一起探讨更有帮助。

我想概念的东西应该从实践中才能得到充分的体会,让我们从实例开始吧。

定义一个类:

<?php
class Product
{
// 在这里定义属性
// 在这里定义方法
}


以上就是一个合法的类,虽然它没有做任何事情。没有规定你应该将这个类定义在哪里,或者保存在哪里,但是根据一些约定俗称的规定,我还是建议你将这个类保存在Product.php这个文件中,是的,用类名来做文件的名称,以后你就会明白其中的道理。

关于方法和属性的访问控制:
大家都知道OOP有一个关键概念 - 封装性,所以你需要控制一个类里面 方法和属性的“能见度”。能见度描述了在任意代码中是否可以调用一个类并使用其中的属性和方法。

在PHP中我们有三个修饰语来定义这种能见度:

public: 不用质疑,任何形式的访问都是允许的
protected: 除了继承它的子类,其他的外部访问都是不允许的
private: 顾名思义,只有它自身所属的类中可以被访问

如果你遗漏了对方法和属性的描述,系统则默认为public,当然了,这绝对不是一个好习惯。

定义一个属性的时候,一定要对它的能见度进行描述,通常我们的习惯是用下划线开头来表示一个private或者protected属性,比如 $_id,这样就方便提醒你它的访问是被限制的。
阅读(1313) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~