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

学习一门新语言可能会是一件很艰巨的任务,最好的办法就是借鉴前辈的经验已达到事半功倍,下面就是为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曾经在安全性上臭名远扬,就是因为易用性带来的副作用。我们必须学会避开这些问题。

(0)

相关推荐

  • php 代码优化的42条建议 推荐

    1.如果一个方法可静态化,就对它做静态声明.速率可提升至4倍. 2.echo 比 print 快. 3.使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接. 4.在执行for循环之前确定最大循环数,不要每循环一次都计算最大值. 5.注销那些不用的变量尤其是大数组,以便释放内存. 6.尽量避免使用__get,__set,__autoload. 7.require_once()代价昂贵. 8.在包含文件时使用完整路径,解析操作系统路径所需的时间会更少. 9.如果你想知道脚本开始执行(译

  • 对PHP新手的一些建议(PHP学习经验总结)

    这些建议都是我自身亲历成长过程中积累的一些看法,仅作参考,相信百分之八十对你都有帮助! 刚学习PHP的时候不要纠结使用哪个环境?appserv.wamp集成环境都不错 编辑器很多种,但最好熟悉其中一种,养成手写代码习惯 常用的函数要熟记 环境报错全开启,把NOTICE屏蔽 遇到报错要仔细看报错原因,行号,分析解决方法 POST与GET的区别 SESSION与COOKIE的区别 不要使用COOKIE记录重要信息,如密码 不要在数据库中明文存储密码 传输中文一定要URLENCODE,JS异步提交同样

  • PHP代码网站如何防范SQL注入漏洞攻击建议分享

    黑客通过SQL注入攻击可以拿到网站数据库的访问权限,之后他们就可以拿到网站数据库中所有的数据,恶意的黑客可以通过SQL注入功能篡改数据库中的数据甚至会把数据库中的数据毁坏掉.做为网络开发者的你对这种黑客行为恨之入骨,当然也有必要了解一下SQL注入这种功能方式的原理并学会如何通过代码来保护自己的网站数据库.今天就通过PHP和MySQL数据库为例,分享一下我所了解的SQL注入攻击和一些简单的防范措施和一些如何避免SQL注入攻击的建议. 什么是SQL注入(SQL Injection)? 简单来说,SQ

  • 关于PHP开发的9条建议

    本文只是个人从实际开发经验中总结的一些东西,并不是什么名言警句,写出来有两个目的:一是时刻提醒自己要按照这些知识点来写自己代码,二是为了分享,说不定对你有用呢?万一,是吧... 1.首要意识:安全 大多数时候,我们开发的Web程序都是需要跟数据库打交道的,所以这里几乎可以说SQL注入是一个怎么也无法避免要拿出来讨论一下的问题.而且近年来像XSS和CSRF攻击也变得大行其道,使得"黑客"们貌似又有了一把把利器,而我们总是处于被动的状态.不过我们要记得是下面这两个原则: 1. 永远不要相信

  • php中使用exec,system等函数调用系统命令的方法(不建议使用,可导致安全问题)

    php的内置函数exec,system都可以调用系统命令(shell命令),当然还有passthru,escapeshellcmd等函数. 在很多时候利用php的exec,system等函数调用系统命令可以帮助我们更好更快的完成工作.比如前二天笔者在批量处理.rar文件时exec就帮我了大忙了. 今天整理一下常用的调用系统函数发出来和大家分享经验. 注意:要想使用这二个函数php.ini中的安全模式必须关闭,要不然为了安全起见php是不让调用系统命令的. 先看一下php手册对这二个函数的解释:

  • 优化PHP代码的53条建议

    1.如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍. 2.$row['id'] 的速度是$row[id]的7倍. 3.echo 比 print 快,并且使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接,比如echo $str1,$str2. 4.在执行for循环之前确定最大循环数,不要每循环一次都计算最大值,最好运用foreach代替. 5.注销那些不用的变量尤其是大数组,以便释放内存. 6.尽量避免使用__get,__set,__autol

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

    学习一门新语言可能会是一件很艰巨的任务,最好的办法就是借鉴前辈的经验已达到事半功倍,下面就是为PHP新手们准备的一些经验餐( 笔者也还是新手). 如果你是个PHP开发者,无论是新手还是高手,笔者都希望你能在此讨论下自己对PHP的想法或者技巧. 1. 从OOP开始 Naramore是SourceForge员工以及PHPWomen.org的创办人.对于初学者,她建议在学PHP之前先了解清楚OOP(Object-Oriented Programming)即面向对象编程思想. "如果你来自非高科技行业,

  • JavaScript 新手24条实用建议[TUTS+]

    注:本文多次用到Firebug的console对象,请参考Firebug Console API .关于firebug的更详细介绍,请猛击这里.1. 用 === 代替 == JavaScript里有两种不同的相等运算符:===|!== 和==|!=.相比之下,前者更值得推荐.请尽量使用前者. 引用: "如果两个比较对象有着同样的类型和值,===返回true,!==返回false." – JavaScript: The Good Parts不过,如果使用==和!=,在操作不同数据类型时,

  • 跟老齐学Python之大话题小函数(1)

    开篇就要提到一个大的话题:编程范型.什么是编程范型?引用维基百科中的解释: 复制代码 代码如下: 编程范型或编程范式(英语:Programming paradigm),(范即模范之意,范式即模式.方法),是一类典型的编程风格,是指从事软件工程的一类典型的风格(可以对照方法学).如:函数式编程.程序编程.面向对象编程.指令式编程等等为不同的编程范型. 编程范型提供了(同时决定了)程序员对程序执行的看法.例如,在面向对象编程中,程序员认为程序是一系列相互作用的对象,而在函数式编程中一个程序会被看作是

  • JSP/JAVABEAN+TOMCAT4.0.5+MYSQL组合建站总结

    系统配置:win2000英文版+JDK1.4.1+TOMCAT4.0.5+APACHE2.043开发周期:竭尽全力,前后历时近15天.实现功能:1.    画廊:图片及相关文字的提交,分页显示,删除.2.    相册:相册主题的新建,相片及相关文字的提交,分主题,分页显示,删除.3.    文章/新闻发布系统:文章分类目录的新建,文章的分类显示,文章的编辑,删除.(具有10个插图上传能力)4.    文章按主题搜索及模糊查找.5.    将硬盘一指定目录以列表的形式显示出来,自动查找目录中的说明

  • Redux 和 Mobx的选择问题:让你不再困惑!

    我在去年大量的使用了 Redux,但我最近都在使用 Mobx 来做状态(state)管理.似乎现在社区里关于该选什么来替代 Redux 很自然地成为了一件困惑的事.开发者不确定该选择哪种解决方案.这个问题并不只是出现在 Redux 与 Mobx 上.无论何时,只要存在选择,人们就会好奇最好的解决问题的方式是什么.我现在写的这些是为了解决 Redux 和 Mobx 这两个状态管理库之间的困惑. 大部分的文章都用 React 来介绍 Mobx 和 Redux 的用法.但是在大部分情况下你都可以将 R

  • Python3简单实例计算同花的概率代码

    每次抽取后都重新洗牌.计算10000次随机抽取可得到同花的几率.我做的比较复杂,分别累计了四种花色分别出现了几次 import random list=["2","3","4",'5','6','7','8','9','10',"J","Q","K","A"] list2=["H","C","D","

  • .NET开发人员关于ML.NET的入门学习

    ML.NET一直在微软的研究部门的工作.这些创新已经用于他们自己的产品,如Windows Defender,Microsoft Office(Powerpoint设计理念,Excel图表推荐),Azure机器学习,PowerBI. ML.NET旨在提供终端工作流程,以便在机器学习(预处理,特征工程,建模,评估和操作)的各个步骤中将ML用于.NET应用程序. ML.NET 1.0提供以下关键组件:数据表示机器学习任务(分类,回归,异常检测等)数据特征工程 机器学习模型应该让分析师的生活更轻松,现在

  • JavaScript初学者建议:不要去管浏览器兼容

    如果可以回到过去的话,我会告诉自己这句话:"初学JavaScript的时候无视DOM和BOM的兼容性" 我初学时的处境 在我初学JavaScript的时候最头痛的就是浏览器兼容问题.在Firefox下面好好的代码放到IE就不能显示了,又或者是在IE能正常显示的代码在firefox又报错了. 前端开发工程师的职责就包括跨浏览器开发.所以我就在还不了解JS这门语言本身的时候去花时间学习浏览器兼容知识,这样会让JS学习难度增加.但是不能兼容主流浏览器的代码不能用在实际项目中. DOM和BOM

  • 给所有ActionScript初学者的一点建议 经典

    声明:这篇文章我将以连载的形式,不定期的更新,有兴趣的朋友可以随时关注.      本文允许随意转载,但请注明:作者:jinni,出处:经典论坛 (04.26.2004)在论坛当斑竹时间长了,经常会碰到有朋友提出这样的问题:我是菜鸟,请问高手,AS到底该怎么学?我自认算不上高手,但三年的AS编程经验,多少也可以算半个老手(应了蓝色那句话:没有菜鸟和高手之分,只有新手和老手之别),之所以这么说,就是为了先表明立场,在网上混了这些时间,国内的AS顶尖高手我大都还算认识,自知尚无资格与他们比肩,之所以

  • 一个牛人给Java初学者的建议(必看篇)

    给初学者之一:浅谈Java及应用学java 从不知java为何物到现在一个小小的j2ee项目经理虽说不上此道高手,大概也算有点斤两了吧每次上网,泡bbs逛论坛,没少去java相关的版 面总体感觉初学者多,高手少,精通的更少由于我国高等教育制度教材陈旧,加上java自身发展不过十年左右的时间还有一个很重要的原因就是java这门语 言更适合商业应用所以高校里大部分博士老师们对此语言的了解甚至不比本科生多在这种环境下,很多人对java感到茫然,不知所措,不懂java能做什么即 便知道了java很有用,

随机推荐