仓酷云

标题: PHP网站制作之利用OOP手艺来优化PHP使用法式 [打印本页]

作者: 活着的死人    时间: 2015-2-4 00:28
标题: PHP网站制作之利用OOP手艺来优化PHP使用法式
熟悉了PHP和MYSQL开发的要领之后,再回头看你写的那个留言本,你也许会怀疑那真的是你写的吗?当然,如果屋里还有鬼的话,也许是它写的-_-法式|优化   大多半开辟者以为面绝对象的法式设计(OOP)思惟和PHP是一对抵触,但实践上,PHP封装了开辟者在其使用法式中利用OOP手艺的一切功效。为了证实这一点,让咱们举一个经典的Vehicle(车辆)例子,其PHP类以下:
class Vehicle {
// Stuff goes here!
}

在咱们新建的Vehicle类中,用办法(即PHP函数)来接洽咱们的使用法式和Vehicle类的特征(characteristics)。每个办法都是用来向使用法式描写Vehicle,如许咱们用办法来完成某些功效。请思索上面的例子(它明显长短函数的,即没有给出函数体):
class Vehicle {
function getWheels() {
// 逻辑上用来查询这里的车轮(即wheel)数
return($wheels);
}
function getDoors() {
// 逻辑上用来查询这里的车门(即door)数。
return($wheels);
}
}

这里,咱们看到了两个“getter”函数。假如这看起来、听起来很熟习的话,那是由于PHP的OOP与C或Java十分类似的原因。真实的应战是天真的利用OOP、充实而又无效的利用封装。

为了肯定在把Vehicle集成到你的使用法式这一过程当中你需求晓得哪些内容,界说构成Vehicle的根基元素也许会有所匡助。例如,Vehicles可以依照车门的数量或车轮的数量来组织。

假如咱们想晓得咱们的Vehicle有几何个轮子,咱们需求前往这一信息的函数。在PHP中,这一函数的完成可以如代码清单A所示。

如今咱们的Vehicle类包括了一个叫着getWheels的办法了,当使用法式传递给它一个车辆类型时,它前往轮子的数量。那末,咱们若何把车辆类型这一信息传递给Vehicle类呢?为了更好的了解这一成绩,让咱们演示一下用法,完成咱们的类并挪用它的getWheels办法来失掉car类型车辆的车轮数量。
// 设置车辆品种
$vehicle = "car";

如许咱们已公布了咱们想创立的车辆类型为car。因为咱们利用PHP,因而这个值可所以静态的,但假如如许的话很快就会难以用代码来处置(hard-code)它了。

为了利用这个类,咱们起首需求在使用法式中创立该类的一个实例:
// 创立car类的一个新实例
$myVehicle = &new Vehicle;

咱们方才创立了一个叫着myVehicle的Vehicle类的实例。它是Vehicle类的独一实例,并且它包括了Vehicle所包括的一切数据(办法和属性)。

如今是找出咱们的car究竟有几何个轮子的时分了:
// 经由过程向getWheels办法传递车辆类型来获得车轮数量
$numWheels = $myVehicle->getWheels($vehicle);

正如你所见,咱们挪用了getWheel办法并向它传递了车辆品种。假如一切顺遂的话,咱们就失掉了咱们所需的数据:
// 打印车轮数量
print "$vehicle has $numWheels wheels.";

假如咱们想失掉车门数量,咱们需求编写另外一个反省车门数的办法,如代码清单B所示。


易于编程、易于办理

正如你在这个复杂的演示中所看到的那样,在PHP中完成面绝对象的编程其实不坚苦。像咱们在Vehicle类中那样采取OOP和类,创立一个购物车(shopping cart)其实不会十分费事。因为采取了面向对象的编程思惟,代码易读、易保护、易晋级。

清单C给出了咱们在这里所会商汽车分类使用法式的更高版本的代码。它充实演示了PHP的面绝对象功能。


  建议大家买一本书,而不光是在网上看一些零碎的资料,一本书毕竟会讲的系统一些,全面一些,而且印刷的书不受电脑的限制,但是建议在看书的时候最好旁边有电脑,这样可以很及时地上机实践。
作者: 精灵巫婆    时间: 2015-2-4 13:10
实践是检验自己会不会的真理。
作者: 乐观    时间: 2015-2-9 23:06
找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。
作者: 深爱那片海    时间: 2015-2-10 01:47
写的比较杂,因为我也是个新手,不当至于大家多多指正。
作者: 灵魂腐蚀    时间: 2015-2-28 12:58
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
作者: 小魔女    时间: 2015-3-2 21:43
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
作者: 再现理想    时间: 2015-3-11 06:35
做为1门年轻的语言,php一直很努力。
作者: 海妖    时间: 2015-3-11 11:47
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
作者: 金色的骷髅    时间: 2015-3-18 08:40
有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。
作者: 分手快乐    时间: 2015-3-25 02:36
如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,
作者: admin    时间: 2015-4-1 12:57
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
作者: 不帅    时间: 2015-4-13 08:57
首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。
作者: 只想知道    时间: 2015-4-26 08:29
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
作者: 爱飞    时间: 2015-5-2 02:24
做为1门年轻的语言,php一直很努力。
作者: 谁可相欹    时间: 2015-5-6 04:09
本文当是我的笔记啦,遇到的问题随时填充
作者: 活着的死人    时间: 2015-6-14 20:00
小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。
作者: 第二个灵魂    时间: 2015-6-17 21:02
要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。
作者: 小女巫    时间: 2015-6-21 00:34
使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的
作者: 若相依    时间: 2015-6-22 20:20
我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。
作者: 山那边是海    时间: 2015-7-4 17:44
刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。
作者: 变相怪杰    时间: 2015-7-8 07:44
Ps:以上纯属原创,如有雷同,纯属巧合




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