PHP网页设计创立乖巧布局的PHP法式
学会了PHP,那么学其他的语言,肯定速成,反过来也一样,如果你之前学过其他的语言,那么学PHP肯定快。 很早就想写这篇文章了,但一向没有工夫完成它。不是说我来告知人人若何做,我更但愿本文只是做为一个引子,与人人来会商关于若何创立一个无效地、天真的收集使用法式。经由了2-3年的收集使用法式开辟任务,我的开辟经历变得加倍活泼了,回过火来看我之前为Geocrawler写的代码,几乎不敢信任这是我的。因为GPL的缘由,在PHPBuilder中的源码也是良莠不齐的。
比来我做为一个有经历的PHP开辟者,一向在帮着写SourceForge,我想这显示出了终究了局的一个局限。好的代码应被分红了多个局部,适合的库及函数挪用,清晰的数据库布局,站点的每个局部与其它局部都是绝对自力的。
然而,这仍不是最好的。假如我可以重做,我将更多的存眷于HTML层与数据层的分别,经由过程对象及清晰的函数库完成这一点。
幽美的图形
我晓得司理们喜好用幽美的图形及图表来描写它们,这将给咱们留下最好的印象。用这类埋没在一个布局后的设法,你可以把你的逻辑与外不雅分别,这意味着任何一个庞杂的法式都可以用"API/Data Access Layer"来表述。
与其你把平安检测、更新的句子等放在HTML层中,不如把它们全体地放在你的API层里。而这个HTML层只含有复杂的函数挪用和前往的数组、对象或自定的其它甚么,和一些数据库的检索了局的纠合等。
假如你如许做了,顶层将长短常的肥大,你可以便利地创立及保护它。
以下的例子中,这个HTML接口中只要一些API层中的函数的直接挪用,一些HTML东西库(它能生成一个弹出框等等),和一些从数据库笼统层中挪用的数据库操作办法(你不需求绑定某一个出格的数据库)。
基本
天真的PHP法式布局最根基的方面有以下几点:
数据库有关性
界面有关性
可移植性
面向对象或最少应由函数库构成
还有其它的?
固然还有一些其它的器材,但我以为那都是太大了,也许你本人能指出它们。
让咱们具体地谈谈它们每条吧。
1、数据库有关性
你从不晓得你的站点将会在哪里运转,固然在你创立它时,你但愿它变和得很大而且有很高的流量。所以你不想把你本人束缚在 MS Access 下面或其它甚么笨重的数据库体系。固然你不克不及立即地拔出各类分歧的数据库体系,然而你有能够很便利地在它们两头切换。你有一些分歧的选择可以把你的数据库挪用笼统出来。在PHP中一个奇异的办法是你不能不为每一个分歧的数据库体系写出分歧的代码,由于在PHP中对每种分歧的数据库的会见函数是分歧的。为了避开这点,你可使用一个笼统地数据库会见层,就象PHPLib、下一个版本的PEAR、及咱们在SourceForge中描写的那样。
2、界面有关性
一个使用法式是它的手艺更主要仍是它所运转的站点更主要?咱们其实不能真正地晓得。我历来不信任这一点--HTML是一个尺度。出格是关于一个收集使用法式而言,界面产生了修改,意味着咱们不能不老是重写。然而假如你的使用法式是很大很庞杂的,你就要为你的数据库创立一些其它的接口了,只需你不想在你的站点法式中各处copy&paste你的会见反省等代码。这也意味着,假如你准确地设计了你的使用法式,你可以很轻易地改写你的站点让它顺应WAP,只需复杂地写一个小的WAP界面,并让它挪用你的数据库会见对象罢了。但如果你没有很好地设计你的法式,你把你的HTML版改成WAP版是一个庞杂的工程。
我把这个设法也带入了SourceForge中,咱们有一个伟大的用户群,为咱们发送/吸收bugs、义务等。起首,咱们指出一切的这些将经由过程咱们的web页面接口,然后,因为Eric Raymond 和其别人给的压力,咱们决意用XML来做数据库的内部接口。
侥幸的是咱们曾在四月已把法式的中心逻辑代码与它的界面分别了。我将试着表达咱们是若何做的,但愿对你的任务有所匡助。
这个SourceForge的bugs跟踪器和其它的一些东西被分红两个库 - 这个HTML库和数据会见库。这个数据会见库反省输出的值的准确性,处置平安校验,而且当做功/掉败时前往TRUE 或 FALSE。
因为简化的缘由,这个例子并没有基于一个完美的对象形式,那样我还要注释这个基类和它的一些衍生类等等,我想这个例子将给你一个最通俗的设法。
<P><STRONG>HTML 库的例子 最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。 有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。 作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。 我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。 Ps:以上纯属原创,如有雷同,纯属巧合 php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会) 建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。 遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。 当然这种网站的会员费就几十块钱。 在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、 建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。 再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。 如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了, 当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标, 实践是检验自己会不会的真理。 个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。 个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。 爱上php,他也会爱上你。 多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。
页:
[1]