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 相关文章推荐
WordPress判断用户是否登录的代码
Mar 17 PHP
php 的加密函数 md5,crypt,base64_encode 等使用介绍
Apr 09 PHP
ThinkPHP中url隐藏入口文件后接收alipay传值的方法
Dec 09 PHP
php删除指定目录的方法
Apr 03 PHP
基于php实现七牛抓取远程图片
Dec 01 PHP
在php7中MongoDB实现模糊查询的方法详解
May 03 PHP
PHP实现的登录页面信息提示功能示例
Jul 24 PHP
PHP实现打包下载文件的方法示例
Oct 07 PHP
PHP接口继承及接口多继承原理与实现方法详解
Oct 18 PHP
PHP实现QQ登录的开原理和实现过程
Feb 04 PHP
Laravel 实现数据软删除功能
Aug 21 PHP
Yii 框架控制器创建使用及控制器响应操作示例
Oct 14 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
让你的WINDOWS同时支持MYSQL4,MYSQL4.1,MYSQL5X
2006/12/06 PHP
PHP禁止个别IP访问网站
2013/10/30 PHP
WebGame《逆转裁判》完整版 代码下载(1月24日更新)
2007/01/29 Javascript
JavaScript isArray()函数判断对象类型的种种方法
2010/10/11 Javascript
Js基础学习资料
2010/11/23 Javascript
js中的scroll和offset 使用比较的实例与分析
2013/09/29 Javascript
Bootstrap栅格系统学习笔记
2016/11/25 Javascript
canvas实现图像布局填充功能
2017/02/06 Javascript
AngularJS中ng-class用法实例分析
2017/07/06 Javascript
Vue.js在数组中插入重复数据的实现代码
2017/11/17 Javascript
AngularJS中ng-options实现下拉列表的数据绑定方法
2018/08/13 Javascript
用Cordova打包Vue项目的方法步骤
2019/02/02 Javascript
详解微信小程序文件下载--视频和图片
2019/04/24 Javascript
[57:29]Alliance vs KG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/17 DOTA
[59:15]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第一场 11.20
2020/11/20 DOTA
Python实现提取谷歌音乐搜索结果的方法
2015/07/10 Python
Python3实现抓取javascript动态生成的html网页功能示例
2017/08/22 Python
启动targetcli时遇到错误解决办法
2017/10/26 Python
Django中间件工作流程及写法实例代码
2018/02/06 Python
python使用锁访问共享变量实例解析
2018/02/08 Python
python 字典中文key处理,读取,比较方法
2018/07/06 Python
python发送告警邮件脚本
2018/09/17 Python
详解Python字符串切片
2019/05/20 Python
Python GUI库PyQt5图形和特效样式QSS介绍
2020/02/25 Python
深入浅析Python代码规范性检测
2020/07/31 Python
Django用内置方法实现简单搜索功能的方法
2020/12/18 Python
Django中的DateTimeField和DateField实现
2021/02/24 Python
HTML5和CSS3实例教程总结(推荐)
2016/07/18 HTML / CSS
意大利折扣和优惠券网站:Groupalia
2019/10/09 全球购物
Servlet的生命周期
2013/08/25 面试题
大学生怎样进行自我评价
2013/12/07 职场文书
办公室秘书岗位职责范本
2014/02/11 职场文书
中班开学寄语
2014/04/04 职场文书
财务经理岗位职责范本
2015/04/08 职场文书
MySQL一些常用高级SQL语句
2021/07/03 MySQL
Java 实现限流器处理Rest接口请求详解流程
2021/11/02 Java/Android