想学 PHP ,哪本书入门比较好 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
v2defy
V2EX    程序员

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

  •  
  •   v2defy 2020 年 11 月 7 日 6950 次点击
    这是一个创建于 1907 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    但在没有任何编程基础的情况下,这并不意味着就转 Node.js, Python, Go 了,毕竟 lz 的要求是“短平快”。
    如果 lz 已经有上面三个的编程经验就还是沿着已经学过的技术栈好些。
    Varobjs
        11
    Varobjs  
       2020 年 11 月 7 日   1
    不用学,学了也找不到工作
    justfun
        12
    justfun  
       2020 年 11 月 7 日
    php 这么惨吗... 。求问 php 转啥好
    mitu9527
        13
    mitu9527  
       2020 年 11 月 7 日   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 。
    td width="48" valign="top" align="center">bzj
        14
    bzj  
       2020 年 11 月 7 日
    @mitu9527

    学 Go,看哪本书比较好
    mitu9527
        15
    mitu9527  
       2020 年 11 月 7 日
    @bzj 如果打算深入学习,就官方文档;如果打算入门,随便一本书都差不多,等将来你回过头再看,其实没差多少。
    agdhole
        16
    agdhole  
       2020 年 11 月 7 日
    13 楼说的很有道理
    garywhat
        17
    garywhat  
       2020 年 11 月 7 日 via Android
    同 感同身受
    garywhat
        18
    garywhat  
       2020 年 11 月 7 日 via Android
    @mitu9527 同 感同身受
    sytnishizuiai
        19
    sytnishizuiai  
       2020 年 11 月 7 日
    你要找工作,确实 java 更好点,但是自己随便做做私人网站,兴趣类的,php 更好点,速度快而且方便。
    jation
        20
    jation  
       2020 年 11 月 7 日
    ganymedenil590
        21
    ganymedenil590  
       2020 年 11 月 7 日 via Android
    lscexpress
        22
    lscexpress  
       2020 年 11 月 8 日   2
    说个题外话,一般来问学编程语言该怎么入门的,通常都入不了门。
    onion83
        23
    onion83  
       2020 年 11 月 8 日   18
    从 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  
       2020 年 11 月 8 日
    小网站我咋感觉 react/vue + firebase 这种是最快的呢 求解惑
    kajweb
        25
    kajweb  
       2020 年 11 月 8 日
    @xiaoriri666 找不到工作了哥……
    kajweb
        26
    kajweb  
       2020 年 11 月 8 日
    @dartabe 表示没听过 firebase
    v2defy
        27
    v2defy  
    OP
       2020 年 11 月 8 日 via iPhone   1
    @onion83 可以,我又被说服了

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

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

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

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

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

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

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

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

    看到没人推荐?
    mitu9527
        39
    mitu9527  
       2020 年 11 月 8 日
    @hejingyuan199 这本书可不算入门书籍,有一定经验的人看收获才比较大。
    rb6221
        40
    rb6221  
       2020 年 11 月 8 日
    根据楼主左右摇摆的态度来看,我觉得你并没有想要将其作为你的核心技能来考虑,而只是一个边缘技能(以后是不是核心不好说)。所以我建议你可以学。
    skypyb
        41
    skypyb  
       2020 年 11 月 8 日
    提问: PHP 和 ROR 谁开发 web 更快
    maigebaoer
        42
    maigebaoer  
       2020 年 11 月 8 日 via Android
    php 入门随便搞,到最后还是得回到 os 网络和代码架构
    chenyu0532
        43
    chenyu0532  
       2020 年 11 月 8 日
    怎么谁来提问怎么学习,都有一群人在骂这个垃圾,那个 nb,你们已经 nb 到了否认一门语言的程度了么。。还来一堆洋洋洒洒的分析,不蛋痛么
    sockball07
        44
    sockball07  
       2020 年 11 月 8 日
    @onion83 #23 我感觉真能啃下手册的也是挺厉害了 如果只是看官方写的倒没什么 关键就是例子和评论...总能出现更多的东西 结果就是非常非常慢...
    yekern
        45
    yekern  
       2020 年 11 月 8 日
    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  
       2020 年 11 月 8 日
    要么 PHP 要么 GO 别信那些所谓的 50 年 入国军, 编程重思维,我从 php 起步, 后面进了 DBA 侧面, 现在自学 MVVM,我并没有遇到什么门槛,语法看下,然后熟悉下每个语言的运行逻辑和特性,基本都能适应, 关键是你能否学到适合你的编程思维,仅此而已

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

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

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


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