PHP编程:开辟大型PHP项目标办法(三)
大部分语言的基础,不是说c有多好,而是c相对起手容易学,让你认为这个是编程语言,重载(与掩盖分歧)在PHP中不撑持。在OOP中,你可以重载一个办法来完成两个或重多的办法具有不异
的名字,然而有分歧数目或类型的参数(这要看言语)。PHP 是一种松懈类型的言语,所以经由过程类型重载不
起感化,但是经由过程参数的个数分歧来重载也不起感化。
有时在OOP中重载机关函数十分好,如许你可以经由过程分歧的办法创立对象(传递分歧数目的参数)。在PHP
中完成它的技能是:
--------------------------------------------------------------------------------
<?php
class Myclass {
function Myclass() {
$name="Myclass".func_num_args();
$this->$name();
//注重$this->name()通常为毛病的,然而在这里$name是一个将被挪用办法的名字
}
function Myclass1($x) {
code;
}
function Myclass2($x,$y) {
code;
}
}
?>--------------------------------------------------------------------------------
经由过程在类中的额定的处置,利用这个类对用户是通明的:
$obj1=new Myclass('1'); //将挪用Myclass1
$obj2=new Myclass('1','2'); //将挪用Myclass2
有时这个十分好用。
多态
多态是对象的一种才能,它可以在运转时辰依据传递的对象参数,决意挪用哪个对象的办法。例如,
假如你有一个figure的类,它界说了一个draw的办法。而且派生了circle和rectangle 类,在派生类中你覆
盖了draw办法,你能够还有一个函数,它但愿利用一个参数x,而且可以挪用$x->draw() 。假如你有多态性,
挪用哪一个draw办法就依附于你传递给这个函数的对象类型。
多态性在象PHP如许的注释言语(想象一下一个C++编译器生成如许的代码,你应当挪用哪个办法?你
也不晓得你具有的对象是甚么类型的,好,这不是重点)长短常轻易和天然的。所以PHP固然撑持多态性。
--------------------------------------------------------------------------------
<?php
function niceDrawing($x) {
//假定这是Board类的一个办法
$x->draw();
}
$obj=new Circle(3,187);
$obj2=new Rectangle(4,5);
$board->niceDrawing($obj);
//将挪用Circle的draw办法
$board->niceDrawing($obj2);
//将挪用Rectangle的draw办法
?>--------------------------------------------------------------------------------
用PHP停止面向对象编程
一些"纯化论者(purists)"能够会说PHP不是一个真实的面向对象的言语,这是现实。PHP 是一个夹杂型
言语,你可使用OOP,也能够利用传统的进程化编程。但是,关于大型项目,你能够想/需求在PHP 中利用
纯的OOP去声明类,并且在你的项目只用对象和类。
跟着项目愈来愈大,利用OOP能够会有匡助,OOP代码很轻易保护,轻易了解和重用。这些就是软件工程
的基本。在基于web的项目中使用这些概念就成为未来网站胜利的关头。
在学习中,我也一直这样要求着自己。 本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。 找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。 先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。 开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。 其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎 其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎 在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。 再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。 因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax 其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎 学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql 刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。 多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。 找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。 php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会) 对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。 至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。 兴趣是最好的老师,百度是最好的词典。
页:
[1]