hcy
新手上路

UID 76271
精华
0
积分 32
帖子 31
金钱 32 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2006-7-11
状态 离线
|
[推荐阅读] Smarty的困惑(求援)
学PHP之旅
这个帖子到这里,应该说已经功德圆满了,借这个话题,说说自己的学PHP之旅,但愿能带给初学者一点点的启示。
我2003年8月就买了一本<< PHP程序导学 >>(当时为什么会买这书已经记不清了)。但这本书买来后的第二天看了一下就没看了。原因很简单:没什么可学的呀。因为在这之前我已经长时间地学过C 语言(2002年获计算机三级合格证书),而php语言的语法许多与C类似甚至是雷同,而且还没有指针等方面的啰嗦事。用的时候临时学也来得及呀。再加上安装php前还要安装apache,还有什么模块安装方式与CGI方式等等。于是把新买的书放入书柜的同时,也就把PHP摞到了一边。
2005年开始应人之邀做网站,自然也就想起了PHP。真是“用的时候临时学”了。开始倒也没什么。但逐渐地随着客户要求的提高问题就来了。用PHP编写的程序到底起个什么作用?网页文件的每句到底是如何运行的?用Javascript编写的语句又是怎么回事?买书、百度、思考、试验。后来终于明白了,php程序是由网页服务器如apache编译执行的,其echo出来的语句又变成HTML标记语言程序的语句,这些语句被传到客户端后,还将被浏览器编译执行。浏览器实际上是HTML语言和javascipt语言的编译执行器。弄懂了网站动作的原理,再回过头看看php和javascrip,才感到它们实际上都不简单,因为它们与其它许多语言一样都支持采用面向对象的方法。如果没有学过C++和深刻领会面向对象的思想,要想深层次地应用PHP和javascrip还真难以做到。
对PHP的进一步理解是起源于应客户的要求要通过浏览器写邮件、发邮件。写邮件很简单,用几个<input>和一个<textarea>就可以了。发邮件本来也简单,php中不是有现存的mail()函数吗,调用一下就能搞定了。但遗憾的是现在smtp服务器一般都需要身份验证,而mail()函数中没有配合smtp服务器进行身份验证的步骤。这下就不知所措了。老办法,“百度”一下。“百度”之后很快地就得到一个发邮件的类。噢,还要用到Socket之类的函数,对于Socket我还是比较熟悉的。没曾想C++等”复杂"语言能用的东东,php也能用。如果能用Socket,那能做的事就多了。写邮件、发邮件的网页编写好了,再全面地浏览一下php语言手册。明白了,PHP的功能原来与C++等一样地很强大呀,自己只是了解了PHP的冰山一角而已。我们用delphi、c++等编写程序实际是在指使windows系统做各种各样事情,以实现我们的目的,而用PHP编写程序实际上是通过apache在间接地指使windows系统做各种事情,以实现各种各样的目的。如果想的极端一点,只要安装个免费的apache,PHP岂不是可以做任何程序语言所能做到的事情!
|
|