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 相关文章推荐
介绍几个array库的新函数 php
Dec 29 PHP
一个自定义位数的php多用户计数器代码
Mar 11 PHP
php下图片文字混合水印与缩略图实现代码
Dec 11 PHP
php生成随机密码的三种方法小结
Sep 04 PHP
深入理解PHP原理之Session Gc的一个小概率Notice
Apr 12 PHP
解析PHP自带的进位制之间的转换函数
Jun 08 PHP
php中将数组转成字符串并保存到数据库中的函数代码
Sep 29 PHP
十个PHP高级应用技巧果断收藏
Sep 25 PHP
简单的自定义php模板引擎
Aug 26 PHP
Symfony查询方法实例小结
Jun 28 PHP
PHP多进程编程实例详解
Jul 19 PHP
PHP匿名函数(闭包函数)详解
Mar 22 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
PHP+DBM的同学录程序(5)
2006/10/09 PHP
PHP 数组教程 定义数组
2009/10/23 PHP
Laravel模板引擎Blade中section的一些标签的区别介绍
2015/02/10 PHP
php截取中文字符串函数实例
2015/02/23 PHP
纯js简单日历实现代码
2013/10/05 Javascript
js中split和replace的用法实例
2015/02/28 Javascript
继续学习javascript闭包
2015/12/03 Javascript
jQuery+formdata实现上传进度特效遇到的问题
2016/02/24 Javascript
Javascript将字符串日期格式化为yyyy-mm-dd的方法
2016/10/27 Javascript
JavaScript中全选、全不选、反选、无刷新删除、批量删除、即点即改入库(在yii框架中操作)的代码分享
2016/11/01 Javascript
Javascript 函数的四种调用模式
2016/11/05 Javascript
jQuery事件绑定方法学习总结(推荐)
2016/11/21 Javascript
微信小程序 使用腾讯地图SDK详解及实现步骤
2017/02/28 Javascript
Node.js+Express+MySql实现用户登录注册功能
2017/07/10 Javascript
vue上传图片组件编写代码
2017/07/26 Javascript
JavaScript设计模式之命令模式实例分析
2019/01/16 Javascript
微信小程序 动态修改页面数据及参数传递过程详解
2019/09/27 Javascript
python连接池实现示例程序
2013/11/26 Python
wxPython定时器wx.Timer简单应用实例
2015/06/03 Python
python学习教程之Numpy和Pandas的使用
2017/09/11 Python
Python进度条实时显示处理进度的示例代码
2018/01/30 Python
Python使用selenium实现网页用户名 密码 验证码自动登录功能
2018/05/16 Python
Python常见数字运算操作实例小结
2019/03/22 Python
opencv3/C++实现视频背景去除建模(BSM)
2019/12/11 Python
Anaconda3中的Jupyter notebook添加目录插件的实现
2020/05/18 Python
Python OpenCV实现测量图片物体宽度
2020/05/27 Python
ZWILLING双立人法国网上商店:德国刀具锅具厨具品牌
2019/08/28 全球购物
乌克兰最大的家用电器和电子产品连锁店:Eldorado
2019/10/02 全球购物
Lancer Skincare官方网站:抗衰老皮肤护理
2020/11/20 全球购物
电气自动化自荐信
2013/10/10 职场文书
结婚邀请函范文
2014/01/14 职场文书
致铅球运动员加油稿
2014/02/13 职场文书
学生会主席演讲稿
2014/04/25 职场文书
授权委托书公证
2014/09/14 职场文书
苏州园林导游词
2015/02/03 职场文书
小学课改工作总结
2015/08/13 职场文书