V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cvmax
V2EX  ›  PHP

作为一名合格的 PHP 工程师,需要点亮哪些技能树?

  •  
  •   cvmax · 2015-04-30 15:17:59 +08:00 · 8081 次点击
    这是一个创建于 3497 天前的主题,其中的信息可能已经有所发展或是发生改变。

    本职:编辑。爱好:写代码。
    以前都是找开源程序,乱改,满足需求就行。
    后来痛定思痛,系统深入学习一下,因为接触PHP较多,就入了PHP。
    目前混编水平,正努力学习MVC,类与对象等。
    比较迷茫。好像需要学的东西太多了。
    那么,成为一名合格的PHP工程师,需要点亮哪些技能树?
    当然啦,核心肯定是信念:PHP是最好的语言,没有之一。 这个我相信的。
    谢谢大家,给点意见。

    32 条回复    2015-11-02 12:43:52 +08:00
    Sunyanzi
        1
    Sunyanzi  
       2015-04-30 15:29:43 +08:00   ❤️ 1
    我来自卖自夸啦 ... /t/148063#reply25 ...
    cvmax
        2
    cvmax  
    OP
       2015-04-30 15:35:45 +08:00
    @Sunyanzi 厉害。按你说的这个,我是可以出去混饭吃了。 不过我自己不太愿意,哈哈,写的代码太烂,自己看不下去。
    技能树是不是应该这样,都熟悉,但是有一块是偏重的,作为主要的发展/职业方向 ?
    laoyuan
        3
    laoyuan  
       2015-04-30 15:42:10 +08:00
    《PHP 之道》 /t/185957
    raincious
        4
    raincious  
       2015-04-30 15:43:48 +08:00
    @Sunyanzi

    这答案已经全了,唯一能补充的就是熟练拼写 serialize 和 unserialize ……
    csensix
        5
    csensix  
       2015-04-30 15:47:24 +08:00   ❤️ 1
    我得经验是,掌握一些能够应付日常开发的技能,再根据实际工作业务需求慢慢接触更深层的功能,或者不能说更深,而是更广泛的知识。当然 MVC 很流行,可以规范我们的开发。但是,有时候 MVC 框架也是限制自己最大限度发挥的枷锁。

    这是一个仁者见仁智者见智的问题了。
    raincious
        6
    raincious  
       2015-04-30 15:49:04 +08:00   ❤️ 1
    PHP这玩意极其简单的,入门很快。而MVC这套也不难,只是把现有的项目按照功能分为三块。所以找个小框架比如Slim练练很快就能掌握。

    其他方面就是PHP的各种语法和用法,以及各种坑了。这个就在平时实践的时候多做测试,慢慢也能补全/绕过。
    cvmax
        7
    cvmax  
    OP
       2015-04-30 15:58:36 +08:00
    @csensix 我现在可以做点小东西。做过一个小型选修课系统,还做一个微信的第三方网页投票功能。
    现在准备重复造轮子,自己写一个简单的CMS。

    在做这个选修课系统和投票功能的过程中,我就感觉到现在的混编实在不行啊,扩展、后期维护,基本不可能。过段时间去修改功能,自己都转晕了。所以才开始了解MVC
    cvmax
        8
    cvmax  
    OP
       2015-04-30 15:59:37 +08:00
    @raincious 恩。入门的确很快。第一个混编作品,看了一遍简单的w3c教程就开始做了。现在慢慢补全各种坑吧...
    csensix
        9
    csensix  
       2015-04-30 16:04:17 +08:00   ❤️ 1
    @cvmax 虽然我觉得很多框架用起来有很多限制(个人不太喜欢用框架),但是它们的一些思想还是可以借鉴的,比如 数据与页面分离。我的做法是找到一些用起来顺手的模块,或者说类库,平时就用合适的类库完成特定的任务。比如模板我用Smarty,数据库用ezSQL。
    tini19
        10
    tini19  
       2015-04-30 16:04:59 +08:00   ❤️ 1
    1、随时被打断的技能
    2、2天之内赶出来一个企业站的技巧
    3、同事间用QQ传php文件进行合作开发的技巧
    4、bug fix的时候通讯靠吼的技巧
    cvmax
        11
    cvmax  
    OP
       2015-04-30 16:18:43 +08:00
    @csensix 谢谢。 好多还不懂。学习任务相当重
    ibolee
        12
    ibolee  
       2015-04-30 17:02:17 +08:00 via Android
    边学边做。
    darkbluever
        13
    darkbluever  
       2015-04-30 17:11:02 +08:00
    个人认为一个优秀的PHP工程师的知识结构应该大致覆盖下面几点:
    前端。至少了解HTML、CSS、JS,这些是web前端的基础。一般会有专门的前端工程师负责,但是PHP工程师如果有大致的了解会更方便交流与合作。
    PHP。PHP基础语法,常用扩展。PHP内核,PHP扩展开发。
    数据库。MySQL查询性能优化,索引的选择和优化,复制(主从,主主等不同拓扑),伸缩性与高可用性(MySQL集群,数据分区,分表,负载均衡),备份恢复与容灾等。
    服务器。Nginx与Apache的基本配置与优化。Linux系统日常使用。
    WEB系统体系结构。web系统拓扑,服务器并发处理,负载均衡,缓存设计,数据分发与同步,分布式缓存,分布式存储,性能监控等。了解主流浏览器的特性(安全策略,缓存,工作原理等)。
    WEB安全。xss,csrf,sql注入,认证与会话管理 ,加密解密等。
    基础理论知识。计算机体系结构,计算机系统原理,计算机网络,数据结构与算法,设计模式。
    对技术的热情。关注开源项目。关注新技术。keep walking。

    最好了解一门编译型语言,了解操作系统系统,不要局限自己,一条腿也许能站住,但走不远。
    最后,理论知识一定要认真学习,好的基础能让你走的更远。
    共勉。
    darkbluever
        14
    darkbluever  
       2015-04-30 17:11:43 +08:00   ❤️ 1
    个人认为一个优秀的PHP工程师的知识结构应该大致覆盖下面几点:

    前端。至少了解HTML、CSS、JS,这些是web前端的基础。一般会有专门的前端工程师负责,但是PHP工程师如果有大致的了解会更方便交流与合作。

    PHP。PHP基础语法,常用扩展。PHP内核,PHP扩展开发。

    数据库。MySQL查询性能优化,索引的选择和优化,复制(主从,主主等不同拓扑),伸缩性与高可用性(MySQL集群,数据分区,分表,负载均衡),备份恢复与容灾等。

    服务器。Nginx与Apache的基本配置与优化。Linux系统日常使用。

    WEB系统体系结构。web系统拓扑,服务器并发处理,负载均衡,缓存设计,数据分发与同步,分布式缓存,分布式存储,性能监控等。了解主流浏览器的特性(安全策略,缓存,工作原理等)。

    WEB安全。xss,csrf,sql注入,认证与会话管理 ,加密解密等。

    基础理论知识。计算机体系结构,计算机系统原理,计算机网络,数据结构与算法,设计模式。

    对技术的热情。关注开源项目。关注新技术。keep walking。



    最好了解一门编译型语言,了解操作系统系统,不要局限自己,一条腿也许能站住,但走不远。
    最后,理论知识一定要认真学习,好的基础能让你走的更远。
    共勉。
    darkbluever
        15
    darkbluever  
       2015-04-30 17:12:20 +08:00
    重排版了才发现之前的不能删……
    knightlhs
        16
    knightlhs  
       2015-04-30 17:13:17 +08:00
    @darkbluever 不能删是 V2EX 的特色
    jarlyyn
        17
    jarlyyn  
       2015-04-30 17:14:15 +08:00
    学点其他语言开发web,体会php为你做了什么。
    darkbluever
        19
    darkbluever  
       2015-04-30 17:31:49 +08:00
    @knightlhs 好吧,就像直面人生的骑砍
    jookr
        20
    jookr  
       2015-04-30 18:09:46 +08:00   ❤️ 1
    可以参考我这贴 从拉钩网采集的 3290 份 php 程序员招聘信息统计出的技能关键词排行榜
    https://www.v2ex.com/t/175821#reply28
    neilwong
        21
    neilwong  
       2015-04-30 20:16:17 +08:00 via iPhone   ❤️ 1
    单纯php这门语言的话,太容易见底了。等到深度差不多,广度带来的提升才是最大的,单纯php工程师的话,前端老三样:js,css,html。后端老三样:nginx,mysql,php。这六样系统学一遍就能算php工程师了。延伸出来的正则,node,linux,shell,ps,react native,git等等,按会用再精的原则来。楼主加油
    haiyang416
        22
    haiyang416  
       2015-04-30 20:23:39 +08:00 via Android
    我的感悟是一定要点亮 "c " 技能,越高越好。
    imn1
        23
    imn1  
       2015-04-30 20:28:40 +08:00
    先搞清楚请假条怎么写~
    wdlth
        25
    wdlth  
       2015-05-01 14:53:43 +08:00   ❤️ 1
    你得知道PHP各版本之前的区别,特别是新版本中被废弃的部分。
    cvmax
        26
    cvmax  
    OP
       2015-05-05 15:33:56 +08:00
    @Sunyanzi 大神,这段时间实在搞不懂MVC...就是无法把自己以前的小项目改造成MVC模式。 有什么好的办法学习MVC么 相关书籍也可以
    Sunyanzi
        27
    Sunyanzi  
       2015-05-05 18:33:37 +08:00   ❤️ 1
    @cvmax 一个传统的 MVC 模型大概只要不到五十行代码 ...

    最后出来的 URL 类似 /index.php?controller=foo&action=bar&custom=baz 这样 ...

    于是 ... 所谓的搞不懂 MVC 或者说无法改造 ... 你觉得难点何在或者为什么无法改造 ..?
    cvmax
        28
    cvmax  
    OP
       2015-05-06 10:26:01 +08:00
    @Sunyanzi 就是有点晕,说不上来。。。我直接试着写一下。
    cvmax
        29
    cvmax  
    OP
       2015-05-06 12:06:36 +08:00
    @Sunyanzi 我能不能理解为: 1、把有变化的地方封装起来,传参数进去处理。后期修改方便。2、通过 URL 传过来的参数,C 处理,分发给对应的 M,M 处理完数据,再丢给 C 处理,分发给对应的 V 显示?
    zehuicn
        30
    zehuicn  
       2015-05-11 11:59:22 +08:00   ❤️ 1
    跟楼主一样,我虽然很多年前就开始玩网站,到现在也有很多网站,都是用开源的,比如Discuz、wordpress。。。HTML代码略知一二,PHP不太懂。。。今年春节节后开始也是痛定思痛,正儿八经地自学起来了,从HTML、CSS、PHP、MYSQL、MVC、框架/类、bootstrap、smarty等等,还没学完,现在自己可以做些模板、简单的PHP CMS。要学的东西好多,我现在是哪里不会学哪里,然后自己弄个小项目不断用新学的知识完善。
    最近睡觉做梦都在写代码了。。。
    cvmax
        31
    cvmax  
    OP
       2015-05-11 14:32:16 +08:00
    @zehuicn 加个好友呗~ 最近好迷茫。。。
    ljmready
        32
    ljmready  
       2015-11-02 12:43:52 +08:00
    @Sunyanzi V 站第一个特别关注。。害羞。。
    挖坟会不会被管理员揍
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5603 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 07:40 · PVG 15:40 · LAX 23:40 · JFK 02:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.