仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1649|回复: 19
打印 上一主题 下一主题

[学习教程] PHP教程之PHP中类的了解和使用[一]

[复制链接]
小女巫 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:29:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
《PHP+MYSQL WEB开发(第三版)》号称圣经级,(也许是个不错的选择(声明:作者没给我啥好处费,我也不是书托,隔着大老远,我连他老兄的面都没见过的说-_-)   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基础语法练习,到PHP语言在WEB中的应用,再到实际的项目开发,如留言版,相册系统,中小型公司网站系统,以及期间做过的有关团队合作的小游戏,让我受益匪浅,学到了很多。
分手快乐 该用户已被删除
沙发
发表于 2015-2-4 13:14:06 | 只看该作者
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年  具体的记不清啦,囧。
变相怪杰 该用户已被删除
板凳
发表于 2015-2-6 15:33:37 | 只看该作者
环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。
活着的死人 该用户已被删除
地板
发表于 2015-2-16 21:42:35 | 只看该作者
本文当是我的笔记啦,遇到的问题随时填充
若相依 该用户已被删除
5#
发表于 2015-2-26 16:28:53 | 只看该作者
其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。
飘灵儿 该用户已被删除
6#
发表于 2015-3-4 06:49:16 | 只看该作者
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
灵魂腐蚀 该用户已被删除
7#
发表于 2015-3-9 10:21:50 | 只看该作者
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
海妖 该用户已被删除
8#
发表于 2015-3-14 03:40:42 | 只看该作者
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
金色的骷髅 该用户已被删除
9#
发表于 2015-3-18 07:54:36 | 只看该作者
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
山那边是海 该用户已被删除
10#
发表于 2015-3-25 13:28:21 | 只看该作者
学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。
爱飞 该用户已被删除
11#
发表于 2015-3-25 23:18:19 | 只看该作者
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
乐观 该用户已被删除
12#
发表于 2015-3-28 01:28:29 | 只看该作者
我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。
若天明 该用户已被删除
13#
发表于 2015-3-28 05:08:37 | 只看该作者
当然这种网站的会员费就几十块钱。
愤怒的大鸟 该用户已被删除
14#
发表于 2015-3-30 03:25:12 | 只看该作者
兴趣是最好的老师,百度是最好的词典。
因胸联盟 该用户已被删除
15#
发表于 2015-4-3 04:44:07 | 只看该作者
多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。
飘飘悠悠 该用户已被删除
16#
发表于 2015-4-12 14:19:44 | 只看该作者
Ps:以上纯属原创,如有雷同,纯属巧合
兰色精灵 该用户已被删除
17#
发表于 2015-4-17 08:37:56 | 只看该作者
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
不帅 该用户已被删除
18#
发表于 2015-4-26 05:51:51 | 只看该作者
小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。
精灵巫婆 该用户已被删除
19#
发表于 2015-4-27 08:03:30 | 只看该作者
装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。
莫相离 该用户已被删除
20#
发表于 2015-5-6 04:11:09 | 只看该作者
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年  具体的记不清啦,囧。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 02:04

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表