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

PHP 进阶

  •  
  •   oamzn · 2016-05-12 15:25:17 +08:00 · 4132 次点击
    这是一个创建于 3125 天前的主题,其中的信息可能已经有所发展或是发生改变。
    请教 PHP 入坑 4 年后的发展路子;
    突然发现找不到发展方向,不知道重点在哪儿。想在 php 上面有新的突破,那么应该在哪个方面多学习。
    18 条回复    2016-07-24 17:13:00 +08:00
    fondy8888
        1
    fondy8888  
       2016-05-12 15:32:31 +08:00
    想必你已经用了很多个框架,肯定没有一个框架是完美的。那么,按照自己想要的,自己写个框架出来
    mirrosite
        2
    mirrosite  
       2016-05-12 15:34:49 +08:00
    写一本<php 从入门到放弃>
    hardway
        3
    hardway  
       2016-05-12 15:42:03 +08:00
    我是个厨子,擅长电饭煲烧菜,想知道用更高级的进口纳米涂层压力锅值不值得入

    PHP 只是个工具啦,不用刻意盯着工具的突破,不如多想想要做出什么样的产品给别人用。
    就像厨子应该研究更好吃的菜式,而不是过于纠结在锅子铲子上面,除非你定位就是个锅匠

    PS, 我们招聘 PHP 开发: https://segmentfault.com/o/sign4x
    mahone3297
        4
    mahone3297  
       2016-05-12 15:42:18 +08:00
    在哪里?要不要来我司?杭州。
    Felldeadbird
        5
    Felldeadbird  
       2016-05-12 15:59:53 +08:00
    @hardway 这个说法好。是做厨子,还是做工匠(深入底层)?
    Moker
        6
    Moker  
       2016-05-12 16:38:02 +08:00
    @Felldeadbird 他说的工匠应该是做出一个好的产品来,比如自己写一套框架之类
    peter999
        7
    peter999  
       2016-05-12 16:44:47 +08:00
    没打怪是升不了级的
    chenghonghao
        8
    chenghonghao  
       2016-05-12 17:17:12 +08:00
    深圳市保利物业管理集团招聘 php2 名,工作地点:深圳市南山科技园
    岗位要求:
    1 、计算机或相关专业,本科及以上学历, 3 年以上研发相关开发经验, 1 年以上手机 APP 接口开发经验;
    2 、专业经验要求:
    1 )精通 PHP 程序开发,熟悉面向对象编程,有 PHP 框架如 ThinkPHP 、 YII 、 CI 等使用经验;
    2 )精通 mysql 、 nosql 数据库,精通数据库优化,并具备优秀的数据库设计能力;
    3 )熟悉 memcached 、 redis 等缓存技术,对大并发量下的数据缓存、系统优化有着自己的理解;
    4 )熟悉 Ajax 、 JSON 、 JQuery 、 Smarty 、 Javascript 、 CSS3 等技术;
    5 )熟悉 LNMP 架构,对 web server 调优有实操经验者优先,有运维经验者优先;
    6 )熟悉 TCP/IP 、 HTTP 协议者,,有大访问量系统开发或数据库优化经验,了解至少一个大型互联网产品的架构设计,架构设计经验优先 ;
    3 、拥有良好的代码习惯,要求结构清晰,命名规范,逻辑性强,复用率高,代码冗余率低。
    4 、逻辑思维能力强,责任心强,工作积极主动,具备强烈的进取心和良好的团队合作精神,有较强的沟通及协调能力,有独立解决问题能力。
    Sunyanzi
        9
    Sunyanzi  
       2016-05-12 17:35:04 +08:00   ❤️ 3
    自卖自夸 MKII ... /t/148063#reply25 ... 如果只是说 php 进阶的话 ... 这个链接就足够了 ...

    但我很在意一件事是在顶楼除了四年经验之外其他什么技术细节都没有 ... 所以我很好奇这四年来你都干了啥 ..?

    逐行完整读过任何一个框架的源代码了没 ..? 思考过为什么这么写了没 ..? 自己写过框架了没 ..? 写过扩展了没 ..?

    如果都没有 ... 大概你根本就没入行 php ... 你只是会用某个框架而已 ... 满足于实现 ... 知其然而不知其所以然 ...

    就好像有些前端号称自己懂 JavaScript 但没有 jQuery 连最基础的选择器都写不出一样 ...

    当然你可以安慰自己「反正有 jQuery 」「大家都用 jQuery 」「只要会 jQuery 就好了」 ... 可这样真的好了吗 ...

    一直机械的重复同样的事情无非只能增加熟练度而已 ... 不去钻研和思考是不能获得境界的提升的 ...

    当然这个提升不是必要的 ... 关键你自己觉得合适就好 ... 只是四年时间说短也不短了 ... 一直这样不无聊吗 ...
    wdlth
        10
    wdlth  
       2016-05-12 17:53:38 +08:00   ❤️ 1
    发展方向?你有用 PHP 7 么?代码中用了新特性么?有写 Hack 么?现在用的东西可能下一个版本就被废弃了……
    narrowei
        11
    narrowei  
       2016-05-12 18:12:40 +08:00
    用 php 玩玩数据挖掘,绝对是一番新天地。
    cxbig
        12
    cxbig  
       2016-05-12 20:23:32 +08:00
    先问问自己, PHP 已经熟练到什么样的程度了
    单讲后端部分,能不能独立的根据某个需求熟练的搭建出一个完整的平台,包括和其他组件的衔接
    能做到上面这一步,就可以开始选择方向了:
    - 走纯技术路子可以考虑下 php 源代码,或者做漏洞发掘
    - 走商业路子可以找喜欢的生意种类,把 php 作为一个辅助工具帮助你做生意
    kideny
        13
    kideny  
       2016-05-13 13:19:03 +08:00
    动静结合,再学一门静态类型的编程语言。
    或者 swift
    lecher
        14
    lecher  
       2016-05-13 13:46:51 +08:00
    我最近在思考的,因为想要试着总结一个快速理解其它语言做 web 开发的思路,整理了一下做 web 开发可能会涉及到几个模块的东西。
    如果这些功能都可以自己用代码实现一遍,应该就可以完成一个简单的 web 框架了。退而求其次就是能够看懂实现这些功能的代码,那也应该可以改一个 web 框架了,再次一点就是能够看懂这些功能的接口文档,那也足够用一个 web 框架开发了。

    route
    路由 url 到对应类或文件的机制
    global
    全局变量,用于保存运行中必须的公共参数,例如数据库连接参数和状态,各种 web 系统配置参数
    evernt driver
    事件驱动模型,用于根据请求处理的状态调度任务。常见于非阻塞 web 框架。
    hook
    处理请求生命周期的过程自动调用的唤醒处理函数,例如请求处理前、请求完成后
    signal
    通知消息,用于在处理某个业务的时候发出消息和参数,由接收方决定如何处理消息。
    import/call
    引入通用函数,或调用某个子类函数
    session/cookie
    用于缓存用户态数据,做客户端数据隔离和权限审查。 session 可选择内存数据库或文件形式读写, cookie 需要了解 set_cookie/get_cookie 的操作和 http 编码
    header
    http 请求处理的协议头,读写 header 字段,可能会用来传递公共参数, restfull 的 web 服务会用到。
    upload/file
    接收用户上传文件,需要处理文件类型,保存文件路径等内存数据与文件系统的交互
    get/post/put/delete
    http 几种请求形式,接收不同请求形式的参数和数据。
    template
    渲染返回页面模板,用于将不同参数渲染到模板中返回给浏览器
    parse
    解析各种正则匹配规则,用于提取数据
    message queue
    消息队列机制,用于处理系统内异步处理的业务消息通知,需要完成收发消息、存储、调用指定函数功能,基于 signal 、 import/call 完成的功能
    extent
    扩展,安装其它扩展功能或者其它应用的协议扩展。
    connect to other server
    连接其它服务,例如借助 extent 扩展协议支持,连接 mysql 、 memcache 、 mongodb 、 redis 等独立应用开放的服务。
    task pool
    任务进程管理池,用于创建连接池便于加强与外部请求的通信效率,常见有数据库连接池,或者配合 message queue 实现的任务管理池。
    httpclient/TCPClient/UDPClient
    发送 http 请求所需功能,通常集成 curl 向外部 http 服务发送请求的处理,或者通过其它扩展与其它服务器进行 tcp/udp 协议的通信。
    convert image
    用于解析或生成图片数据。常用于生成验证码、打水印等基础图片处理功能。
    ango
        15
    ango  
       2016-05-13 13:54:51 +08:00
    把技能点都点亮吧
    ango
        16
    ango  
       2016-05-13 13:55:07 +08:00
    @ango 把技能树都点亮吧
    jon
        17
    jon  
       2016-05-17 09:03:34 +08:00
    @lecher 非常好的参考啊!
    mingyun
        18
    mingyun  
       2016-07-24 17:13:00 +08:00
    @lecher 说得好
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2840 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 12:04 · PVG 20:04 · LAX 04:04 · JFK 07:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.