• 注册
  • 关于作者
    企业认证:趣记站长
    关注 6 粉丝 4 喜欢 9 内容 992
    江西省·南昌市
    聊天 送礼
    • 查看作者
    • PHP 5.0对象模型深度探索之定义一个类

        当你声明一个类,你需要列出对象应有的所有变量和所有函数—被称为属性和方法。列表1中显示了一个类的构成. 注意在大括号({})内你只能声明变量或者函数。列表2中显示了如何在一个类中定义三个属性和两个方法。

        列表1

      class Name extends Another Class

      {

       Access Variable Declaration

       Access Function Declaration

      }  

        列表2

      //定义一个跟踪用户的类

      class User

      {

       //属性

       public $name;

       private $password, $lastLogin;

       //方法

       public function __construct($name, $password)

       {

        $this->name = $name;

        $this->password = $password;

        $this->lastLogin = time();

        $this->accesses++;

       }

       // 获取最后访问的时间

       function getLastLogin()

       {

        return(date("M d Y", $this->lastLogin));

       }

      }

      //创建一个对象的实例

      $user = new User("Leon", "sdf123");

      //获取最后访问的时间

      print($user->getLastLogin() ."

      n");

      //打印用户名

      print("$user->name n");

      ?>  

        当你声明属性,你不需要指明数据类型。变量可能是整型,字符串或者是另一个对象,

      PHP生成静态页面详解
      PHP开发者常犯的10个MySQL错误,用PHP的PEAR DB模块编写数据库脚本,正确理解PHP程序编译时的错误信息,PHP不实用大型系统的九大原因,动态网页制作PHP常用的正则表达式,PHP程序如何调用功能强大的JAVA类库,用Php模拟asp.net的页面模型,解析PHP向MySQL发送数据,PHP+MYSQL实例:网站在线人数的代码,利用PHP的OOP特性实现数据保护,在php中使用sockets:从新闻组中获取文章,用php或js获取图片大小,高宽尺寸,PHP实例:实现给上传图片加水印图案,PHP中for循环语句的几种"变态"用法,用PHP自动把纯文本转换成Web页面,构建可配置PHP应用程序的正确方式,静态/动态编译在Apache+Php+Mysql的应用,基于PHP和AJAX创建RSS聚合器,实用技巧:将PHP作为Shell脚本语言使用,用PHP实现windows资源管理器风格的树型菜单
      PHP

      这取决于实际情况。在声明属性时增加注释是一个好主意,标记上属性的含义和数据类型。

        当你声明一个方法,你所做的和在类外部定义一个函数是一样的。方法和属性都有各自的命名空间。这意味着你可以安全地建立一个与类外部函数同名的方法,两者不会冲突。例如,一个类中可以定义一个名为date()的方法。但是你不能将一个方法命名为PHP的关键字,如for或者while。

        类方法可能包含PHP中所谓的type hint. Type hint 是另一个传递参数给方法的类的名字. 如果你的脚本调用方法并传递一个不是类的实例的变量,PHP将产生一个”致命(fatal)错误” 。你可能没有给其它类型给出type hint,就像整型,字符串,或者布尔值. 在书写的时候, type hint是否应当包含数组类型仍存在争议。

        Type hint是测试函数参数或者运算符的实例的数据类型的捷径. 你可能总是返回这个方法. 确认你强制让一个参数必须是哪种数据类型,如整型. 列表3确保编译类只产生Widget的实例。

        列表3

      //组件

      class Widget

      {

      public $name=''none'';

      public $created=FALSE;

      }

      //装配器

      class Assembler

      {

      public function make(Widget $w)

      {

      print("Making $w->name

      n");

      $w->created=TRUE;

      }

      }

      //建立一个组件对象

      $thing = new Widget;

      $thing->name = ''Gadget'';

      //装配组件

      Assembler::make($thing);

      ?>

        除了传递参数的变量外,方法含有一个特殊的变量. 它代表类的个别实例. 你应当用这个来指向对象的属性和其它方法.一些面向对象的语言假设一个不合格的变量提交给本地属性,但在PHP中方法的任何变量只是在方法的一定范围内. 注意在User类的构造函数中这个变量的使用(3.1.2).

        PHP在属性和方法声明前定义一个访问限定语,如public,private和protected. 另外,你可以用”static”来标记一个成员. 你也可以在类中声明常量。以后稍后会有不同访问方式的相关讨论。

        你可以在一行中列出相同访问方式的几个属性,用逗号来分隔它们. 在3.1.2中,User类有两个private属性--$password和$lastLogin。

      PHP中使用XML-RPC构造Web Service简单入门
      PHP开发者常犯的10个MySQL错误,用PHP的PEAR DB模块编写数据库脚本,正确理解PHP程序编译时的错误信息,PHP不实用大型系统的九大原因,动态网页制作PHP常用的正则表达式,PHP程序如何调用功能强大的JAVA类库,用Php模拟asp.net的页面模型,解析PHP向MySQL发送数据,PHP+MYSQL实例:网站在线人数的代码,利用PHP的OOP特性实现数据保护,在php中使用sockets:从新闻组中获取文章,用php或js获取图片大小,高宽尺寸,PHP实例:实现给上传图片加水印图案,PHP中for循环语句的几种"变态"用法,用PHP自动把纯文本转换成Web页面,构建可配置PHP应用程序的正确方式,静态/动态编译在Apache+Php+Mysql的应用,基于PHP和AJAX创建RSS聚合器,实用技巧:将PHP作为Shell脚本语言使用,用PHP实现windows资源管理器风格的树型菜单
      PHP

    • 0
    • 0
    • 0
    • 103
    • 单栏布局 侧栏位置: