php软件工程师应具有的7种能力(转载)
php程序员应具有的7种能力(转载)
?
php程序员应具有什么样的能力,才能更好的完成工作,才会有更好的发展方向呢?在中国我想你不太可能写一辈子代码的,过了黄金期,怎么办呢?希望下面几点对你会有所帮助。
一,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的人还是最多,以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系统对自己将来的发展还是比较有好处的。
1,熟悉阶段,会装linux系统,对系统的常用命令能够熟练运用等
2,运用阶段,在linux系统下,能够安装配置apache,php,mysql,svn,memcache,squid,lvs等一些web项目必要的工具,能够通过日志分析其状态等。对shell要有所了解,并能够写一些简单的shell脚本等
七,勾通能力
这一点非常重要,并且被越来越多的人所忽视,其实做程序员挺杯具的,根电脑打交道的时间是最多,也许是因为这样吧,勾通的时候,是比较费劲的,也有可能是被程序的严谨性束缚了大脑,说出来的话,太专业,可能其他人听不懂的。所以平时多和他人交流,特别是跟非技术人员多勾通,多站在对方的角度来思想问题,这样的话,我想勾通起来会容易很多。
From : http://blog.51yip.com/php/1153.html?

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

在MySQL中,外鍵的作用是建立表與表之間的關係,確保數據的一致性和完整性。外鍵通過引用完整性檢查和級聯操作維護數據的有效性,使用時需注意性能優化和避免常見錯誤。

MySQL和MariaDB的主要區別在於性能、功能和許可證:1.MySQL由Oracle開發,MariaDB是其分支。 2.MariaDB在高負載環境中性能可能更好。 3.MariaDB提供了更多的存儲引擎和功能。 4.MySQL採用雙重許可證,MariaDB完全開源。選擇時應考慮現有基礎設施、性能需求、功能需求和許可證成本。

多次調用session_start()會導致警告信息和可能的數據覆蓋。 1)PHP會發出警告,提示session已啟動。 2)可能導致session數據意外覆蓋。 3)使用session_status()檢查session狀態,避免重複調用。

NGINX和Apache各有優劣,選擇應基於具體需求。 1.NGINX適合高並發場景,因其異步非阻塞架構。 2.Apache適用於需要復雜配置的低並發場景,因其模塊化設計。

Apache是一種開源Web服務器軟件,廣泛用於網站託管。安裝步驟:1.在Ubuntu上使用命令行安裝;2.配置文件位於/etc/apache2/apache2.conf或/etc/httpd/conf/httpd.conf。通過模塊擴展,Apache支持靜態和動態內容託管,優化性能和安全性。

ApacheHTTPServer的主要功能包括模塊化設計、虛擬主機配置和性能優化。 1.模塊化設計通過加載不同模塊實現功能,如SSL加密和URL重寫。 2.虛擬主機配置允許在一個服務器上運行多個網站。 3.性能優化通過調整參數如ServerLimit和KeepAlive提升性能。

AI可以幫助優化Composer的使用,具體方法包括:1.依賴管理優化:AI分析依賴關係,建議最佳版本組合,減少衝突。 2.自動化代碼生成:AI生成符合最佳實踐的composer.json文件。 3.代碼質量提升:AI檢測潛在問題,提供優化建議,提高代碼質量。這些方法通過機器學習和自然語言處理技術實現,幫助開發者提高效率和代碼質量。

MySQL和phpMyAdmin可以通過以下步驟進行有效管理:1.創建和刪除數據庫:在phpMyAdmin中點擊幾下即可完成。 2.管理表:可以創建表、修改結構、添加索引。 3.數據操作:支持插入、更新、刪除數據和執行SQL查詢。 4.導入導出數據:支持SQL、CSV、XML等格式。 5.優化和監控:使用OPTIMIZETABLE命令優化表,並利用查詢分析器和監控工具解決性能問題。
