快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

PHP中类的理解和应用[二]

PHP中类的理解和应用[二]
  
    许多PHP的兴趣者在学习过程中感到对PHP中类的概念较难理解和把握,虽然知道类既然存在就有其存在的道理,但是由于平时接触和使用的机会较少,也就一略而过。其实,只要我们理解变量和函数这些PHP基本概念的话,把握类的含义就不成问题。鉴于类在PHP的重要作用,本文将结合详细事例介绍PHP中类的概念和应用。
  
  
  (一)
  
    所谓类就是指由变量和作用于变量的函数组成的集合。类提供了一种对现实世界中事物的描述方法。通过有效的使用类,我们可以将描述同一对象的多个变量和函数组合在一起,作为一个整体使用,从而使编写出来的程序更直观,更合理,更易于维护。
  
    举一个比较通俗的例子,我们可以创建一个名为Bike的类来描述现实生活中的一辆自行车。首先,我们设定该类中的变量包括踏板$pedals,链条$chain,前轮$front wheel,后轮$rear wheel,刹车$brakes, 以及手柄$handle。然后,我们创建停车Stop(), 加速Accelerate(), 左转TurnLeft()和右转TurnRight()等函数。这样,我们就有了一个可以描述自行车这一对象所有行为和属性的类。例如,我们可以将$front wheel 和$rear wheel变量传入TurnLeft()函数,从而得到某种输出结果。
  
    也许有人会问上述例子虽然有趣,但是我们完全可以使用常规的变量和函数实现同样功能,为什么一定要坚持使用这么烦琐的类呢?当然,假如我们在脚本中只需要描述一辆自行车话,定义一个类好像没有什么特别的价值。但是,假如当脚本需要涉及多辆自行车时呢?假如我们还是采用常规的为每量自行车都定义变量和函数的方式,那么光是跟踪每个变量,确保准确的变量输入准确的函数就是一项相称复杂的工作。相反,假如采用类的方法,就可以有效的减少所需变量的数量。此外,一个已经定义的类还可以被包含在其它文件或脚本中,从而实现代码的重复利用。
  
  
  (二)
  
    对PHP类的概念有所了解之后,我们就来详细看一下如何在脚本中创建和使用类。
  
    相信大家在创建站点时一定会因为要顾及页面的显示效果,字体的样式和大小等细节而影响对整个页面布局和整个站点流程的设计和构思。下面,我们就利用PHP的类来控制HTML的页面输出。
  
    首先,我们使用如下代码创建一个名为Style的类,并在类中定义设置页面属性所需的变量:
  
  <?php
  
  class Style {
  
  var $text;
  
  var $alink;
  
  var $vlink;
  
  var $link;
  
  var $bgcol;
  
  var $face;
  
  var $size;
  
  var $align;
  
  var $valign;
  
  }
  
  ?>
  
    相信认识HTML语言的读者一定不会对我们在Style类中声名的变量感到生疏。
  
    下面,我们在Style类中创建一个与类同名的函数。代码如下:
  
  <?php
  
  class Style {
  
  function Style ($text=\"#000000\",$alink=\"#AA00AA\",$vlink=\"#AA00AA\",
  
  $link=\"#3333FF\",$bgcol=\"#999999\",$face=\"Arial\",$size=3,
  
  $align=\"CENTER\",$valign= \"TOP\")
  
  {
  
  $this->text=$text;
  
  $this->alink=$alink;
  
  $this->vlink=$vlink;
  
  $this->link=$link;
  
  $this->bgcol=$bgcol;
  
  $this->face=$face;
  
  $this->size=$size;
  
  $this->align=$align;
  
  $this->valign=$valign;
  
  }
  
  }
  
  ?>
  
  说明:
  
  在类中可以使用“$this”指代类本身,使用“->”运算符引用类中的各个变量或函数。类中创建的与类同名的函数称为构造函数。构造函数在创建新的对象实例时自动执行,从而将类中设定的默认值赋予该对象实例。
  
    PHP中,我们可以通过创建对象实例的方式使用一个已经定义的类。语法格式如下:
  
    <?php $Instance_name = new Class; ?>
  
    例如,本例中我们可以使用如下代码创建一个名为$Basic的对象实例,该对象实例将自动获得Style类中构造函数指定的默认值:
  
    <?php $Basic = new Style; ?>
  
    一个类可以创建多个对象实例,其中每个对象实例都继续该类的默认属性,可以调用类中的所有变量和函数。有时我们可能需要为由同一个类创建的多个对象实例设置不同的属性,虽然我们可以在创建对象实例时修改类的默认值,但是这种方法一方面缺乏灵活性,另一方面按照PHP的约定,假如用户在创建新的对象实例时声明了某个变量值的话,则必须同时声明该类中所声明变量之后的所有变量。例如,假如我们在创建$Basic对象实例时显式修改了text变量值的话,则必须同时再声明该类中位于text变量之后的所有变量,即Style类的全部变量都需要再重新声明一遍。显然,我们需要使用其它更为便捷的方法修改对象实例中的某个变量值。这里,我们可以通过在Style类中创建一个专门用于修改变量值的函数实现上述功能。详细代码如下:
  
  Function Set($varname,$value) {
  
  $this->$varname=$value;
  
  }
  
    例如,假如我们需要将$Basic对象实例中size变量的值改为2时,使用如下代码即可实现:
  
  <?php $Basic->Set( ‘size’, 2); ?>
  
  说明:
  
  ->运算符用于向PHP解释器说明运行$Basic对象实例中的Set()函数。
  
    通过有效的使用Set()函数,我们可以灵活的设置和控制不同的对象实例。比方说,假如我们希望为页面输出表格的标题行和内容行设置不同的背景颜色和字体大小的话,可以首先创建两个对象实例,然后使用Set()函数分别设置各自不同的属性。详细代码如下:
  
  <?php
  
  $Tableheader= new Style;
  
  $Tableheader->Set( \\\'text\\\', \\\'#0000FF\\\');
  
  $Tableheader->Set( \\\'bgcol\\\', \\\'#000000\\\');
  
  ?>
  
  <?php
  
  $Tablecontent=new Style;
  
  $Tablecontent->Set( \\\'bgcol\\\', \\\'#AAAAAA\\\');
  
  $Tablecontent->Set( \\\'size\\\',2);
  
  ?>




返回类别: 教程
上一教程: 基于PHP+MySQL的聊天室设计
下一教程: 通过PHP连接MYSQL的两种方式(2)

您可以阅读与"PHP中类的理解和应用[二]"相关的教程:
· PHP中类的理解和应用[一]
· 用封装类来合理的设计PHP项目--谈PHP项目中类的封装
· 用封装类来合理的设计PHP项目--谈PHP项目中类的封装
· PHP教程.应用实例4
· PHP中的XML应用(一)
    微笑服务 优质保证 索取样品