热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

成为一个PHP专业人员:必不可少的环节

当读取各种PHP相关的博客,Quora的问题,谷歌的社区,通讯和杂志,我经常看到技能的极端两极分化。问题是无论是在“我如何连接到MySQL数据库?

当读取各种PHP相关的博客,Quora的问题,谷歌的社区,通讯和杂志,我经常看到技能的极端两极分化。 问题是无论是在“我如何连接到MySQL数据库?” 在范围内的水平或什么“我最好如何扩展我的邮件系统发送每小时超过一万封电子邮件,而不会引入新的服务器?”

初级,中级,专业和精英 :我的4个不同的PHP的威力(可能适用于任何语言/专业)的水平区分个人

极端

在PHP中,初学者学习有关的变量 , 包括表单处理 。 他们学习简单的逻辑结构 。 他们发送一封电子邮件,其中包含一个教程的帮助下,甚至触及到了面向对象编程的例子实际上不理解它。 他们用WordPress的工作,修改几个CSS类。 有了这些知识,他们申请工作,不幸的是,通常都会失败。

专业人员是那些谁给了他们生活的好地方,很多计划。 他们已经在大多数部署商业应用,如果不是全部的框架,他们已经有效地使用PHP的不同的数据库,他们参观和/或在谈话会议。 他们研究设计模式,并且可以轻松地在自己的整个项目从工程图来执行。 他们离开的程序代码远远落后。

优秀的程序员是谁把传说中的专业人士10000小时以上为磨练自己的技能。 他们补充他们的PHP安装与扩展他们写自己,他们发现臭虫只是通过源文件一瞧,他们是非常细致的了解他们的代码布局。 他们拒绝所有,但最复杂的项目,并找到替代性和想象力的方式来解决问题的人甚至不知道他们有。 他们已经写了一些关于语言深受好评的书籍,讲了话在几十个会议,甚至使自己的分公司的PHP或一个非常成功的框架或两个。

因此,在这一切,谁是中间的呢?

缺少的环节

怎样才能获得从初学者到专业人士及以后? 如果一个人不知道超出基本什么,他们如何能提高他们的技能足以让陋习背后,开始练习更先进的方法? 这是一个问题,我得到的初学者问了很多。 为了成为一个专业,一个人必须先成为中间。

以下是对什么人应该通过路径到PHP流畅列表。

放弃意大利面条代码

很多人认为使用类你写面向对象的代码,而你写的程序代码中使用函数表示的意思。 虽然这是假的 ,为了这个论点,我们假设了广泛的香草定义:程序代码中,你根本就没有使用类和对象的代码,面向对象的代码中,你使用类的代码和对象一样多可能。

我的建议是完全放弃程序代码。 使用面向对象的编程风格,尽可能 - 写的类,封装的逻辑,认为与现实世界的术语。 相比,可重用性,适当的OOP代码给你和未来的开发继承你的项目的程序代码基于多类代码的性能优势是可以忽略不计。 针对这方面的一个普遍的说法是“不过,WordPress是程序上的!” 坦率地说,这听起来刺耳,“WordPress的开发者”没有更多的PHP开发者的人比用Instagram的是摄影师。 请不要认为这意味着WP是没用的 - 这是梦幻般的博客,简单的网站和为期一天的项目,你不想花太多时间在。 这是非常适合做一个急功近利或人谁不太多的技术,但掌握WP不会让你一个专业的PHP开发 - 它是意大利面条式代码的纱线,可以教你没有适当的设计原则。

从小事做起。 想想一个现实世界的概念 ,并尝试以代表它的OOP代码。 通过一些工作的基本教程 ,慢慢地走更先进。 所有这些都是云里雾里的,抽象的术语,而不必在OOP的坚实基础第一 - 直到你明白类一般过渡到正确的框架和混乱的术语,如“标准”,“视图”和“控制器”前的OOP代码的工作。

剖析现有项目

深入到现有的源代码的地方,你可以找到它。 例如,查找PHP项目Github上 ,克隆它们,在本地部署他们自己的机器,并尝试玩弄的代码。 转到文件通过文件,一行行,直到你了解每个做。

看是否有很好的注释和/或记录的,结构良好,而且还活着的项目。 项目在2008年最后更新不会做你多好,如果你要到PHP 5.5 - 你很可能会错过了,可能使你脱颖而出,在一个已经人口过剩领域的最新和最强大的功能。

学会建立自己的PHP环境

如果能够建立自己的环境是无价的技能。 它不仅允许你微调你的设置,它可以让您熟悉从源代码构建扩展。

放弃Windows的发展-如果你的主桌面是Windows,安装虚拟化软件和运行Linux虚拟机- Windows中不区分大小写,它的行结束符,并与大多数服务器环境在那里只是自找麻烦不一致的所有其他古怪,所以这是最好的开发一个系统,最像你最终会进行一项环境上。

虚拟机还可以帮助您的实验 - 如果出现错误,你可以擦它,并开始了或做了回滚。 你可以从字面上尝试尽可能多的,只要你想,而不必担心任何事情搞乱了的。 掌握工具固然重要,但有一个良好的工作台上太。

用你自己设置的实验也将让你熟悉不同的服务器在那里-是否使用Nginx的Apache中,是否使用他们都不和我一起应用服务器 ,等等。

早锻炼的最佳实践

当编写自己的代码,请确保您有文档块重评 , 精美的缩进和结构仔细。 当你构建一个类,项目或库,使用众所周知的文档工具( phpDocumentor的 , ApiGen )中提取文档块,并加以改进。

一个好的IDE是值得它的磁盘大小黄金 - 习惯一个多平台的编辑器可以帮助您达到并在任何时间建立一个新的环境中运行时,这样你就可以潜入代码瞬间不浪费时间在设置快捷键和主题。 确保你备份IDE配置文件,像谷歌驱动器云服务,所以你让他们准备好进口在任何时候,即使你需要做一个全新安装。 一个好的IDE是PHPStorm ,或者如果你买不起,或者与其中索要免费许可任何开源项目, Netbeans的是一个免费的替代品。 两者都是多平台。

习惯的最佳实践月初可以帮助你保持一致,并让其他人阅读你的代码更加流畅。 找到你的风格,并坚持下去 - 你会帮助自己和他人。 尝试按照对PSR的标准( PSR-0 , PSR-1,PSR-2 , PSR-3 )尽可能-它们被称为是有原因的标准。 我们大多数人使用和爱他们,他们让每个人的代码,同样可重用性和可读性。

一个好的初学者友好的资源,放弃最新提示是PHP的正确的方式 -用它来 熟悉最新的最佳实践,OOP的基本知识,安全性,部署,编码我上面提到的标准,等等。

尝试不同的框架,选择一个

长期以来,PHP是与大多数框架在那里的语言(Javascript的接管最近)。 这是否说我们的社会或我们的语言的普及不一致的,我不能说,但事实仍然是,选择一个框架是一项艰巨的任务,特别是当第一次开始了。

尝试过其中的大部分,我可以全心全意地推荐 尔康为细末,以架构由于其耐用性和质量,而事实上,它是建立在C和安装为PHP扩展(因此比现存的任何现有框架更快)。 然而,尝试了不同的框架是绝对必要的。

当您尝试出来,你每次学习一个新的方式,以共同的问题。 每个框架都有自己的怪癖你会喜欢和缺点你会恨,但最重要的是,您将了解他人的心态(该框架特别是开发人员)。 你会看到新的用途和方法,并在尽可能多的框架很好的锻炼是重新构建的样品项目之一,你可以找到。 这将帮助你有效地衡量一个特定框架的功效:在它发展的速度和性能。

阅读

不要低估别人的提示和技巧。 阅读尽可能多的,你可以 - 如果你坚持的话,它并不需要像你想象的那么多时间。 找到好的博客可循,阅读本网站,遍历该教程的问题和对StackOverflow的答案 ,请访问SitePoint论坛,订阅电子报,请在Google+上的良好来源 。 避免基本的PHP教程书籍 - 他们是过时的,只要他们出版的 - 相反,专注于有用了最新的代码,你可以找到所有在网上各个片段和教程。 即使话题是你已经介绍过,尝试给它一个读 - 你经常会发现一些新的东西可以通过阅读别人的观点就很不一样的东西需要学习。

如果没有工作,发明了一些

总是有事可做。 从来没有发现自己说:“我没有一个项目”,甚至更糟的是,“我很无聊”。 如果你没有一个活跃的项目工作 - 做一个。 你使用的工具每天的挫折你与它的功能缺失? 建立一个更好的选择! 有没有想法的新产品? 复制现有的-尝试重建一个基本的Facebook ,重新创建一些你已经知道存在只是为了实践。

什么是最重要的是永远不要停止 - 有没有再再万小时,如果你不投入的时间! 继续努力,保持自己的兴趣和参与。 做一个简单的地址簿应用程序。 然后重建它在另一个框架。 然后重建它与另一个数据库(与蒙戈取代MariaDB的,例如)。 保持忙碌!

查找好友/导师

这是更容易学习,当你有别人做它用。 查找好友谁分享你的激情。 也许你是幸运的少数与谁分享你的怪异兴趣的合作伙伴之一。 也许你在学校或大学,并有同行,谁愿意上手以及和需要陪伴在这些冒险。 你甚至可以找到一个导师 ,并接受专家的指导。

永远不要低估一个同伴的力量 - 这是有原因的医生总是有一个!

结论

当你专注于所有这些项目与尽可能多的意志,你可以鼓起,当你意识到这是你想要什么,并坚持下去 - 你在旅途成为一个PHP亲上。 维持纪律,决不放弃(即使你周围的人做的),并坚持练习。

如果你已经得到了你想要你如何桥接与我们分享任何有用的资源(或正在桥接)的中间空隙,让我们知道在下面的评论!


推荐阅读
author-avatar
日韩潮衣一手临终批发
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有