仓酷云

标题: PHP编程:PHP中类的了解和使用[二] [打印本页]

作者: 再现理想    时间: 2015-2-4 00:29
标题: PHP编程:PHP中类的了解和使用[二]
你的确对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的爱好者不谋而合,这也算是一个循序渐进的学习过程,不过新手不要看到上面的概括就以为学习蛮简单的,默默在此不得不对您稍微泼一下冷水,任何东西其实都不简单。
作者: 金色的骷髅    时间: 2015-2-4 13:13
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
作者: 若相依    时间: 2015-2-6 15:33
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
作者: 活着的死人    时间: 2015-2-16 21:42
首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。
作者: 老尸    时间: 2015-2-26 16:28
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年  具体的记不清啦,囧。
作者: 小妖女    时间: 2015-3-8 16:05
至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。
作者: 深爱那片海    时间: 2015-3-9 10:21
真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,
作者: 精灵巫婆    时间: 2015-3-16 21:28
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
作者: 飘飘悠悠    时间: 2015-3-18 07:54
为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。
作者: 爱飞    时间: 2015-3-25 13:22
对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。
作者: 灵魂腐蚀    时间: 2015-3-25 23:18
当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,
作者: 简单生活    时间: 2015-3-28 01:28
在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。
作者: 小魔女    时间: 2015-3-28 05:08
使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。
作者: 乐观    时间: 2015-3-30 03:25
如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,
作者: 透明    时间: 2015-4-1 08:08
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
作者: 兰色精灵    时间: 2015-4-6 09:26
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
作者: 小女巫    时间: 2015-4-11 07:56
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
作者: 因胸联盟    时间: 2015-4-12 14:19
不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。
作者: 愤怒的大鸟    时间: 2015-4-24 02:53
写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。
作者: 海妖    时间: 2015-5-4 11:10
因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2