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

想学 PHP ,哪本书入门比较好

  •  
  •   v2defy · 183 天前 · 4007 次点击
    这是一个创建于 183 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想短平快的写个很小的网站

    56 条回复    2020-11-09 16:57:29 +08:00
    widdy
        1
    widdy   183 天前   ❤️ 1
    cmdOptionKana
        2
    cmdOptionKana   183 天前   ❤️ 2
    时代变了,以前 PHP 快是因为可以直接嵌在 html 里面搞事情,现在前端发展出来的东西已经比 php 好用,同时 php 在后端又向 java 那种大而全的方向发展…… 小网站用 Node.js, Python, Go 都蛮好的,其中 Node.js 学习成本最低。
    Mac
        3
    Mac   183 天前 via Android
    不用学,抄一个的过程中看看文档足够了
    v2defy
        4
    v2defy   183 天前 via iPhone
    @cmdOptionKana 老哥你成功说服了我
    mitu9527
        5
    mitu9527   183 天前   ❤️ 1
    @v2defy 如果打算做 Web 服务端开发且觉得 PHP 比较 Low,那就选 Go 吧,个人并不推荐 Python 和 Node 。
    IGJacklove
        6
    IGJacklove   183 天前 via Android
    50 年入日军
    v2defy
        7
    v2defy   183 天前 via iPhone
    @mitu9527 为什么呢
    xiaoriri666
        8
    xiaoriri666   183 天前
    别听他们瞎说,PHP 还是老大
    taxiaohaohhh
        9
    taxiaohaohhh   183 天前 via Android
    写网站 node 更合适
    Rhilip
        10
    Rhilip   183 天前   ❤️ 1
    我也赞同 PHP 不用学,不用框架用文件路由的话随便搞,反正自己玩玩。
    用框架的话,再看框架的文档怎么写的就好。

    但在没有任何编程基础的情况下,这并不意味着就转 Node.js, Python, Go 了,毕竟 lz 的要求是“短平快”。
    如果 lz 已经有上面三个的编程经验就还是沿着已经学过的技术栈好些。
    Varobjs
        11
    Varobjs   183 天前   ❤️ 1
    不用学,学了也找不到工作
    justfun
        12
    justfun   183 天前
    php 这么惨吗... 。求问 php 转啥好
    mitu9527
        13
    mitu9527   183 天前   ❤️ 20
    @v2defy 先声明一下,我自己是名 PHPer 。就 Web 服务端开发这块来说,Java 的综合实力无疑是最强的,超大型 Web 项目和大型 Web 项目开发,Java 绝对是首选,甚至可以说是唯一的选择,因为不但语言本身要够强,生态也要够完善。中型、小型和微型 Web 项目开发,其实 PHP 、Python 、Node 和 Go 都差不多,每个语言都说自己比别的优秀,其实都有优点和缺点。PHP 占有率高,但不够“新”;而 Python 的主要战场从来就不是 Web 服务端; Node 从 2012 年开始凭借性能想取代 PHP,结果就现在来看,性能优势已经不再,生态方面也没啥优势,最尴尬的是 Node 的原作者都想搞一个新的 Deno 来取代 Node,所以前景并没有想象中那么好,现在 Node 最大的优势其实是前后端语法一样,但这个优势真的是仁者见仁,智者见智了。Go 和当年的 Node 一样,最近几年很强势,但毕竟很新,其实招聘需求并没有那么大,生态并没有很完善,而且很多东西都在疯狂的进行淘汰,你花费的大量时间学的东西,可能很快就会被淘汰掉了。

    Java 的饱和度非常高,.Net Core 在国内很小众,PHP 很普通,Python 的主要战场不在 Web,Node 前景并没有想想中的好,Go 太“新”。如果你将来要参与大型和超大型 Web 项目,那就 Java ;但如果你刚二十出头,时间比较多,我比较建议 Go 。
    bzj
        14
    bzj   183 天前
    @mitu9527

    学 Go,看哪本书比较好
    mitu9527
        15
    mitu9527   183 天前
    @bzj 如果打算深入学习,就官方文档;如果打算入门,随便一本书都差不多,等将来你回过头再看,其实没差多少。
    agdhole
        16
    agdhole   183 天前
    13 楼说的很有道理
    garywhat
        17
    garywhat   182 天前 via Android
    同 感同身受🙃
    garywhat
        18
    garywhat   182 天前 via Android
    @mitu9527 同 感同身受🙃
    sytnishizuiai
        19
    sytnishizuiai   182 天前
    你要找工作,确实 java 更好点,但是自己随便做做私人网站,兴趣类的,php 更好点,速度快而且方便。
    jation
        20
    jation   182 天前
    lscexpress
        22
    lscexpress   182 天前   ❤️ 2
    说个题外话,一般来问学编程语言该怎么入门的,通常都入不了门。
    onion83
        23
    onion83   182 天前   ❤️ 16
    从 2 楼开始就没一个人审题的, 楼主既然都明确语言了, 并且明白了需求, 你们又跑出来说这个语言好, 那个语言牛逼干什么呢?

    以本人 10 年+的工作经历作为背书。 哥凭着这门手艺从小公司一直到 BAT 都转过一圈 , 可以给大家传达几个观点:

    - PHP 就是开发 Web 最快的语言,没有之一

    - 项目的成功和开发语言无关: 天时、地利、人和

    - 工作是否好找,薪资的高低和市场需求有关和语言无关。这里点名 Java , 用的人太多需要背太多题目, 就让他们自行内卷吧,不要羡慕他们的工资稍微高一点,头发少一点,都是加班加出来的。

    - 培训班的量产程序员,一定程度上抹黑了这门语言,不过你放心,只要有就业市场,无论 java\go\javascript\大数据\AI 全部都可以量产,以至于 HR 和面试官不得不将学历门槛提高。

    - 作为一门 "古老" 语言有社区有大量成熟框架开箱即用的产品。主流的第三方服务也会有相应的 SDK,也有诸如 Swoole/HHVM/Zephir 等 hack 作为生态补充,加上 PHP 8 的 JIT 可以说未来非常可期。

    以下是我的学习体会:

    1 、看官方文档 https://www.php.net/manual/zh 是最好的入门手册, 这是一门测试驱动的语言, 多看例子多看评论即可

    2 、非得看纸质书的话, 我是靠这本 Oreilly 《 PHP 编程入门》,网上应该能找到电子版。http://www.oreilly.com.cn/index.php?func=book&isbn=978-7-121-25312-6

    3 、找一个开源项目融入进去,以前最火的就是改 Discuz 论坛,沿着别人的代码和思路做点小玩意,找找成就感。

    4 、接下来最好找个 Jobs 看一下什么就生产环境和商业环境,顺便看看这行究竟能赚多少钱。

    5 、接下来的发展,就看个人造化了,看看 大 C 、laruence 、韩天峰如何低调前行,成为这一行的翘楚吧。

    6 、PHP 语言是用 C 写的 GNU 的生态也是 C/C ++ ,如果真的感兴趣,这里有更开阔的天地和空间。总比去鼓捣虚拟机,讨论如何优雅地垃圾回收有意思多了吧?

    dartabe
        24
    dartabe   182 天前
    小网站我咋感觉 react/vue + firebase 这种是最快的呢 求解惑
    kajweb
        25
    kajweb   182 天前
    @xiaoriri666 找不到工作了哥……
    kajweb
        26
    kajweb   182 天前
    @dartabe 表示没听过 firebase
    v2defy
        27
    v2defy   182 天前 via iPhone   ❤️ 1
    @onion83 可以,我又被说服了🤣

    那就学一学吧,不学没好处,学了没坏处,感谢老哥👍👍
    loading
        28
    loading   182 天前 via Android
    @dartabe firebase 不能访问吧,求替代。
    cmdOptionKana
        29
    cmdOptionKana   182 天前
    @onion83 可能是我审题错了吧,我认为楼主 “想短平快的写个很小的网站” 的需求大于 “想学 PHP”,php 只是工具不是楼主的最终目的。

    而如今想 “快”,明显学 Node.js 比学 php 更快,因为 js 是必学的,学 Node.js 则不需要再花时间多学一个语言。
    xingjue
        30
    xingjue   182 天前
    说句实话 php 人力成本低,开发效率高,中小公司的不二之选。node 招后端太难,golang 生态不行,要价太高,用 php 多加几台机器不香嘛
    lepig
        31
    lepig   182 天前
    不推荐 PHP 。
    原因:又多了一个和我抢饭碗的人
    buffzty
        32
    buffzty   182 天前
    别看官方文档,内容太多了.可以看 php 圣经 虽然是 08 年的书 我觉得学基础看经典就行,不必要追求新. 或者看韩顺平很多年前的视频. 然后去菜鸟教程看下 php7 更新的内容.再去官网看一下从 7.0 开始的 change log. 下载一个文档 chm 用来查函数. 用 php7.4 纯面向对象方式 只写 api 项目. 可以说和 java 写出来的代码几乎一模一样. 你学会了 php 就等于学会了 java
    dartabe
        33
    dartabe   182 天前   ❤️ 1
    @loading LeanCloud 或者 AWS Amplify?

    我不太懂后端 所以这种带数据库 登陆认证 外加 自定义函数的感觉很好用
    ruchee
        34
    ruchee   182 天前   ❤️ 4
    别听他们瞎扯,凡是吹 Python 、Go 的都是键盘侠,听他们的真有可能饿死在大街上,PHP 依然是 Web 后端需求最大、开发效率最高的语言,不论是做网站还是做 APP 的接口开发。

    书只需要两本:《 PHP 和 MySQL Web 开发(原书第 5 版)》、《深入 PHP 面向对象、模式与实践(第 5 版)》,前者拿来入门,后者搞定 OOP 。国产的书和资料少看,包括那个 ThinkPHP 框架也是,除了把你带歪,没啥价值

    最大的宝库是官方文档,可以当字典查,也可以当书看,尤其多关注每个大版本的新特性说明

    PHP 一直在不断变得更加强大、更加现代化,只有不懂的键盘侠天天以为它要挂了

    框架后面可以学学 Laravel,虽然越来越臃肿,却可以给你树立起良好的工程化思想。学腻了就去了解下 Ruby 和 Rails 吧,这才是真正的好东西,哈哈
    matatabi
        35
    matatabi   182 天前
    PHP 从入门到精通(第 5 版)
    THP301
        36
    THP301   182 天前
    官方有文档就直接看官方的,不要碰任何二道贩子
    charlie21
        37
    charlie21   182 天前
    给我 10 块,我给你写。节省你 100 小时的学习时间
    hejingyuan199
        38
    hejingyuan199   182 天前
    https://laravel-china.github.io/php-the-right-way/

    php 如果看看基本概念,这本书也还可以吧?
    PHP 之道

    看到没人推荐?
    mitu9527
        39
    mitu9527   182 天前
    @hejingyuan199 这本书可不算入门书籍,有一定经验的人看收获才比较大。
    janus77
        40
    janus77   182 天前
    根据楼主左右摇摆的态度来看,我觉得你并没有想要将其作为你的核心技能来考虑,而只是一个边缘技能(以后是不是核心不好说)。所以我建议你可以学。
    skypyb
        41
    skypyb   182 天前
    提问: PHP 和 ROR 谁开发 web 更快
    maigebaoer
        42
    maigebaoer   182 天前 via Android
    php 入门随便搞,到最后还是得回到 os 网络和代码架构
    chenyu0532
        43
    chenyu0532   182 天前
    怎么谁来提问怎么学习,都有一群人在骂这个垃圾,那个 nb,你们已经 nb 到了否认一门语言的程度了么。。还来一堆洋洋洒洒的分析,不蛋痛么
    sockball07
        44
    sockball07   182 天前
    @onion83 #23 我感觉真能啃下手册的也是挺厉害了 如果只是看官方写的倒没什么 关键就是例子和评论...总能出现更多的东西 结果就是非常非常慢...
    yekern
        45
    yekern   181 天前
    PHPer 来回答 如果你有 类 C 语言编程经验 不需要学, 找一个框架 跟着框架文档就够了 基础语法菜鸟教程 W3cshool 就够了。这样就可以满足你的需求。 如果你想要深入学 PHP 那么学的就多了 PHP+HTML+CSS+javascipt+redis+Mongodb+Sphinx+MQ+mysql(Pgsql)+nginx+slb+es+webpack+vue+react+composer 等等你会抓狂的。然后你会发现有些场景还是不能解决遇到的问题 这个时候还要去看 PHP 的源码 然后开发 C 扩展 或者配合其他语言来实现 比如 GO C++等

    PHP 作为一门编程语言是挺容易的 适合于快速开发网站 API 等 但是学完 PHP 不带表就学会了整个后端 后端知识体系涉及到东西太多了。

    一般新人不建议入坑。
    lygmqkl
        46
    lygmqkl   181 天前
    要么 PHP 要么 GO 别信那些所谓的 50 年 入国军, 编程重思维,我从 php 起步, 后面进了 DBA 侧面, 现在自学 MVVM,我并没有遇到什么门槛,语法看下,然后熟悉下每个语言的运行逻辑和特性,基本都能适应, 关键是你能否学到适合你的编程思维,仅此而已

    每个语言都差不多,相互看不起其实也没啥,在国内,最大的问题在于你去工作了,能否坚持一条路走到底走到精通这个层面上,多半是一家公司一套技术,甚至一个项目一套技术。。想开点。
    rophie123
        47
    rophie123   181 天前 via Android
    php 挺好,也挺坑
    CismonX
        48
    CismonX   181 天前
    @onion83 #23

    第 6 条说的 GNU 生态应该怎么理解?

    首先 PHP 不是一个 GNU 项目,其次 PHP License 和 GPL 不兼容。我想不到这两者之间能有什么必然关联,还请指教。
    laravel
        49
    laravel   181 天前
    《 php 从入门到放弃》、《 php 从入门到失业》
    pigzzz
        50
    pigzzz   181 天前
    50 年入国军,有被笑到,哪些吹嘘 node 的,还没饿死在找工作的路上?
    shellic
        51
    shellic   181 天前
    别瞎听别人说去搞什么 node ;后端语言的生态比什么都重要,如果你资质普通在 web 方面 java 、php 绝对比 node 、python 更靠谱,每个语言都有合适自己的场景,那些逮着一个语言可劲儿吹的不是蠢就是坏
    yutonliu
        52
    yutonliu   181 天前
    细说 PHP
    zarte
        53
    zarte   181 天前
    BV1Px411a7n9 照着抄就好了
    cmdOptionKana
        54
    cmdOptionKana   181 天前
    @pigzzz 就本贴正文来看,楼主只是想做个很小的网站,而不是想找工作。如果目的是找工作,我不推荐 node,但如果想以最快的速度做一个很小的网站,node 比 php 快。


    @shellic 做一个很小的网站,完全没有到谈生态、资质的程度,注意是一个很小的网站,用任何主流语言做都差别不大,我推荐 node 仅仅因为学习成本最低。
    cnrting
        55
    cnrting   181 天前 via iPhone
    卖课的怎么还没来
    elintwenty
        56
    elintwenty   181 天前
    有一说一,根据实际需求选择技术选型,如果想做一个短平快的网站,PHP 还是最合适的语言之一,学习成本低、社区庞大、运维方便、天然支持前后端不分离(虽然不利于拓展与长期维护,但是适用于短平快)。不过因为 PHP 的学习成本太低了,根据不需要书吧,随便写小网站直接上手就可以了。
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2349 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 14:15 · PVG 22:15 · LAX 07:15 · JFK 10:15
    ♥ Do have faith in what you're doing.