为PHP初学者的8点有效建议


Posted in PHP onNovember 20, 2010

学习一门新语言可能会是一件很艰巨的任务,最好的办法就是借鉴前辈的经验已达到事半功倍,下面就是为PHP新手们准备的一些经验餐( 笔者也还是新手)。

如果你是个PHP开发者,无论是新手还是高手,笔者都希望你能在此讨论下自己对PHP的想法或者技巧。

1. 从OOP开始

Naramore是SourceForge员工以及PHPWomen.org的创办人。对于初学者,她建议在学PHP之前先了解清楚OOP(Object-Oriented Programming)即面向对象编程思想。

“如果你来自非高科技行业,很有必要花一些时间去学习软件开发的基础流程。例如面向对象程序设计、测试驱动开发、版本控制、 调试、设计模式等。”

“如果你已经尝试过了但无法解决问题,不要害怕开口问人。很多PHP社区的气氛都是非常友好的,并且提供了大量初学者可用得上 的资源,这些都你来说都会大有帮助的。找一个适合自己的稳定的社区,一个本地用户组或一个开源项目社区,或者是一个freenode上的相关 IRC聊天频道。”

2. 随时Google

Casey创立了一个软件商店,并且在unconference流程方面做了很多研究。

他的建议是在PHP社区找到自己的位置以及遵循“发问前先Google一下”。

“马上找到一个用户组加入,全世界有很多聪明的人聚集一起聊天、开拓思路、互相帮助的PHP群。”

“记住,在提问之前先尝试在google上搜索。没人喜欢懒惰的人。”

3. 加入开源项目

Leonard 在运营一家爱尔兰软件公司echolibre,同时还是CloudSplit(一个云计算分析服务)的联合创始人。和他的很多同龄人一样,他建 议应该积极尝试加入开源项目,即使你是个新手。

“通过参加开源项目你有机会看到那些源代码,并可以向资深的前辈学习。”

“帮助开源项目团队做一些事,例如寻找和记录重复性的bug这样的耗时任务,他们会对你心存感激。当我们想要雇用开发人员时, 如果他曾经参与过OSS项目,我们会更多地考虑他对公司的潜在贡献。”

4. 想了就做

Lornajane 他在网上的身份Mitchell更为出名,是一个PHP顾问、开发者、作家和演说家。

她给出了一句简短的建议:想了就做。

“PHP是一种非常易懂、可以进行快速开发的语言。想知道一件事是否可行的最佳方法就是去做这件事。”

“任何人都可以用PHP编程。低门槛意味着会有很多糟糕的PHP作品。但很多糟糕的PHP作品却是非常有用的,即使它看起来并不漂亮 。我个人认为如果你能用PHP解决问题,就大胆去实行,即便做出来的东西可能并不完美。”

5. 避免编码倦怠

Cornutt 运营PHPDeveloper.org和Joind.in,他从1998年开始一直在使用PHP。他给PHP初学者的建议是千万不要产生编码疲劳和倦怠。

“我认为新手PHP开发人员很容易陷入一种不堪重负的境地...初学者往往是对语言有兴趣,但总是被一种“能运行即可” 的心态误导,以至事倍功半。”

“试图找到一位导师来引导你进行这些初步的学习步骤。当你真正去同他人沟通时,会发现世界很多不同的东西。IRC是一个很好的 选择,但找一个牛人做老师肯定是最佳选择。"

“PHP开发也是一种需要磨练的技能,没人可以在一夜之间变成一名高手。”

6. 选择一个好用的编码器

Turner 从1996年开始一直在做web相关工作和参加开源项目。他运营PHPKitchen.com,最近还杀入Seedcamp决赛。

他给了新手PHP开发人员一个非常好的建议,可以节省时间,写出更好的代码,并帮助维持你对编码的兴趣。

“阅读经验丰富的开发者的代码,你总会发现一些更好、更简洁的方式算法。不要重新发明轮子,使用库可以避免自己编写重复的代 码。"

“确保你的代码是人类可读的,如果你的代码6个月后连你自己也看不懂了,你让合作的其他开发者如何去看?"

“尽量简化接口,写简单的代码难度更大,不过,良好的重构会为维护节省大量的时间和头痛。"

“最后,了解一些杰出的程序员以及他们如何多年保持对编程艺术的热情。”

7. 了解测试驱动开发、封装和代码控制

Herbert 从1999年一直玩PHP至今,他对Gentoo Linux作出很大的贡献。

对于PHP初学者,他说“学习测试驱动开发和封装。一旦你熟悉它,你代码会写的更快,而且继承你代码的人肯定会感谢你”。

“学会代码控制,这是必经之路。”

他还表示,PHP一个最大的优势是有大量的在线免费文档,不用像学其他某些语言一样,跑到街上的书店去买教程。

8. 了解安全问题

Maclean 是来自苏格兰的PHP和Python开发者。

他说:“正因为PHP易用性强,所以有很多人都在使用,但我们必须想想那些初学者在用它做些什么。没必要什么都从头开始写起, 适当地选择使用框架是个很好的开始。”

“另外要做的是了解有关安全的问题。PHP曾经在安全性上臭名远扬,就是因为易用性带来的副作用。我们必须学会避开这些问题。

PHP 相关文章推荐
无数据库的详细域名查询程序PHP版(4)
Oct 09 PHP
使用PHPMYADMIN操作mysql数据库添加新用户和数据库的方法
Apr 02 PHP
PHP通过header实现文本文件下载的代码
Aug 08 PHP
php数组函数序列之array_keys() - 获取数组键名
Oct 30 PHP
PHP下通过QRCode类库创建中间带网站LOGO的二维码
Jul 12 PHP
在win系统安装配置 Memcached for PHP 5.3 图文教程
Mar 03 PHP
php使用文本统计访问量的方法
May 12 PHP
今天你说520了吗?不仅有php表白书还有java表白神器
May 20 PHP
Zend Framework入门教程之Zend_Session会话操作详解
Dec 08 PHP
PHP会话控制实例分析
Dec 24 PHP
tp框架(thinkPHP)实现三次登陆密码错误之后锁定账号功能示例
May 24 PHP
Yii2框架实现利用mpdf创建pdf文件功能示例
Feb 08 PHP
PHP程序员最常犯的11个MySQL错误小结
Nov 20 #PHP
Windows 下的 PHP-PEAR 安装方法
Nov 20 #PHP
整理的9个实用的PHP库简介和下载
Nov 09 #PHP
Notice: Undefined index: page in E:\PHP\test.php on line 14
Nov 02 #PHP
在PHP中使用curl_init函数的说明
Nov 02 #PHP
php运行出现Call to undefined function curl_init()的解决方法
Nov 02 #PHP
《PHP编程最快明白》第八讲:php启发和小结
Nov 01 #PHP
You might like
php foreach循环中使用引用的问题
2013/11/06 PHP
PHP打开和关闭文件操作函数总结
2014/11/18 PHP
PHP实现QQ登录实例代码
2016/01/14 PHP
详解WordPress中的头像缓存和代理中的缓存更新方法
2016/03/01 PHP
详解PHP素材图片上传、下载功能
2019/04/12 PHP
Laravel Eloquent ORM 多条件查询的例子
2019/10/10 PHP
从面试题学习Javascript 面向对象(创建对象)
2012/03/30 Javascript
jquery和javascript的区别(常用方法比较)
2013/07/04 Javascript
JS获取当前页面名称的简单实例
2016/08/19 Javascript
JS短信验证码倒计时功能的实现(没有验证码,只有倒计时)
2016/10/27 Javascript
JavaScript瀑布流布局实现代码
2017/05/06 Javascript
vue scroller返回页面记住滚动位置的实例代码
2018/01/29 Javascript
10 种最常见的 Javascript 错误(频率最高)
2018/02/08 Javascript
Vue优化:常见会导致内存泄漏问题及优化详解
2020/08/04 Javascript
一篇文章带你搞懂Vue虚拟Dom与diff算法
2020/08/25 Javascript
Python代理抓取并验证使用多线程实现
2013/05/03 Python
pandas or sql计算前后两行数据间的增值方法
2018/04/20 Python
详解Django解决ajax跨域访问问题
2018/08/24 Python
Python从使用线程到使用async/await的深入讲解
2018/09/16 Python
如何利用Python分析出微信朋友男女统计图
2019/01/25 Python
Python爬虫动态ip代理防止被封的方法
2019/07/07 Python
python 解决flask 图片在线浏览或者直接下载的问题
2020/01/09 Python
简单了解Java Netty Reactor三种线程模型
2020/04/26 Python
使用Nibabel库对nii格式图像的读写操作
2020/07/01 Python
伦敦一家西班牙童装精品店:La Coqueta
2018/02/02 全球购物
英国知名化妆品网站:Revolution Beauty(原TAM Beauty)
2018/02/28 全球购物
韩国美国时尚服装和美容在线全球市场:KOODING
2018/11/07 全球购物
Servlet的实例是在生命周期什么时候创建的?配置servlet最重要的是什么?
2012/05/30 面试题
七年级数学教学反思
2014/01/22 职场文书
副校长个人对照检查材料思想汇报
2014/10/04 职场文书
2014年社区工作总结
2014/11/18 职场文书
接待员岗位职责范本
2015/04/15 职场文书
社区敬老月活动总结
2015/05/07 职场文书
2015年车间安全管理工作总结
2015/05/13 职场文书
使用numpy nonzero 找出非0元素
2021/05/14 Python
Springboot-cli 开发脚手架,权限认证,附demo演示
2022/04/28 Java/Android