php程序员应具有的7种能力小结


Posted in PHP onNovember 27, 2014

一,php能力
 
1,了解阶段,您能写一些代码,因为那是在手册和google的帮助下,您才完成的。变量乱定义,N多函数不知道,做起事来很慢,想到什么写什么,代码写的比较乱,后期维护很麻烦。
 
2,熟悉阶段,经常查函数,手册估计也看过一,二遍了,常用的函数基本上您都了解了。后 期维护给您带来了不少痛苦,您开始发现自己的代码有很多不足,开始思考如果改进自己的代码,如何站在项目的角度来规划自己的代码,而不是想到什么写什么, 知道如何来减少冗余代码,使您的代码清晰,知道什么样的代码写出来让人看着舒服,基本的代码规范,已经形成。为了提高自己,会特意的去一些技术性的论坛, 学习研究。
 
3,很熟悉阶段,本来我想写精通的,到现在我也不知道精通是到什么程度,也没有听到有人 说自己精通PHP的,所以就用很熟悉了。这个阶段,我想您已经从面向过程进入了面向对象。个人觉得面向对象的最大好处就是,能使整个项目功能化,模块化, 后期维护,改版,升级就很方便了。没有面向对象的时候,不也一样开发吗.这个时期,您已经研究过了一种或者几种框架,结合自己的实际项目经验,在脑子里已 经能形成自己的一个框架,这个框架是最适合你的。并且能够将这个框架运用到实际的开发中去,以提高自己的开发效率。
 
如果您刚写代码的时候,就有人能约束你按OOP的思想去写代码的话,那您就遇到贵人了。当不好的代码习惯养成时,在想改就不那么容易了。
 
二,数据库能力
 
用php来做项目的话,用mysql是最多的了,其次是pgsql。因为他们二个是免费的。哈哈,以mysql为例
 
1,了解阶段,知道mysql是什么,能写一些简单的sql语句,能设计简单的表,知道如何使用数据库管理工具(如:phpmyadmin)
 
2,熟悉阶段,知道如何才能写出高效率的sql语句,了解索引原理,知道如何创建索引, 会写一些储存过程,触发器等,能通过各种手段来分析,测试数据库,例如:利用mysqlslap来进行压力测试,通来explain来分析sql语句,通 过开启慢查询来分析哪些sql语句真正影响mysql的运行,能利用dbdesigner4,mysql workbench为设计数据库,能在命令状态下,查询,分析mysql环境变量,来分析mysql的运行状态等等
 
3,很熟悉阶段,对于各有种存储引擎的原理非常熟悉,知道通过修改配置文件来,使存储引 擎达到最优化,知道如何来优化数据库的最大连接数,知道怎么样来优化mysql的I/o瓶颈,为了项目的需要,向mysql数据库增加存储引擎或者插件, 知道如何搭建数据库集群,并监控数据库的运行状态等等
 
三,html,css能力

php是脚本语言,我们用php大多数情况下是用来做网站的,慨然是网站,那肯定是离不开html,css
 
1,了解阶段,知道html标签是干什么用的,通过网络和手册能自主的写一些html,知道css是怎么回事,能在html中写一些简单的style等
 
2,熟悉阶段,能利用css来能设计一些简单的布局,可以将css单独的写成文件,熟悉css的语法规则,以及继承性等
 
3,很熟悉阶段,能够设计出很好的CSS,并且管理好这些CSS文件,尽量减少冗余代码。知道如何写出有利于搜索引擎搜索的代码,例如:title,h1,h2权重比较高的。等
 
对于php程序员来说,并不一定要你去设计页面,但是给你一个页面,你要知道如何来修改CSS文件,html就不要说了肯定要掌握的。
 
四,js能力

如果提高用户体验,是一个网站能留住人的重要标志。这个就要用到JS了
 
1,了解阶段,了解JS的基本语法,知道如何去调试这些程序,能写一些简单function等
 
2,熟悉阶段,对JS的语法,函数,正则等已经熟悉了,能利用js来写一些特效,并且发 现用JS写特效,是比较累人的一件事,开始尝试jquery,prototype,并对jquery,prototype基本语法有所解,个人反对不学 JS,直接入手jquery,prototype这样的JS框架。
 
3,很熟悉阶段,在框架的帮助下,能熟练的用OOP的思想的来写代码,而不是一个个 function累加,熟练运用jquery,prototype的ajax,或者是网上一些ajax框架,如(ajaxrequest),不在直接写 active控件了。能够利用网络资源,来完成各种特效。
 
对于大型公司来说一般都是有js程序员的,小公司基本上没有,要么交给程序员来做,要么 交给美工来做。美工一般都不是程序员,也没有编程基础,所以学JS比较吃力,但是学jquery比较容易的,因为css对html进行控制的方法,和 jquery对html的控制方法基本上差不多(css,jquery的相同之处),所以有好多公司把特效交给美工来做。
 
五,apache等能力
 
个人觉得,到目录为止,跑php的话用apache的人还是最多,前段时间好多网站在吵NGINX有多么多么的好,能比apache好10倍,我觉得还是亲自尝试一下比较好。以apache为例
 
1,了解阶段,不管是linux下,还是windows下,能够安装配置apache,知道如何添加php添模,如果面试官问你,apache为什么能解释php代码,你怎么回答呢。对apache的基本配置有所了解,对于启动中遇到的问题能够解决等
 
2,熟悉阶段,知道如何向apache中添加新的模块,如果如何进行url重写,防盗链,进行IP限制等
 
3,很熟悉阶段,知道如何利用apache来缓存图片,能利用apache来做负载均衡,并且知道利用ab命令来进行压力,通过工具对日志分析,经过分析来对apache进行优化,知道如何搭建多个虚拟主机;对apahce的常用模块都有实际操作经验等
 
对apache进行监控和维护,一般是运维人员或者是项目经理来做的,个人觉得最好还是了解一点,因为这样您才不会那么容易被忽悠,对于自己将来的转型也是非常有必要的。
 
六,linux系统
 
为什么要掌握linux系统呢?用php写的网站大多数运行在linux或者 freebsd下的,掌握linux系统对自己将来的发展还是比较有好处的。借此感谢一下我的好友汪洋,是他将我带进linux世界的,进来后我才发现这 里的世界很精彩,现在我基本上不用windows了,偶尔打游戏的时候会进一下,在linux下,不用担心中毒的问题,linux下的病毒很少,也不用担 心,XX和XXX扫描你的硬盘了。哈哈
 
1,熟悉阶段,会装linux系统,对系统的常用命令能够熟练运用等
 
2,运用阶段,在linux系统下,能够安装配置apache,php,mysql,svn,memcache,squid,lvs等一些web项目必要的工具,能够通过日志分析其状态等。对shell要有所了解,并能够写一些简单的shell脚本等
 
七,勾通能力
 
这一点非常重要,并且被越来越多的人所忽视,其实做程序员挺杯具的,根电脑打交道的时间 是最多,也许是因为这样吧,勾通的时候,是比较费劲的,也有可能是被程序的严谨性束缚了大脑,说出来的话,太专业,可能其他人听不懂的。所以平时多和他人 交流,特别是根非技术人员多勾通,多站在对方的角度来思想问题,这样的话,我想勾通起来会容易很多。

PHP 相关文章推荐
mac下使用brew配置环境的步骤分享
May 23 PHP
简单的cookie计数器实现源码
Jun 07 PHP
PHP之生成GIF动画的实现方法
Jun 07 PHP
php生成EAN_13标准条形码实例
Nov 13 PHP
PHP中cookie和session的区别实例分析
Aug 28 PHP
利用PHP将部分内容用星号替换
Apr 21 PHP
PHP易混淆知识整理笔记
Sep 24 PHP
PHP加密3DES报错 Call to undefined function: mcrypt_module_open() 如何解决
Apr 17 PHP
PHP实现的服务器一致性hash分布算法示例
Aug 09 PHP
laravel中的一些简单实用功能
Nov 03 PHP
php设计模式之观察者模式定义与用法经典示例
Sep 19 PHP
php写app用的框架整理
Sep 29 PHP
分享最受欢迎的5款PHP框架
Nov 27 #PHP
PHP比你想象的好得多
Nov 27 #PHP
简单说说PHP优化那些事(经验分享)
Nov 27 #PHP
几个实用的PHP内置函数使用指南
Nov 27 #PHP
简单谈谈php中ob_flush和flush的区别
Nov 27 #PHP
浅谈php优化需要注意的地方
Nov 27 #PHP
PHP实现文件下载详解
Nov 27 #PHP
You might like
解决文件名解压后乱码的问题 将文件名进行转码的代码
2012/01/10 PHP
完美解决:Apache启动问题―(OS 10022)提供了一个无效的参数
2013/06/08 PHP
phplot生成图片类用法详解
2015/01/06 PHP
关于JavaScript的一些看法
2009/05/27 Javascript
jQuery结合Json提交数据到Webservice,并接收从Webservice返回的Json数据
2011/02/18 Javascript
ie浏览器使用js导出网页到excel并打印
2014/03/11 Javascript
jQuery+CSS3+Html5实现弹出层效果实例代码(附源码下载)
2016/05/16 Javascript
浅析上传头像示例及其注意事项
2016/12/14 Javascript
Angular2监听页面大小变化的解决方法
2017/10/09 Javascript
Vue SSR 组件加载问题
2018/05/02 Javascript
Node错误处理笔记之挖坑系列教程
2018/06/05 Javascript
JS实现select选中option触发事件操作示例
2018/07/13 Javascript
nodejs实现用户登录路由功能
2019/05/22 NodeJs
vue实现多个echarts根据屏幕大小变化而变化实例
2020/07/19 Javascript
vue3.0 加载json的方法(非ajax)
2020/10/26 Javascript
[54:02]2018DOTA2亚洲邀请赛 4.1 小组赛 B组 IG vs VGJ.T
2018/04/03 DOTA
用Python的urllib库提交WEB表单
2009/02/24 Python
Python中使用bidict模块双向字典结构的奇技淫巧
2016/07/12 Python
基于python的Tkinter编写登陆注册界面
2017/06/30 Python
python 编码规范整理
2018/05/05 Python
Pytorch抽取网络层的Feature Map(Vgg)实例
2019/08/20 Python
Python如何基于selenium实现自动登录博客园
2019/12/16 Python
咖啡为什么会有酸味?你喝到的咖啡為什麼是酸的?
2021/03/17 冲泡冲煮
Html5 语法与规则简要概述
2014/07/29 HTML / CSS
Scholastic父母商店:儿童书籍
2017/01/01 全球购物
家得宝官网:The Home Depot(全球最大的家居装饰专业零售商)
2018/12/17 全球购物
化工专业推荐信范文
2013/11/28 职场文书
自我评价优秀范文分享
2013/11/30 职场文书
公司出纳岗位职责
2013/12/07 职场文书
《歌唱二小放牛郎》教学反思
2014/04/19 职场文书
计算机实训报告总结
2014/11/05 职场文书
2015圣诞节贺卡寄语
2015/03/24 职场文书
大学学生会主席竞选稿怎么写?
2019/08/19 职场文书
在JavaScript中如何使用宏详解
2021/05/06 Javascript
Javascript之datagrid查询详解
2021/09/15 Javascript
Nginx跨域问题解析与解决
2022/08/05 Servers