搜尋
首頁後端開發php教程一名合格的PHP工程师的知识结构是怎样的?

回复内容:

1.掌握语言本身的语法,熟悉常用类库是必须的;
2.面向对象最为当今的主流也是必须掌握的;
3.常用设计模式必须掌握,设计模式是前辈的总结、经验;
4.php常与数据库配合使用,而且首先为mysql,所以mysql必须熟悉;
5.php是做为一种web开发语言而流行的,所以浏览器中的javascript必须会,虽然现在很多公司有专业的javascript工程师,但是php程序员js也是必须掌握的;
6.html/css必须会,不要求你会切会div+css,但是至少要知道,因为php是一种嵌入html中使用的语言(当然php也可以用于桌面等其他,但是和web(html)结合才是它流行的原因);
7.linux不需要会,会的话肯定更好,一般公司都有专门服务器管理人员的。但是你要会在vi下进行编程,这时候就不像在ide下那么好了,你应该尽量熟悉类库。

其实以上的7点都很针对于web开发,需要掌握的知识,其实是和语言本身没什么关系的,应该说和做的项目有很大的关系,就假如要你用php写一个web操作系统,这样操作系统的设计思想你是要知道的吧。语言只是一个工具,大学4年的课程,也就是知识结构了,与语言没什么关系。 作为做了几年php开发的程序员我说下个人的看法:

1 如果是程序员的话,不管你是ruby、python、java、.net、c、c++,还是php,你可能都需要学习这些语言的基本知识,这个语言的函数库,或者是类库,那是越熟悉越好
2 对于web应用开发的程序员,你肯定要熟悉数据库和sql编程,那肯定是越熟悉越好,而且对于javascript和css也是如此,越熟悉越好
3 对于数据库和服务器的配置,这不应该是你需要花很多精力的地方,因为这是运维人员的工作,如果某个公司对这个有要求,那他们估计就没有运维人员,这些东西很繁琐,而且需要实践,所以建议不要花太多的实践在这上面,了解就可以
4 对于设计模式也是了解为主,你可能会用到设计模式的地方很少,而且如果你真正对编程有感觉了,一段时间的实践之后你自然知道怎么用,哪些总是喜欢把设计模式、编程思想挂在嘴边的基本都是没毕业的
5 如果可以的话,我建议使用linux系统,学习Vim,并且学习apache,php,mysql的编译,不过如果你坚持用linux系统的话,那你肯定会试着自己编译这些东西的
6 多看php手册,学好英文,有什么问题首先看手册
7 学习敏捷开发,学习使用PHPUnit、SimpleTest这些工具写单元测试,并且在实际的项目中使用
8 如果要深入点的话,学习PHP扩展的开发,也许你可能不会开发扩展,但如果你了解了如果开发一个扩展,你就会知道PHP并不是想很多说的那么简单
9 学习并使用PHP的框架,如果你用了某个框架1-2年,那就试着去看下它的源代码,并试着理解那些代码,如果可以的话试着自己开发一个框架
10 所有程序语言都说用来解决具体的问题的,语言很重要,学好用好一门语言并不是一天两天的事,不要相信哪些给你兜售编程思想的人,思想是在实践中积累的,而不是看了书学了别人的思想就会了,然后就什么都可以写了
11 学习算法,锻炼思维 其实phper也是分前端和后端的,面向前端PHPer需要掌握的知识
  1. div+css这个不一定要去精通,但是要熟悉和掌握
  2. js这个也是要掌握的,尤其是jquery框架,目前很主流,一些页面特效或者与PHP交互的ajax效果经常要使用到
  3. php这个语法基础和类库要熟练掌握,php手册可以经常翻阅一下,php模板引擎,php框架都是需要。
  4. php对mysql的常见操作和优化也是必须的
面向后端的PHPer:
  1. lamp环境自己要会配置,一些websever配置要懂得,常用的linux命令和一些简单的shell脚本要回写
  2. 不仅要理解mysql的工作原理,一些基于mysql源码级的优化也需要掌握了
  3. java或c的语言基础可能也需要一些,php并不能解决所有问题,当phphold不住的时候可以考虑在websever上做一些必要模块开发,或者利用os资源,例如GD类库处理图像性能并不一定很好,完全可以使用 ImageMagick来尝试一下
  4. php源码和mysql源码都是有必须要研究的

1)、对计算机的理论需要有基本的了解, 对数据结构知识要熟练掌握。理解各种数据结构的特征,应用场景。能够和具体的工作联系起来。

2)、熟练掌握PHP语法,熟悉常用类库,对字符串库、正则库必须熟练掌握。

3)、理解、掌握常用设计模式,最好能研读一些通用的框架源码。

4)、对前端和后端知识都需要了解。掌握前端div+css+js,尤其是jquery框架。

5)、掌握php对mysql,memcache的常见操作和优化。

6)、熟悉常用的linux命令,能够写一些简单的shell脚本。


来自:Avazu Holding刘冉冉

blog.goody365.com/lamp/ 我按照重要性列举一下:
1.设计思想:编程语言没有好坏之分,重要的是你的思想 (小孩和成人手里拿笔画出的东西肯定不同,对画出的画解释也不同)。思想的知识构成:
1> 数据结构、设计模式等( 其实每种数据结构和设计模式就是种设计思想 )
2>《java编程思想》,也可以对比一下yii、ci、zend框架各自的优点和缺点,吸取设计思想
3> 每种设计思想里面操作的对象可能是一种数据结构、memcache的key、数据库db/table/field、div、ip、idc等等
2.筛选工具:带着思想去筛选工具。
1>你需要php提供一个函数去检测单态模式,就需要自己学习c写个扩展
2>你需要用php查询数据库就学习mysql和pdo相关
3>你需要在页面调试php又觉得输出出来的数据格式不好看,就去学习html+css+div
4>memcache、nginx、apache同理 个人自从学习了rails之后,对php的应用水平大幅提升 1 http协议
2 缓存 与数据库
3 php内存分配原理
4 scoket编程
5 服务器配置与服务器管理。
6 算法与数据结构
7 sql 性能分析与优化
8 系统容灾、高负载设计
  1. PHP语言
  2. HTTP协议
  3. HTML
  4. SQL(MySQL)
  5. 服务器(Apache/Nginx)
  6. 缓存(Redis,Memcache)
  7. 测试工具(ab,...)
招聘网站的招聘要求。
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
PHP記錄:PHP日誌分析的最佳實踐PHP記錄:PHP日誌分析的最佳實踐Mar 10, 2025 pm 02:32 PM

PHP日誌記錄對於監視和調試Web應用程序以及捕獲關鍵事件,錯誤和運行時行為至關重要。它為系統性能提供了寶貴的見解,有助於識別問題並支持更快的故障排除

在Laravel中使用Flash會話數據在Laravel中使用Flash會話數據Mar 12, 2025 pm 05:08 PM

Laravel使用其直觀的閃存方法簡化了處理臨時會話數據。這非常適合在您的應用程序中顯示簡短的消息,警報或通知。 默認情況下,數據僅針對後續請求: $請求 -

php中的捲曲:如何在REST API中使用PHP捲曲擴展php中的捲曲:如何在REST API中使用PHP捲曲擴展Mar 14, 2025 am 11:42 AM

PHP客戶端URL(curl)擴展是開發人員的強大工具,可以與遠程服務器和REST API無縫交互。通過利用Libcurl(備受尊敬的多協議文件傳輸庫),PHP curl促進了有效的執行

簡化的HTTP響應在Laravel測試中模擬了簡化的HTTP響應在Laravel測試中模擬了Mar 12, 2025 pm 05:09 PM

Laravel 提供简洁的 HTTP 响应模拟语法,简化了 HTTP 交互测试。这种方法显著减少了代码冗余,同时使您的测试模拟更直观。 基本实现提供了多种响应类型快捷方式: use Illuminate\Support\Facades\Http; Http::fake([ 'google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

在Codecanyon上的12個最佳PHP聊天腳本在Codecanyon上的12個最佳PHP聊天腳本Mar 13, 2025 pm 12:08 PM

您是否想為客戶最緊迫的問題提供實時的即時解決方案? 實時聊天使您可以與客戶進行實時對話,並立即解決他們的問題。它允許您為您的自定義提供更快的服務

解釋PHP中晚期靜態結合的概念。解釋PHP中晚期靜態結合的概念。Mar 21, 2025 pm 01:33 PM

文章討論了PHP 5.3中介紹的PHP中的晚期靜態結合(LSB),允許靜態方法的運行時間分辨率調用以更靈活的繼承。 LSB的實用應用和潛在的觸摸

自定義/擴展框架:如何添加自定義功能。自定義/擴展框架:如何添加自定義功能。Mar 28, 2025 pm 05:12 PM

本文討論了將自定義功能添加到框架上,專注於理解體系結構,識別擴展點以及集成和調試的最佳實踐。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境