仓酷云

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

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

[复制链接]
柔情似水 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-3 23:56:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
PHP和HTML混合编程应该不成问题,在这期间,你完全可以让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中类的概念较难了解和把握,固然晓得类既然存在就有其存在的事理,然而因为平常接触和利用的时机较少,也就一略而过。其实,只需咱们了解变量和函数这些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);
   
  ?>
刚开始觉得自己对这些多少有些基础,很简单,但是看了老师那么熟练的进行网页布局的时候,突然之间发现,其实,我的基础并没有自己想像的那么好,自己设计的页面其实并不好看,就连表格的边框为1像素都不会弄。
再见西城 该用户已被删除
沙发
发表于 2015-2-7 18:14:53 | 只看该作者
至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。
山那边是海 该用户已被删除
板凳
发表于 2015-2-9 23:25:07 | 只看该作者
兴趣是最好的老师,百度是最好的词典。
灵魂腐蚀 该用户已被删除
地板
发表于 2015-2-28 04:59:12 | 只看该作者
有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。
愤怒的大鸟 该用户已被删除
5#
发表于 2015-3-9 21:16:17 | 只看该作者
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
活着的死人 该用户已被删除
6#
发表于 2015-3-17 01:09:17 | 只看该作者
首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
第二个灵魂 该用户已被删除
7#
发表于 2015-3-23 10:37:34 | 只看该作者
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
admin 该用户已被删除
8#
发表于 2015-4-7 01:39:12 | 只看该作者
写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。
海妖 该用户已被删除
9#
发表于 2015-4-9 10:15:10 | 只看该作者
为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。
变相怪杰 该用户已被删除
10#
发表于 2015-4-18 00:15:37 | 只看该作者
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
乐观 该用户已被删除
11#
发表于 2015-4-21 06:05:40 | 只看该作者
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
因胸联盟 该用户已被删除
12#
发表于 2015-4-26 10:12:08 | 只看该作者
写的比较杂,因为我也是个新手,不当至于大家多多指正。
深爱那片海 该用户已被删除
13#
发表于 2015-4-26 16:27:59 | 只看该作者
php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
透明 该用户已被删除
14#
发表于 2015-5-6 10:31:23 | 只看该作者
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
谁可相欹 该用户已被删除
15#
发表于 2015-5-8 08:12:08 | 只看该作者
php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
小妖女 该用户已被删除
16#
发表于 2015-5-9 08:07:39 | 只看该作者
php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)
精灵巫婆 该用户已被删除
17#
发表于 2015-6-4 01:54:44 | 只看该作者
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
飘飘悠悠 该用户已被删除
18#
发表于 2015-6-17 20:29:51 | 只看该作者
个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
飘灵儿 该用户已被删除
19#
发表于 2015-6-26 20:52:27 | 只看该作者
对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。
小女巫 该用户已被删除
20#
发表于 2015-6-27 06:40:48 | 只看该作者
在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-23 18:34

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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