PHP学习资料
来源:互联网 发布:网络群寻衅滋事罪案例 编辑:程序博客网 时间:2024/06/18 17:59
春节期间研究了几天PHP,自己做了个小网站。
对PHP本身,个人没有什么特别的经验可以分享,有些技巧将在本文适当的地方介绍。
PHP的语法和C类似,只是没有指针等底层类型。同时和许多脚本语言一样,PHP的数组也是一个map,可以用任意类型作为下标。懂C/C++/Java/C#/JS语法的人学起PHP来上手会很容易。使用PHP的难点应该主要在对web响应方式的理解。
网上的PHP资源非常丰富,我下载了一些资料并且打包上传到了玻璃的FTP,有感兴趣的可以到这里下载。
拥有相当丰富的库支持,PHP做起应用来非常方便,但是因为缺乏类似namespace等源文件命名空间分隔的方法,在大的工程应用中,更容易面临命名冲突的困境。
学习PHP的过程中主要遇到了几个问题。
1,多语言支持。
PHP提供了不同编码(包括GB,UTF-8等)之间互相转化的函数(iconv),理论上可以轻易处理不同的语言和编码。但是实际上,相当多的免费主机都不支持这一系列的编码转化函数。
然而值得庆幸的是PHP自身完整支持UTF-8,这就为多语言支持打下坚固基石。
你只要把所有(或者必要的)PHP源文件格式转化为UTF-8格式,然后在http的meta节指定网页编码格式为UTF-8,一切问题都迎刃而解。
浏览器会自动把用户的输入转化为UTF-8格式从而完全避免的服务器端的编码转化问题。
一个值得注意的细节是:如果你使用windows的记事本对源文件进行格式转化,记事本会在文件的头部添加额外的字节以标识文件格式。如果你在代码中做了修改http头的操作,那么请使用任意一款16进制编辑器把这些额外的字节删除,否则这些额外的字节会导致http头被发送从而使得后续的修改失败。
2,TrueType字体的支持
为了支持TrueType字体,PHP必须安装和启用GDlib和FreeType lib。遗憾的是相当多的免费主机也不支持FreeType lib。你可以使用非TrueType字体避免这个问题,但是在中文绘制方面,非TrueType字体的资源非常罕见。
PHP的字体绘制系列函数要求使用UTF-8编码格式,但是并没有一个字体文件能提供全部文字,所以要支持多语言文字的绘制仍然是一个麻烦事。
我曾经考虑过拆分每一个UTF-8字符然后使用某种方法定位其语言,但是由于CJK交集的问题难以实施。
3,加密/解密系列函数。
再次遗憾,多数主机都不提供这一系列函数的支持。这些加密/解密函数囊括了DES/3DES/AES/RSA等主流密码学算法,毫无疑问相当多的算法都是非常耗费CPU资源的,这应该是主机避免支持这些函数的原因之一。
加密和解密函数存在一个细节漏洞。这些函数的输入和输出都是使用“字符串”类型。但是由于相当多的密码算法对原始数据的长度存在要求(例如必须是2的某个幂次长度),导致解密后的结果和原始数据存在一定的差别(一般是多出了额外补齐用的字节)。
我没有寻找官方的解决方案,而是在原始数据末尾添加特定的边界字符,然后从字符串末尾开始的查找,所有边界字符之前遇到的字符全部被忽略掉(我没有跟踪这些字符的数值,但是我想它们应该是0)。
4,调试
和许多脚本一样,PHP无法单步调试,这是个麻烦,不过并不致命。PHP的错误输出信息相当丰富和准确,可以帮助你快速定位到出错的代码,并且你可以使用任意的输出语句来显示你添加的调试信息。
其他可用的PHP网上资源:
chinaunix.net的PHP论坛,虽然我很少去,不过这里的资料对于入门者还是有很大的帮助的。
中国PHP联盟,我也很少去:)
PHP官方站点,E文站点,不要因为自己文差就不去看E文站点。
不多介绍,这些站点内部提供了很多其他PHP资源的链接,需要的话自己点就是了。
如果有兴趣自己做个小网站,个人推荐用PHP/ASP/JSP作为开发语言,理由非常简单:支持这些开发语言的免费主机数量相对比较多,你很容易找到一个落脚点。如果使用ASP.NET/Ruby on Rail一类新兴或者罕见工具,恐怕多数时候只能在自己的电脑上跑。要么就得花钱买支持这些的主机空间。
既然提到主机空间,顺便推荐几个免费主机搜索引擎:
http://www.hostsearch.com/
http://www.free-webhosts.com/
http://www.clickherefree.com/hosting-free/
相当多的免费主机不允许非英文站点,同时相当多的主机不允许免费邮箱注册。
不过邮箱的问题可以通过简单的方式解决:注册一个不知名的免费邮箱即可^_^
最后再提供几个网站发布的资源:
http://www.announce.com/
http://www.freewebsubmission.com/
好了,以上这些就是我能记得起来的关于网站开发的全部了,现在正在看Ajax,如果有心得就再写一篇~
- php学习资料
- php学习资料
- PHP网上学习资料
- PHP学习资料
- PHP学习资料
- PHP 学习资料
- php 学习资料
- PHP学习资料大全
- PHP学习资料汇总
- 菜鸟PHP学习资料总结
- PHP连接MSSQL Server类 (学习资料)
- 学习ZendStudio调试PHP的资料
- asp.net,php,java 学习资料
- php学习视频资料免费分享
- php学习视频资料免费分享
- 国外PHP学习网站书籍资料汇总
- 学习PHP、ASP源码资料常用网站
- PHP扩展开发学习资料汇总
- 块状链表基本操作及相关例题
- WPF 按钮圆角
- 手动部署Oracle RAC EM报错 WARNING: Error during db connection : ORA-12514
- 嵌入式技术网站
- (二)垂直几何、度量几何与常用几何(1)
- PHP学习资料
- 如何从C/S学习过渡到B/S学习,以及我们该如何学习
- web.xml中的url-pattern写法规则及匹配过程
- winlicense/TMD脱壳----私募牛股预警系统 脱壳
- ISSET-SE 导致访问侵犯在 IMSCUI.DLL问题的解决方法
- Android UI学习汇总
- Eclipse程序员要掌握的常用快捷键
- Java中equals()方法重写
- 算法学习二三事