作为一名合格的 PHP 工程师,需要点亮哪些技能树? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cvmax
V2EX    PHP

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

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

    本职:编辑。爱好:写代码。
    以前都是找开源程序,乱改,满足需求就行。
    后来痛定思痛,系统深入学习一下,因为接触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 程序员招聘信息统计出的技能关键词排行榜
    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     Solana     1229 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 23:50 PVG 07:50 LAX 16:50 JFK 19:50
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86