亲们,此文时转载过来的,不是原创!特此说明一下

原文名称:5 ways to be a better php developer
原文链接:http://www.developertutorials.com/blog/web/5-ways-to-be-a-better-php-developer-36/
中文翻译:Altair
草稿首发:http://www.phpinternals.com/

经常有一些经验不足的PHP开发人员在Freenode的##php IRC频道上问问题。如果问题很琐碎,或者答案显而易见,或表现得象一个菜鸟,很快他们就会发现会受到如下一些回复的炮轰:“去读该死的手册去吧”,“好好去学一学PHP吧”,“我们不是你个人的导师”或更直接的“你需要成为一个更好的PHP开发者”。但是,怎样才能成为一个更优秀的PHP开发者呢?在这篇文章中,我列出了五种成为更优秀的PHP开发者的方法,让你在PHP开发过程中提高效率,用更少的代码来完成更多的事情。在PHP的开发过程中永远会有更多的内容需要去学习,如新的核心函数,新的框架,新的设计模式,新的编码或文档规范等等。下面就是一些成为更优秀的PHP开发者的最佳途径。

1.阅读手册
没什么比阅读手册更值得强调的事了–仅仅通过阅读手册你就可以学习到很多东西。特别是有关字符串和数组有关的函数。就在这些函数里面包括许多有用的功能,如果你仔细阅读手册,你会经常发现在以往的项目开发过程中,很多时候你在“重复发明轮子”,而实际上你只需要一个核心函数就可以完成相应的功能。手册是你的朋友。

2.阅读程序源代码
有很多使用PHP开发的开源程序。为什么不去学习和借鉴呢?下载一份开源的PHP应用程序的源代码,仔细阅读它吧。也许越大的项目越值得去阅读,虽然它们也许有更复杂的结构和系统,但也有更详细的解释文档。如果你不知道从哪里开始,可以看看网站http://www.sourceforge.net

3.学习一种框架
现在的框架如雨后春笋般纷纷出笼;它们中的大部分都是开源的,可以直接从网上下载,当然你要知道从哪里去下载。可以先选择一些主流的框架 — 网站http://www.phpframeworks.com里有一个非常好的主流框架的列表。

4.研究
在PHP网站开发过程和讨论中你可能听说过很多术语。从OOP到MVC,KISS到DRY,YAML到INI,甚至REST到XML-RPC,也许有数百个与你的工作直接相关的技术概念。你也许对它们有了一个基本的了解,但你真的了解它们到底是什么,对你有什么意义吗?花一点时间去做些实实在在的研究吧。Wikipedia是从事这些研究的很好的起点。你一定会从中学到一些新知识的。

5.学习面向对象程序设计
这也许是上一个方法的继续,但是OOP比你想象的更重要。你真的了解PHP5中OOP是如何实现的吗?例如,你真的了解抽象类,接口,“implements”关键字,静态方法和静态属性,访问修饰符“protected”吗?甚至许多有经验的开发人员都倒在这些问题的面前。如果你能充分利用OOP的特征,你就可以节省很多的开发时间。

就是这些。要想成为PHP高手,这是五个最直接而又重要的的方法。

------------------------------
本文的中英文对照版本已发布于PHP英文版块。

[ 本帖最后由 Altair 于 2008-6-23 12:17 编辑 ]

成就PHP高手的五个必由之路的更多相关文章

  1. Android数据库高手秘籍(五)——LitePal的存储操作

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/39345833 经过前面几篇文章的学习,我们已经把LitePal的表管理模块的功能都 ...

  2. Android数据库高手秘籍(六)——LitePal的改动和删除操作

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/40083685 在上一篇文章中,我们学会了使用LitePal进行存储数据的功能.确实 ...

  3. Android LitePal 神一般的数据库框架 超级好用

    参考: Android数据库高手秘籍(一)--SQLite命令 Android数据库高手秘籍(二)--创建表和LitePal的基本用法 Android数据库高手秘籍(三)--使用LitePal升级表 ...

  4. 不把C作为第一门语言是个好主意么

    ----------------------------------------------------------------------------------   不把C作为第一门语言是个好主意 ...

  5. window.print打印指定html元素中的内容

    通常有些时候我们项目过程中使用到打印功能,而wndow.print便是系统里提供的一个函数. 但是直接使用的话,它打印的将是整个页面的所有元素,而有些时候我们又只需要打印部分内容. <body& ...

  6. java进阶书籍推荐(不包括基础)

    个人认为看书有两点好处: 能出版出来的书一定是经过反复的思考.雕琢和审核的,因此从专业性的角度来说,一本好书的价值远超其他资料 对着书上的代码自己敲的时候方便 “看完书之后再次提升自我的最好途径是看一 ...

  7. 个人经验~mysql故障处理思路

    一 简介:个人经验总结 二 思路: 从整体上再进行梳理 三 linux角度 1 硬件是否有问题  常见主板 raid卡 和raid磁盘组 2 综合指标 负载 uptime : 1min  5min  ...

  8. 分享一些 Java 无关基础方面的书籍

    个人认为看书有两个点好处: 1. 能出版出来的书一定是经过反复思考,雕琢和审核的,因此从专业性的角度来说,一本好书的价值超其他资料 2. 对着书上的代码自己敲的时候方便 “看完书之后再次提升自我的最好 ...

  9. 图灵社区 书单推荐:成为Java顶尖程序员 ,看这11本书就够了

    java书单推荐 转自 http://www.ituring.com.cn/article/211418 “学习的最好途径就是看书“,这是我自己学习并且小有了一定的积累之后的第一体会.个人认为看书有两 ...

随机推荐

  1. Performance Monitor4:监控SQL Server的IO性能

    SQL Server的IO性能受到物理Disk的IO延迟和SQL Server内部执行的IO操作的影响.在监控Disk性能时,最主要的度量值(metric)是IO延迟,IO延迟是指从Applicati ...

  2. thinkphp数据的查询和截取

    public function NewsList(){ $this->assign('title','news'); $p = I('page',1); $listRows = 6; $News ...

  3. C# 序列化与反序列化几种格式的转换

    这里介绍了几种方式之间的序列化与反序列化之间的转换 首先介绍的如何序列化,将object对象序列化常见的两种方式即string和xml对象; 第一种将object转换为string对象,这种比较简单没 ...

  4. 在Linux虚拟机下配置jdk的环境变量

    1.到Oracle公司的官网里下载好jdk,网址 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133 ...

  5. 我的MYSQL学习心得(八) 插入 更新 删除

    我的MYSQL学习心得(八) 插入 更新 删除 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得( ...

  6. mono for android中使用dapper或petapoco对sqlite进行数据操作

    在mono for android中使用dapper或petapoco,很简单,新建android 类库项目,直接把原来的文件复制过来,对Connection连接报错部分进行注释和修改就可以运行了.( ...

  7. About me

    stay hungry, stay foolish VaJoy / 蓝邦珏 Addr:Tencent Shenzhen E-Mail:vajoy@qq.com 站内:http://space.cnbl ...

  8. ABP(现代ASP.NET样板开发框架)系列之21、ABP展现层——Javascript函数库

    点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之21.ABP展现层——Javascript函数库 ABP是“ASP.NET Boilerplate Project ...

  9. C++ std::list

    std::list template < class T, class Alloc = allocator > class list; List Lists are sequence co ...

  10. Js删除数组重复元素的多种方法

    js对数组元素去重有很多种处理的方法,本篇文章中为网络资源整理,当然每个方法我都去实现了:写下来的目的是希望自己活学活用,下次遇到问题后方便解决. 第一种 function oSort(arr){ v ...