PHP网页设计献给PHPer:一言难尽话PHP 兼谈我的编程...
讲了这么多,无非是想说:学习PHP不仅要掌握方法,更多的是付出汗水,我不希望看到中途放弃的人,相信自己,相信自己的选择,更要相信自己的能力,如果自己想放弃,暴力一点的话,就自己抽自己一个嘴巴。 </p> 有一团体,这团体我已不记得他的容颜和姓名,然而他已经影响了我。99年的春季,联想入手下手做公共网站,我固然次要任务是做设计,但其实我的乐趣在手艺上,喜好本人找些Perl(昔时的CGI法式多半是Perl的,本人在黉舍学到的那缺乏千行的C还不晓得怎样用在Web上)的留言版或聊天室法式改改代码和界面,用在一个叫“幸福之家”的土得失落渣儿的网站上。
大约在秋季或岁尾的时分,这个听说是北大(也多是清华)的先生来协助做兼职开辟旧事体系。我常常闲事儿不干,看着他写代码。他的次要开辟体例就是毗连到办事器上翻开Vi入手下手写。那时我固然也在Solaris用过VI,但还只会挪动光标和保留之类的复杂操作,并且其实不习气。如许完整用VI开辟还感觉对照别致。那是我第一次接触PHP,那时的版本是3.0,所以他写的文件扩大名满是.php3。我担任前台的界面和款式,偶然打打下手写点儿代码。如许边写边测试(完整正式线上办事器情况,如今想一想那时真无畏),也许用了一周工夫,一个根基的旧事办理体系就上线了。就如许,我也就入手下手了我的PHP生活。
这个旧事办理体系运转了不到半年后,就被联想研讨院的同事完整用Java重写。我也在协作时代偷偷学了点儿Java言语和EJB的外相。而这位年善于我一两岁的同窗,就此得到了接洽,不晓得他如今在做甚么。成绩是,我真不记得他叫甚么,也没有接洽体例,仿佛我俩都很外向,不问彼此,真是一对奇异的年老人。
在分开联想之前,我用PHP写过几个小项目,我如今还记得有一个告白保护和更新体系,次要功效是告白办理、图片上传、和html文本块编纂等。因为之前有研讨过Perl的代码,加上一些C的基本,让我对PHP这个剧本言语真真的喜欢有加。你想一想看,谁人年代,有哪一个Web剧本有如斯丰厚的扩大又有这么复杂易学的代码。甚么数据库操作啊、图象生成啊——我乃至用它的GD库完成了饼图显示投票的了局(固然饼图的生成算法是抄来的)——、文本操作甚么的,很多多少的扩大,包含数不清的和作风纷歧的定名,它其实太轻易学了,也太好用了,语法自在,又没有像Java那样的强类型束缚,我对它其实是爱不释手,这可如之奈何哇。后来的几年也的确是PHP高速普及的时代。
联想昔时做的谁人网站,用的数据库几近满是Oracle,并且跑在Sun的办事器上,听说还有光纤阵列啥的。多年后有人告知我,因为无人打理,域名被人抢注了,我记妥当时我的心境僻静的。听说抢注 FM365.com 的人后来做了个叫 265 的网站。
02年和一样是联想出来的两个伴侣去了北大附中网校。事先在线的是ASP情况。那之前还没用过ASP,写了一些模块,发明和PHP差距较大,假如不必Com,良多设法较难完成。这里再铝骄洌ASP撑持两种言语:VBScript和JScript,我其实是不喜好VB的语法,前期写的模块我都尽可能用JScript完成。并且,JScript撑持一品种似Hashtable的Dictionary对象,操作字典类数据很便利。不外,总得说来,ASP仍是太弱了,假如PHP是把多功效军刀,ASP只能算是生锈的生果刀。
人的思惟是会变的,人又总不知足于近况。约一年后就将全部体系慢慢晋级到.Net。第一次用C#发明和Java很像,也是第一次入手下手试着用分层的概念设计体系架构。在这时代的同事有霍炬和戴飞。常常在去饭店的路上还在和火把会商是分三层好仍是四层好。
霍炬对我的匡助和影响又更多些,他还送了我两本书《设计形式》和《C++Primer》(前者到是经常翻阅,后者较厚,没怎样看,几回搬场都想扔了)。
坦白的讲,C#真是门集众家之所长的好的言语,相较于PHP这类剧本言语,又足够OO和足够完美。PHP和它比拟,其实是太土妞了。加上刚接触到设计形式——这个器材就像火把说的手里有把锤子就会发明各处都是钉子——这么个超等大锤子。所以我那段工夫像同时沉浸两样器材,一个是WoW(还在公测貌似),一个就是C#。我能从写大段剧本和有数子进程进修并过渡到对象开辟和多层架构的设计,这得感激C#和.Net。
在网校做的最初一个项目是个多用户Blog体系,基于b2的开源改革,又重回到了PHP的怀抱。固然从团体角度我十分喜好C#言语,但我仍对Windows平台没有信念(那时Mono仍是个实行项目)。
大约04年的时分,也许是受Java的影响,PHP社区也呈现了一些开辟框架,如CakePHP、Zend Framework、CodeIgniter、Symfony……。然而,在看了这些框架并做了些测试以后,我限入了纠结当中。Cake和其他几位还稍好,最反常的就是Zend,几近完整摹拟强类型言语(如Java),完整的用OO办法设计模块和类。偏向和复杂度直奔Java的屁股而去。
PHP真的要这么写吗?这和Java和.Net有甚么区分?这还有PHP的优势么?看烦了各个服装论坛各类框架之间的口水战。为了避免能够持续迷途知返,我逃离了这些奢华巨轮。然而我限入了怅惘,我要再怎样写的PHP呢,我仿佛得到了偏向。我各类在各类开源项目和书里寻觅谜底。跟着几回掉败的项目和任务单元的变化,思惟也有较大的变更。后来的两年多工夫,较少存眷社区的意向,依照本人对Web开辟和布局分层的了解,写一些合适本人用的基本库,谈不上框架,用着倒也趁手。
我也有接触和进修其他的新的言语和框架,例如Python、Django、Ruby。个中Python的言语特征让我很入神,这是我见过的第一个把明晰(或说整洁)度作为语律例则一局部的编程言语。或许是我自己爱洁净,或许是我的设法变了,我乃至感觉Python的言语哲学:“There should be one– and preferably only one –obvious way to do it.”(有且唯一一种明白的完成办法),长短常完善且准确的理念。我回过火再审阅PHP全身的伤疤和圈套,不由要问:PHP是否是前进的太慢和太不思朝上进步了。为何会如许呢?
这里又要感激一名同窗,几年前某天在东北三环某处租房里,郝培强送了我一本Python入门(也多是我拿在手里一向不放下的缘由),那时他还独身,还很纯情,人人在聊着对将来的向往和各类的妄想。
就一种言语来讲,PHP易学易用,几近不需求甚么基本和后台,合适各类人群(好比被人人臭骂的北大青岛的卒业生),只是代码的质量差距较大罢了。但是,人不成能永久在低级形态,人是会生长的,用得越久,越是能感触感染到它的局限。
前段工夫看到有人说PHP很烂,固然这话刺耳且概念很果断,但他文中所说的PHP特征包含援用几位老外的概念又都是现实。好比这个,还有这个。
我的伴侣老王说,“言语不主要,主要的是思惟”,这话不错。但思惟的取得何其难,它需求一段工夫堆集加上一些天禀乃至还需求有一点点机缘才干灌注贯注到人的头脑外面。为了完成高质量和可控的代码,我需求写几十页纸的商定和标准,而且还要按期Review,要否则就等着数不清的地雷哪天俄然被踩中吧。影响临盆力要素有多种,有人的要素,也有言语和东西(包含平台)的要素。假如一种言语可以很轻易的完成明晰、明白和严谨的高质量代码,而另外一种言语则需求数年经历且当心当心再当心才干到达一样的质量请求,孰优孰劣,仿佛不难判别。
其实俺又是个重情感的人(:D),这么多年一路陪俺走过一个沟又一个坎儿,今儿用力说厌弃的话,心里怪不是味道的(:S)。
实际会给人一些抚慰。无数量浩瀚的人用PHP,也有大批的网站运转其上,PHP在实事上占领一席之地。一切在变更中,终局还未可知。
作者:liut 原文:http://liut.cc/blog/2010/04/all-about-php.html
咱们就开始学习动态语言的概念吧,刚一接触动态语言,可能很多人都会蒙了,怎么这乱七八糟的东西,在网页里显示的时候却是另外一码事?其实这并不算乱七八糟,你写的HTML代码不也一样是一堆堆的字符吗?毕竟,代码并不是作为直接输出的,而是经过处理的,说白了,HTML是经过HTML解析器,而PHP当然也就通过PHP解析器了,跟学习HTML一样的道理,想让任何的解析器完成操作,就必须使用它们专用的语法结构,所以PHP长相奇怪也就不足为奇了。 对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。 实践是检验自己会不会的真理。 我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。 对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。 php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会) 遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。 学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。 当然这种网站的会员费就几十块钱。 这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己 当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标, 写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。 Ps:以上纯属原创,如有雷同,纯属巧合 有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。 多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。 php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会) 说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。 再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。 先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。 Ps:以上纯属原创,如有雷同,纯属巧合
页:
[1]