Laravel 第一本中文新手书籍《Laravel 入门教程》

k7wwMpJduq.jpg

封面由 Laravel China 的创始人兼首席体验官,设计师 安正超 设计。

链接#

点击我购买

说明#

Laravel 是出了名的学习门槛高,虽然有很棒的 文档,可惜文档的目的是为了快速查阅框架功能,对于新手来说并不友好。在 Laravel China 社区 上,也经常看到新手因为没有一个好的入门学习,而遇到各种奇奇怪怪的问题,如使用 Windows 作为开发环境导致 .env 加载错乱花了一个多星期 DEBUG 到白头发多了好几根。有时候可以在他们贴出来的代码中看到非常糟糕的编码习惯,如把业务逻辑写在 routes.php 文件里。如果在学习的一开始,有好的入门课程,很多这些弯路都是可以避免。

萌生写这本书的念头已经有一两年了,因为创业中有很多挑战,个人职能的改变(架构师、技术合伙人、UI 设计师、产品设计师、创始人),有很多东西要学,怕精力不够用,所以迟迟未敢下笔。期间也一直在观察,希望有人会写这样的一本书,那样我就有退却的理由。直到有一天 发哥 对我建议,我们可以一起写,我有 项目开发经验,他有时间。终于,在 8 月份开始起稿 《Laravel 入门教程》《L01 Laravel 教程 - Web 开发实战入门 (Laravel 5.5)》 ,中间因为 公司业务变动 的事情,断断续续的写着,最终在今日面世。

写书真不简单,尤其是写一本 Laravel 入门的书籍,更是难度很高,要把控好技术话题的数量,不能一次性暴露太多信息给读者,避免新手的阅读难度太大。另一方面又兼顾实用性,让读者能真正从中学到技能。此中的权衡,也是这本书迟迟未出世的一个原因。

本书的特色:#

  • 定位为现代化 Web 开发新手入门,Git 工作流、前端工作流、Github 使用等;
  • 使用 Laravel LTS 作为框架版本;
  • 一步一步构建一个完整的项目,读者可以很轻松的跟着书的线索动手做下去;
  • 使用真实项目开发中的流程工具,如:Git,Github,Gulp,代码上线等;
  • 最佳实践,代码中加入许多最佳实践,让新手从一开始就养成好习惯;
  • 崇尚 「DRY(Don't repeat yourself)不要重复自己」,让读者能真切体验到使用 Laravel 开发的愉悦感;

《Laravel 入门教程》适用于以下用户#

  • 几乎零基础,想入门 Web 开发的;
  • 有 PHP 经验,准备学习 Laravel 的同学;
  • 学过 Laravel 但是遇到阻力的;
  • 全栈工程师入门课程。

后续教程#

目前计划中有:

  • 《Laravel 进阶教程》
  • 《Laravel 开发规范》
  • 《Laravel 实战 - 构建 API》
  • 《iOS 开发》
  • 《安卓开发》

因为正在运营一家 技术公司 https://yousails.com/ ,工程实力将会是我们的核心竞争力,所以我计划把这一系列课程打造为一套全栈工程师的培训课程,这套课程也会成为我们公司的工程师技术培训教材。

摈弃世俗浮躁,追求技术精湛
本帖已被设为精华帖!
附言 1  ·  7年前
附言 2  ·  6年前
Summer
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 171

大家要注意重点好不好?封面作者是我 :laughing:

8年前 评论

看到评论里面竟是一些争论免费与否,定价高低的言论,感觉特别无趣,每个人对事物的追求不同,自身的经济条件不同当然对事物的看法也不同,没有必要争论。 反而是干净简洁的排版和书的介绍吸引了我,既然像说的那么好,对新手这么友好,作为小白的我果断就买了开始学习。

我是昨天下午买的,刚看了 01 环境配置的 1.2 开发环境搭建就发现了错误,让我措手不及。

本书在阅读指南中说:

由于接下来的教程有时会在两个不同的机器环境上(本机环境和虚拟机环境,大部分情况下是在虚拟机环境上)来调用命令行输入,因此我们约定,在本机上调用的命令输入使用 > 符号,在虚拟机上调用的命令使用 $ 符号。

以下命令行运行在虚拟机里:
$ echo "I am in VM!"
I am in VM!

以下命令行运行在 主机 上:
(这里是尖括号)> echo "I am in Host Machine!"
I am in Host Machine!

然而在 1.2 中就出现了矛盾:

默认 Homestead 会将我们本机的~/Code 文件夹映射到 /home/vagrant/Code 文件夹上。现在我们本机还没有~/Code 文件夹,让我们来创建一个:
$ cd ~
$ mkdir Code
我们可以在该文件夹下放置我们所有的 Laravel 项目,Homestead 将会该文件夹下的项目自动映射到虚拟机的 /home/vagrant/Code 文件夹上。

所以我这是在主机上创建还是在虚拟机上创建???

当然这个我还是比较能分辨的,应该是代码前的符号写错了,可是!
这让我不得不怀疑其他的代码是不是也是有问题,例如:

SSH Key 需要我们自己手动生成。如果你之前使用过 Git 并对 SSH Key 进行过配置,那么这一项你可以直接跳过。
我们可以通过运行下面命令来生成 SSH Key
$ ssh-keygen -t rsa -C "your_email@example.com"
Generating public/private rsa key pair.

请问,这句命令是应该是在主机上还是在虚拟机上???那还有其他的代码呢???

可能对于大神来说,这些问题可能十分可笑,但是!既然标榜是入门,那就请把门打开。环境搭建在我看来是最重要,因为这是所有后续学习的基础,如果连第一章都这么马虎的话,让人如何相信后面的内容。
第一章还没看完,心中特别失望,不是因为觉得不值 69 块钱,而是觉得中国 IT 环境的浮躁,既然办了论坛,写出了教材,肩负的东西就不一样了。看来作者并没有真正理解写一份可以成为教材的初心。

8年前 评论
月光

首先要恭喜一下自己: 因为前几个月在学习 Composer 的时候无意间发现了此社区

其次,要报一下进度:目前学习第八章

当时因为 Composer 速度太慢,在网上寻找有没有国内的镜像, 从外链直接跳到了 Composer 的国内镜像上,发现是一个社区,还是 Laravel 的社区。

此前一直听说 Laravel 的简洁优雅,无奈工作经验少,时间短,从没能接触过,一直想着接触一下 (公司到目前还在用 TP3,composer 什么的也完全不用), 一时间很兴奋,点到了首页。

于是乎,发现了这里不仅是 Laravel 的中文社区,还有开源的 Composer 镜像站,还有中文文档,还有 PHP 之道。。。

好多好东西,果断收藏。

后来在闲逛的时候,发现了入门这本书,看了一下目录,和前几篇免费的文章,果断就入手了。
看了楼上的一堆贴子,有人闲贵,在此我也不想与之争论什么,我只觉得,这 69 元是我入行以来买的这么多资料里最值的了。

可能你觉得我有些浮夸,下面我来说来为什么是我入行以后买的这么多资料里最值的

1. 入行经验:一年半,掌握的知识体系有基本的 HTML,CSS,Javascript,jQuery 等。通过业余时间学习,了解到前端还有很多好东西,我都不会,比如(这是学习这本书之前的状态):

  • 三大框架:Vue,React,Angular
  • 构建、打包工具:Gulp,Grunt,Webpack
  • 虚拟机搭建开发环境利器:Vagrant
  • 容器技术:Docker
  • PSR 代码标准一系列
  • UI 框架:Bootstrap, 妹子 UI

别担心,这些技术我到现在也并没有全学会,但我至少掌握下一步努力的方向。

但是,在学习这本书期间:

  • 我弄懂了 Bootstrap3,已经能用 Bootstrap4妹子 UI 开发项目。阅读本书之前,我只听说过,但从没用过。
  • 学习了 Vagrant,并依据公司的项目所远行的环境打了一个现成的包,如果需要在新的机器上安装开发环境,几分钟就可以搞定,简直不要太爽!学习期间了解到 LNMP 一键集成包这种东西,环境的包就是用这个搭建。(接下来会去接触一下 Docker)
  • 学会了 Gulp 构建工具,学会了 Browser-sync,下一步 Webpack 和 Vue
  • PSR 的一系统标准正在阅读(这个只在挤地铁的时候才看,所以比较慢)

最后,别忘了还有最重要的:Laravel

以上这些就是仅仅 69 元带给我的收获。

因为我才一年半经验,公司里并不能带给我很多的成长(算上我才 2 名开发人员,严肃点,不要笑),所以平时都是靠业余时间充电。

因为这 69 元,带给我很多的收获,其价值已远远不止 69 元。

如果你是经验丰富的老手,可能上面我说的那此技术你都掌握,甚至更多,那这本书相对于你来说可能所在的价值要比相对于我来说会缩水一些。

不过,且容在下多问一句,既然你这么厉害了,还花钱买一本针对于新手入门的书来做什么呢?

我的目标是全栈,看到后续教程的计划,我就放心了。

最后,感谢 Laravel-China 社区。

7年前 评论

照着书准备敲完所有代码了,书是非常好,我在鸡蛋里挑骨头,说下几点意见吧。

  • 每一节后面希望能够评论,这样子交流起来更加实时;
  • 购买了入门级的读者,购买进阶课程时能否打个折扣?
8年前 评论
MRWang

昨天买了以后快速的过了一遍,阅读起来很顺畅,发现一个错别字,已反馈,不过瑕不掩瑜。同时也感叹,我当时学习 Laravel 要是有这本书就好了,啃文档啃到吐血。

同样期待进阶教程。

8年前 评论

Summer 出品,必属精品!赞

8年前 评论
monkey

这本书脉络太清晰了,非常适合新手入门 :thumbsup: :thumbsup:

8年前 评论
Ryan

赞,支持,期待后续教程

8年前 评论
Cooper

? 真棒

8年前 评论
Lonexw

也蛮适合拿来做企业内部培训的~~

8年前 评论
chenyuanqi

支持支持:thumbsup:

8年前 评论

大家要注意重点好不好?封面作者是我 :laughing:

8年前 评论

@overtrue 请把 体验官改成 设计师 :laughing:

8年前 评论
Summer

@overtrue 改好了,超神你看下满意不

8年前 评论

@Summer oh my ga! 不用这么显眼,在特别小的地方提及一下就可以了,比如在评论里 :laughing:

8年前 评论
Summer

@overtrue 我其实准备在封面上加上去的,但是摆半天没摆好

8年前 评论

@Summer 别别这样太吓人了

8年前 评论
Summer

谢谢上面的兄弟们支持哈

8年前 评论

:thumbsup:
不过好像已经有一本中文书籍出版了吧

8年前 评论
Summer

@billow 哈哈,也是,知道那本,改了标题了

8年前 评论
Destiny

:punch: 永远支持!

8年前 评论

支持,But a little bit expensive

8年前 评论

已购买,准备好好研读~:smiley:

8年前 评论
颜⑧

最近要转向 laravel ,看来 2 小时,很好的入门教程 。有了这本入门教程 相信和很快熟悉起来。 :thumbsup:

8年前 评论

@overtrue 封面超好看!跟你的代码一样简洁~:kissing_heart:

8年前 评论

没有个目录吗?

8年前 评论

有优惠一点吗

8年前 评论

真的很好的教程~~期待下面的进阶教程

8年前 评论

可以 很强势!

8年前 评论
幽弥狂

@overtrue 注意到了。。。很强势

8年前 评论

期待后面的进阶课程

8年前 评论

刚看了一遍,只能说适合入门,希望入门教程开源,进阶教程再开始收费。。

8年前 评论

非常喜欢这样形式的入门教程,希望进阶教程也延续这样的讲述方式,用实际项目来串各个知识点,会一如既往的支持下一部教程。

8年前 评论

@koke218 呵呵,这样不好吧兄弟,那么辛苦搞出来的免费,那作者投入的时间也是钱啊

8年前 评论

@koke218 69 块钱买一个入门不贵

期待进阶教程

8年前 评论

已买!赞赞赞!

8年前 评论
MRWang

昨天买了以后快速的过了一遍,阅读起来很顺畅,发现一个错别字,已反馈,不过瑕不掩瑜。同时也感叹,我当时学习 Laravel 要是有这本书就好了,啃文档啃到吐血。

同样期待进阶教程。

8年前 评论

转不了帐,提示不是好友。

8年前 评论

之前买过一本中文版书籍是适合 Laravel 进阶的,现在终于出了第一部中文新手书籍啦!Summer & Aufree 辛苦啦~开心,先赞一个,然后开看咯~:blush:

8年前 评论

当当网有 1 本 laravel 书,但不是入门的

8年前 评论

纠错:创建微博模型时候 $ php artisan make:model Models/Status 模型名称写错了哈!应该是 statuse

8年前 评论
Summer

@PHPer 好快哈你,都看到这里了 :thumbsup: 数据模型是 statuses 的 单数形式 ,没错。

沃日这个鬼解析。。。发了好几遍

8年前 评论

只能说,相对于我来说,买了后,感觉不值。当然,我只是说我的个人看法,作为入门教程,太杂了。对新手不友好,项目本身太简单了。当然在细节上还是不错的。不过价格定的高了。当然我只是说我的个人看法。看到楼上有人说了点看法被喷了。所以希望大家别喷我。

希望作者后面能出进阶。

8年前 评论

@繁华落尽 说的有点重了。哈哈。总之瑕不掩瑜,毕竟有比没有强太多了。

8年前 评论
Summer

@繁华落尽 首先感谢反馈 :smile_cat:

在设计此书知识框架的时候,我们选择偏「Web 开发实战」堆栈,主要是比较应用实战,这些技能在工作中都能派上用场。

实际项目 开发中会涉及到很多技术话题,这里还只是挑了最少、最基本的来讲,对于 PHP 新手来说确实比较杂。本来还想为每个章节还加上「集成测试」来着,后来觉得确实对新手不怎么友好,就去除掉。

实际项目 开发中,只是懂 PHP 和 Laravel 是远远不够的。举例像 Git 的一些操作,很多同学加入新团队,一上来 Team Leader 就会让你克隆一份项目代码。你如果没有经验的话,你会发现就这一个简简单单的,非常基础的动作,你得折腾了大半天。当然,生产环境中的 Git 版本管理流程远比此书里面介绍的复杂多,不过至少能从这里开始。

再次感谢反馈 :beers: ,欢迎同学们反馈哈,这样能增加对这本书的理解。

8年前 评论

看完了过来评论的。我倒觉得放进去这些除了 Laravel 的知识挺好的,帮我之前的东一块西一块学习到的知识串了起来了,整个教程跟着做下来很顺畅。感谢 @Summer 大大的出书,Summer 出品,必属精品,赞赞

8年前 评论

@tobe 现在随便去哪家饭店与朋友吃个饭也大于 68 元了,或者买杯咖啡也几十块,我不明白为啥当这个价格花在别人辛苦好几个月时间认真做出来的东西上就会觉得贵呢?你的观点就是说,你与朋友聊天吃饭,或者喝一杯咖啡所产生的价值要比他俩这份知识财富更高嘛。实在很难理解。

8年前 评论

@Summer 什么时候出进阶教程啊,把里面的 IOC,DI,容器等核心的设计思想,疏通疏通

8年前 评论

@tobe 嗯,我没激动,你说得是对的,但是, free 是主流,我们只能尽量去做,为啥 Laravel 作者去培训还要收费呢?为啥 Laravel 国外的相关书籍都要收费呢?而且都不便宜? free 是主流 是没错,但是要看哪些方面啊,免费的交流社区,免费的翻译文档,免费分享的知识贴子,免费的 composer package,以及免费开源的项目源代码,我们做的免费并不少啊。作者想为自己加班加点做出来的东西获取一点回报我觉得没有任何错误,包括我在使用的高频软件的时候都是尽量正版,比如 Sublime Text, Sketch, CleanMyMac, Moom, Charles 这些,它们给我带来的价值远远超过购买授权的价格 N 倍,所以我觉得它们很便宜。收取费用还有一个好处是驱使作者去更新维护,开源的最大痛点在于长久的保持更新,目前这点做得最好的只有收费软件。

8年前 评论
Summer

@jiehuangwei 书籍定位的问题啦,这本书的定位就是那些需要「就业培训」的人,他们想「正经的」学习 PHP、Web 实际开发的知识,此书作为自学的基础资料之一。

对于「生存技能」的学习来说,几十块钱真不算什么,上培训班那都是一万起跳的。连这点决心都下不了,即使书是免费的,最后也难以保证能学习下去。

另外,就像本文说的,后面我会出系列课程,这一系列课程会作为我的公司工程师做技能培训使用,这一切都在说明,这本书书我们的定位很清晰,就是为了「专业技能培训」。我想说的是,我原本是打算收费 199 的 :smile_cat: ,现在算是折扣价了。

@overtrue 非常感谢超哥的认同,超哥就是这么讨人喜欢 :rose:

8年前 评论
vacker

刚学完第七章,我是新手,第一次接触 Laravel,说实话,69 元很值,我是支持收费的!
if (你是大神) {
你没必要花这个冤枉钱买这书,自己看文档就好了啊} else {
新手看文档很吃力,花 69 元学到的技能远不止值这点钱,买了很划算 }

8年前 评论
vacker

@Summer 建议 建立一个 付费购买书了的人的 QQ 或微信 群,方便新手学习交流,提问什么的。

8年前 评论
Summer

@vacker 建议收到,我去弄个读者群

8年前 评论

当年如果这本书就好了,不过我还是要买一本拜读下。:)

8年前 评论
hainuo

?

8年前 评论

我还特地关注了一下源代码,为什么源代码里面没有 Repository 目录,不是说正式工作环境需要 Repository 模式吗,难道这本书是直接在 Controller 里面写业务逻辑吗?@Summer 求解答,我也准备买一本拜读。

8年前 评论
vacker

@Summer 老大,读者群弄好了没?

8年前 评论

会有持续教程更新吗?

8年前 评论

有定的基础了,不知道买了这本书后续还能享受到什么?例如将来下个 LTS 出来后这本书是否会升级又或者买了这个书将来买高级点的教程会不会有优惠?

8年前 评论
Summer

@大师兄 不建议购买。没有优惠

8年前 评论
Summer

@vacker 群好啦,微信里面找我让我拉你就行

8年前 评论
咖啡是個軟件猴

@Summer 这本哪里有卖呢?

8年前 评论
老财

说下我的感受,价格值不值,说到底还是你自己对自己有没有一个定价,免费才是最贵的,百度搜索 “laravel 教程”,出来的一堆免费,估计都够你坑一个月,可能最后看完还不明白什么是 homestead,因为免费嘛,都是碎片,结果你的时间浪费了,和这个对比,你说 ¥68 值不值?你的时间永远都是最贵的!。
最早看到这个教程的时候,我大致浏览了下目录,觉得偏入门(我已经入门)帮助不大,也以为是免费,没怎么留意。后来发现要付费,又是 laravel-china.org 的官方出品,来兴趣了,坦白讲,现在付费和免费,是我判断一个虚拟产品质量高下的一个很重要的依据,于是果断付费了,为啥呢?看看人家花了时间整理的精华呗,因为我在学习 laravel 的过程中,这个网站的几篇中文档是我无数弯路后找到最佳质量的,后来一直常驻我的 chrome 标签页,随时用,随时查,效率高,节省了不少时间,这种信任之下,当然应该支持,看后也觉得不错,感叹早几个月看到,我应该提前入门 Laravel 至少一个月。

另外,我就很想付费 @overtrue ,期待他开发一套支持企业版微信或者第三方授权框架的 微信 SDK,大笑~~~

file

8年前 评论
老财

@老财 本人不是托,喷子勿扰!

8年前 评论
Summer

@老财 谢谢财哥支持哈 :rose:

@overtrue 超哥是不是可以搞个众筹 :smile_cat:

8年前 评论

@Summer @老财 现在已经支持开放平台,但是企业版本还没支持

8年前 评论
老财

@overtrue Easy We Chat 帮助不少企业快速稳定的接入微信体系,获益的人不在少数,创造的价值也无法估量,希望越来越多受益者去打赏

8年前 评论

没有线上阅读的习惯,要是实体书的话会毫不犹豫买。

8年前 评论

已购,看了 2 章,简单的说两句吧,自己以前啃文档,也写出来了一个简单的博客,这个教程,我觉得非常适合入门 laravel 的人,或者说像我这样,以前的知识很零碎不紧凑的人阅读,虽然我觉得内容有些浅尝辄止,(我自己更希望后续的文章能够更加深入一些)但是却能够帮我理清一些自己以前并不是很清楚的脉络问题,至于价格,仁者见仁吧。

8年前 评论

购买后是不是后续的进阶教材也可以看啊?

8年前 评论

看了一遍,也照着做了一遍。但是就是后面 7 章开始就崩盘了。自从出现了这个错误开始。

Swift_TransportException in AbstractSmtpTransport.php line 383: Expected response code 250 but got code "530", with message "530 5.7.1 Authentication required "

我尝试搜索 Google,php artisan config:cache 但依然没有解决。猜测是出现在.env 环境配置的改变上。

还有同一文件的同一方法的的代码变更,有时有点突兀,前面有点代码,后面又突然没有。
比如 UserController 的构造方法。
可能是只做了一遍的缘故,我再重做几遍试试。

8年前 评论

@夜晚的雨 不要百度不要百度不要百度,在 Mail.php 里面不必生命 form name 了。Summer 在控制器里面已经生明了


就是163的有点坑 各种限制。
8年前 评论

微信群里反馈了一个问题,这里再贴一次。 10.2.1 『粉丝』表的构建 的示例代码:

public function up()
{
    Schema::create('followers', function (Blueprint $table) {
        $table->increments('id');
        $table->integer('user_id')->index();
        $table->integer('follower_id')->index();
        $table->timestamps();
    });
}

这里给关系表加上了 timestamp 字段,关系表的 timestamps 在 heroku 环境下的 postgres 不会自动插入创建时间值(在 mysql 下也不会,不过会填充为 00:00:00),点击关注按钮的时候会报错。
而且,关系表,一般也不需要 timestamp 吧

8年前 评论
颜⑧

教程跑了 2 遍,进阶什么时候出啊 ,希望年前出。

8年前 评论

不好意思,因為本身為台灣人,
想請問有其他的付款方式嗎 (無法實名認證)?
謝謝

8年前 评论
Neal

为什么不出纸质版呢

8年前 评论

很不错的教程,风格类似当年 symfony 的 askeet,适合初学者。 感谢笔者的辛苦付出!

为发挥 WEB 书的优势(纸质技术书都是黑白的),提个小建议:将每个代码段比之前代码段添加的代码启用另外的加亮风格以示区别,加强 “用户体验” :-)

8年前 评论
Summer

@sinosmond 好建议

8年前 评论

希望能加入自动化测试章节 :blush:

8年前 评论

2.2 章,关于创建 sample 应用的

sites:
    - map: homestead.app
      to: /home/vagrant/Code/Laravel/public
    - map: sample.app # <--- 这里
      to: /home/vagrant/Code/sample/public # <--- 这里

这里 Sample 应用应当是放在 home/vagrane/Code/sample/public 下的吧

而在使用 composer 的时候命令是
$ composer create-project laravel/laravel sample --prefer-dist "5.1.*"
这样代码的位置似乎是不对的?

因为我按照文档说明建立的 sample 应用打开提示是 No input file specified.,所以不太确定是哪里出问题了。

谢谢,新手,还请多多指教

8年前 评论
Summer

@baalchina laravel 使用 sample/public 来作为 web root,你可以重启 vm 试试。请下次有问题发个帖子出来,不要在这里直接问啦。

8年前 评论
Summer

@iMactool 有在考虑中 :smile_cat:

8年前 评论

@Summer thanks。我重做了一遍搞定了。

ps,本来想发新贴子的,后来看到网页上有勘误连接,就到这里来了...

thanks!

8年前 评论

招人吗?我也算是优秀的工程师了:relaxed:

8年前 评论
Summer

@無铭 我让 @monkey 哥联系你咯

8年前 评论

看到评论里面竟是一些争论免费与否,定价高低的言论,感觉特别无趣,每个人对事物的追求不同,自身的经济条件不同当然对事物的看法也不同,没有必要争论。 反而是干净简洁的排版和书的介绍吸引了我,既然像说的那么好,对新手这么友好,作为小白的我果断就买了开始学习。

我是昨天下午买的,刚看了 01 环境配置的 1.2 开发环境搭建就发现了错误,让我措手不及。

本书在阅读指南中说:

由于接下来的教程有时会在两个不同的机器环境上(本机环境和虚拟机环境,大部分情况下是在虚拟机环境上)来调用命令行输入,因此我们约定,在本机上调用的命令输入使用 > 符号,在虚拟机上调用的命令使用 $ 符号。

以下命令行运行在虚拟机里:
$ echo "I am in VM!"
I am in VM!

以下命令行运行在 主机 上:
(这里是尖括号)> echo "I am in Host Machine!"
I am in Host Machine!

然而在 1.2 中就出现了矛盾:

默认 Homestead 会将我们本机的~/Code 文件夹映射到 /home/vagrant/Code 文件夹上。现在我们本机还没有~/Code 文件夹,让我们来创建一个:
$ cd ~
$ mkdir Code
我们可以在该文件夹下放置我们所有的 Laravel 项目,Homestead 将会该文件夹下的项目自动映射到虚拟机的 /home/vagrant/Code 文件夹上。

所以我这是在主机上创建还是在虚拟机上创建???

当然这个我还是比较能分辨的,应该是代码前的符号写错了,可是!
这让我不得不怀疑其他的代码是不是也是有问题,例如:

SSH Key 需要我们自己手动生成。如果你之前使用过 Git 并对 SSH Key 进行过配置,那么这一项你可以直接跳过。
我们可以通过运行下面命令来生成 SSH Key
$ ssh-keygen -t rsa -C "your_email@example.com"
Generating public/private rsa key pair.

请问,这句命令是应该是在主机上还是在虚拟机上???那还有其他的代码呢???

可能对于大神来说,这些问题可能十分可笑,但是!既然标榜是入门,那就请把门打开。环境搭建在我看来是最重要,因为这是所有后续学习的基础,如果连第一章都这么马虎的话,让人如何相信后面的内容。
第一章还没看完,心中特别失望,不是因为觉得不值 69 块钱,而是觉得中国 IT 环境的浮躁,既然办了论坛,写出了教材,肩负的东西就不一样了。看来作者并没有真正理解写一份可以成为教材的初心。

8年前 评论
Summer

@Hazel 感谢指出,已经改正。

8年前 评论

按照书上说的加上自定义变量:
自定义变量

最后,如果你需要自定义一些在虚拟机上可以使用的自定义变量,则可以在 variables 中进行定义。

variables:

  • key: APP_ENV
    value: local

$ Vagrant up
C:/HashiCorp/Vagrant/embedded/lib/ruby/2.2.0/psych.rb:370:in `parse': (): did not find expected '-' indicator while parsing a block collection at line 23 column 5 (Psych::SyntaxError)

我想应该是缺了一个 “-” 删了之后就可以启动了。我就干脆不加了,反正本来的 Homestead.yaml 就没有自定义变量。

然后就是
vagrant@homestead:~$ vagrant halt
The program 'vagrant' is currently not installed. You can install it by typing:
sudo apt install vagrant
并不 work,搜了 stackoverflow 之后才知道
You have SSHed into the vagrant machine. first execute exit to get back to your machine and then execute vagrant halt
于是就好了~

终于跨过了重重阻碍来到了下一章。

8年前 评论

作者你好,我今天刚开始看这本书,感觉对入门者来说确实是一个很不错的教材,整体了解之后学起来就驾轻就熟了。今天刚看到第七章,看 7.2 更新用户的时候碰到了个小问题。原文中一段代码是这样的:

    public function update($id, Request $request)
    {
        $this->validate($request, [
            'name' => 'required|max:50',
            'password' => 'required|confirmed|min:6'
        ]);

        $user = User::findOrFail($id);
        $user->update([
            'name' => $request->name,
            'password' => $request->password,
        ]);

        return redirect()->route('users.show', $id);
    }

现在的用户编辑功能还有两个地方需要优化:

  1. 在每次更改个人资料的时候都输入完整的密码,才能更新其它信息,对于不想对密码进行更新的用户,这个过程会比较繁琐;
  2. 更新成功之后在页面上没有进行任何提示,而是直接跳转到用户的个人页面,用户体验非常不好;
    接下来让我们针对这两个问题对 update 方法进行优化。

优化后将 validate 的代码改成了

    public function update($id, Request $request)
    {
        $this->validate($request, [
            'name' => 'required|max:50',
            'password' => 'confirmed|min:6'
        ]);

        $user = User::findOrFail($id);

        $data = array_filter([
            'name' => $request->name,
            'password' => $request->password,
        ]);
        $user->update($data);

        session()->flash('success', '个人资料更新成功!');

        return redirect()->route('users.show', $id);
    }

原文:

首先,我们将用户密码验证的 required 规则去掉,这意味着当用户提供空白密码时也会通过验证,因此我们还需要再添加一个 array_filter 对输入数据进行过滤,当用户密码为空时将其从数组中移除,避免将空白密码保存到数据库中。

我按照书上做了,不过并没有任何变化,依旧必须输入两次密码才能顺利提交。查来查去没找到有对 validate 规则进行详细描述的,尝试在源码里找答案,不过失败了 OTZ.
于是只能自己来了, 我猜想 :min:6 的验证本身既包含 required 验证规则,confirmed 貌似不接受传空,所以还是会报输入密码不一致的问题。最后将代码改为:

    $rule = empty($request->password) ? [
        'name' => 'required|max:50',
    ] : [
        'name' => 'required|max:50',
        'password' => 'required|confirmed|min:6'
    ];
    $this->validate($request, $rule);
    $user = User::findOrFail($id);
    $data = array_filter([
        'name' => $request->name,
        'password' => $request->password,
    ]);
    $user->update($data);

还望指导,谢谢。

8年前 评论
前端猫哥

反馈一个小错误:

2.3:静态页面

访问 http://sample.app/about 页面,则会看到 "帮助页"。

这里有一个对应错误

8年前 评论

想读纸质书啊 怎么办

8年前 评论

第 3.2 章节中 gulp 在 Laravel 5.4 中已经不能用了。应该用 npm run watch

8年前 评论
前端猫哥

反馈一个拼写错误:

7.2.2 编辑失败:

第一段代码中:

'password' => bcrypt($request->password);,

多了一个分号

8年前 评论
前端猫哥

反馈一个错误:

7.4:列出所有用户,数据填充部分

编辑 UsersTableSeeder 的那部分代码,是不是少了 填充 id = 1 的用户的数据

我记得做前两遍的时候是有的

8年前 评论
Summer

@SadCreeper 好的,感谢,估计昨天做了修改遗留了个 Bug

8年前 评论

@SadCreeper 感谢反馈,不过 7.4 之前一直是没有填充 id = 1 用户数据的,到 7.5 的时候加上管理员的删除操作时才有。

8年前 评论

@Aufree 个人觉得在修改重置密码之后无法登陆的 BUG 时的做法不是很优雅,这样的改动太大了。

无法登陆的原因是框架在封装重置密码时在 ResetsPasswords.php 中的 resetPassword 方法中对密码做了一次 bcrypt 加密,加上原来模型中设置 password 属性时做的一次加密,从而造成了二次的 bcrypt。

建议把 ResetsPasswords.php 这个 trait 中对密码的处理去掉。


    /**
     * Reset the given user's password.
     *
     * @param  \Illuminate\Contracts\Auth\CanResetPassword  $user
     * @param  string  $password
     * @return void
     */
    protected function resetPassword($user, $password)
    {
        // $user->password = bcrypt($password);     // User Model 中设置了 password 的属性,这样会造成二次 bcrypt。
        $user->password = $password;

        $user->save();

        Auth::login($user);
    }

8年前 评论

照着书准备敲完所有代码了,书是非常好,我在鸡蛋里挑骨头,说下几点意见吧。

  • 每一节后面希望能够评论,这样子交流起来更加实时;
  • 购买了入门级的读者,购买进阶课程时能否打个折扣?
8年前 评论

反馈:

4.7 更新用户对象 - 第四章、用户模型

最后一句话:你也可以通过查阅 相关文档 来进行深入学习。

相关文档地址有误。

8年前 评论

3.2 样式美化 yarn install 命令问题

使用 yarn install 安装的时候提示 error,建议使用 add 代替 install,是不是我版本的问题导致的?

error `install` has been replaced with `add` to add new dependencies. Run "yarn add gulp" instead.
8年前 评论

@天使爱人间 你在京东搜一下就知道了

8年前 评论
Destiny

好吃的评论,好多的点赞!!!!!!!希望入门的朋友们可以买一本看看,反正又不贵

8年前 评论

虽然用 Laravel 做过很多项目,但是读了这本书获益匪浅,破万卷认新知,已经读了 6 遍,感觉蛮好,基础方面得到了巩固,希望下一个 LTS 能继续 Laravel 的辉煌!

8年前 评论

看了几十屏的评论,前排的全部一片叫好!!!
让我想起了淘宝刷单大军的杰作!如果所有的评论,只有叫好,没有反馈问题,那这一定是这本书的悲哀!
还好,在后面看到了很多反馈,这些反馈最终让我决定,这是一本值得购买和学习的书!

8年前 评论

你们好,请问我 win10 配置 vb + vagrant + homestead 环境时,出现 "VBoxManage.exe: error: Failed to create the host-only adapter",我的 vb 是 5.1.18,vagrant 是 1.9.2 版本;后来我换了和教材一样的 vb + vagrant 版本,还是不行,请问大家有遇到类似的问题吗

8年前 评论

请问,已读完的读者,书中遇到的错误,提交给作者后是否有更正?
在看 PHP 之道 的时候,发现有读者在回复中提出翻译错误的地方,但是译者并未更正

8年前 评论
一亩三分地儿

哦?哪里有卖的?当当上查不到

8年前 评论
宇宙最厉害

已入手。

8年前 评论
张雷

虚拟书?不是实物吗~

8年前 评论
宇宙最厉害

学习的时候发现一个地方,作为处女座强迫症,发现了空格不对地方。

7.4 列出所有用户

<a href="{{ route('users.show', $user->id )}}" class="username">{{ $user->name }}</a>

改为

<a href="{{ route('users.show', $user->id) }}" class="username">{{ $user->name }}</a>

8年前 评论

@Hazel 同意你的说法。建议作者大大把教程里一些指令的环境和目录说明一下,我是小白,跟着教程走,的确不清楚是在什么目录执行什么命令,麻烦作者了。

8年前 评论
Summer
8年前 评论

发现最近这个移动网络貌似访问不了网站

8年前 评论

@Hazel 非常同意你的意见。我也发现有好多地方没有详细解析。比如 gulp watch 就说一下就没有,然后说修改好样式没有 gulp watch 就不生效样式然后没有。应该要对我们新手详细点。,之前被 homestead 折腾很久(就是不明白她的工作原理,英文文章有些看不懂很吃力)在这个教程里面也简单的说了就过去了。应该加入一下一些多域名,数据库和其他参数的时候怎么玩等内容。因为环境问题也是新手最头疼的问题。如果新手掌握好 homestead 就环境问题几乎不用想太多的,我还没有来得及往后面看。正在学习。希望如果有更新就一些内容讲的像菜鸟 Linux 私房菜那么详细就很好了。

8年前 评论

忍不住来评论了,昨天入手,今天迅速看到第七章。说良心话真的值这个价钱,太详细了,一步一个脚印,几乎每一个方法都有解释,准备连续撸个几遍,希望撸完能看到进阶的教程!!谢谢!!

8年前 评论

棒棒哒!

8年前 评论

-
向大神学习思路

向大神学习代码

7年前 评论

https://laravel.com/api/5.2/index.html 源代码是最好的老师

MVC 的思想无出其右,重点是细节的创新

7年前 评论

有 QQ 群或者微信群吗 有遇到问题百度不到

7年前 评论
Summer

@鲁初雪 请看这里 反馈纠错

7年前 评论

什么时候出进阶版的啊

7年前 评论

为什么不直接弄微信支付,还得加好友转账,比较繁琐

7年前 评论

看完了,也做完一遍,部署完成,再来剩下的四遍。谢谢

7年前 评论
Pigwan

作为新手中的新手, 购买过后感觉一脸懵逼。
太多东西都是陌生的,但很多都是一笔带过。

7年前 评论
Pigwan

第一次购买电子教程书籍。感觉很失望,可能是自己水平问题吧。我觉得在购买之前,应该提前告知读者教程使用的环境,软件,版本等。

7年前 评论
Summer

@Pigwan 这是一本 Web 全栈开发的课程,包括命令行、前端、后端、工作流(Git、Github、Gulp),涉及话题较广,并且每一个话题展开了讲都是一本书。书籍在一开始已经解释过了,本书有意将话题讲解点到为止(针对新手需要知道的信息)。因为深入讲解的话,第一篇幅太长,第二会失去行文主干。

你是新手的话,这些都是你不熟悉的话题,谁都会觉得信息过载。无需泄气,认真多做几遍即可,慢慢地你会获取到舒适感的。有一位同学也是第一次接触 Web 开发,他做了七遍,训练完成后大呼过瘾。跟着书的线索走即可。

7年前 评论

@Pigwan 第一遍看不懂不必觉得灰心,一本好书都是值得去反复推敲、反复学习的。或许你现在回看到很多陌生的词汇,陌生的技术,但是这些都是学习 laravel 的必经之路,认真读完一遍后,再下评论也不迟啊!

7年前 评论

看这本书之前,看过两部视频教程,以为已经入门了......., 这书超出我的期望,太赞了, 非常期待 《Laravel 进阶教程》, 电子版书籍可以连载的方式出呀

7年前 评论

怎么微信登陆不了,看着大家的评论说挺好的,卖下看看!

7年前 评论

@arnoder 换个浏览器试试, 我也碰到了这个问题,换浏览器就可以了, 同一个浏览器在家就能登录,很奇怪的问题

7年前 评论

支持 laravel 书本教程

不知道啥时候出进阶的 期待已久

7年前 评论

已经完全更新到 5.5 版本了吗?

7年前 评论

非常支持这种形式的教程! 我认为收费是必须的 , 收费是对大家的负责,也是对你自己的负责。 非常期待进阶教程!

7年前 评论

终于发布了,可以看了

7年前 评论
月光

首先要恭喜一下自己: 因为前几个月在学习 Composer 的时候无意间发现了此社区

其次,要报一下进度:目前学习第八章

当时因为 Composer 速度太慢,在网上寻找有没有国内的镜像, 从外链直接跳到了 Composer 的国内镜像上,发现是一个社区,还是 Laravel 的社区。

此前一直听说 Laravel 的简洁优雅,无奈工作经验少,时间短,从没能接触过,一直想着接触一下 (公司到目前还在用 TP3,composer 什么的也完全不用), 一时间很兴奋,点到了首页。

于是乎,发现了这里不仅是 Laravel 的中文社区,还有开源的 Composer 镜像站,还有中文文档,还有 PHP 之道。。。

好多好东西,果断收藏。

后来在闲逛的时候,发现了入门这本书,看了一下目录,和前几篇免费的文章,果断就入手了。
看了楼上的一堆贴子,有人闲贵,在此我也不想与之争论什么,我只觉得,这 69 元是我入行以来买的这么多资料里最值的了。

可能你觉得我有些浮夸,下面我来说来为什么是我入行以后买的这么多资料里最值的

1. 入行经验:一年半,掌握的知识体系有基本的 HTML,CSS,Javascript,jQuery 等。通过业余时间学习,了解到前端还有很多好东西,我都不会,比如(这是学习这本书之前的状态):

  • 三大框架:Vue,React,Angular
  • 构建、打包工具:Gulp,Grunt,Webpack
  • 虚拟机搭建开发环境利器:Vagrant
  • 容器技术:Docker
  • PSR 代码标准一系列
  • UI 框架:Bootstrap, 妹子 UI

别担心,这些技术我到现在也并没有全学会,但我至少掌握下一步努力的方向。

但是,在学习这本书期间:

  • 我弄懂了 Bootstrap3,已经能用 Bootstrap4妹子 UI 开发项目。阅读本书之前,我只听说过,但从没用过。
  • 学习了 Vagrant,并依据公司的项目所远行的环境打了一个现成的包,如果需要在新的机器上安装开发环境,几分钟就可以搞定,简直不要太爽!学习期间了解到 LNMP 一键集成包这种东西,环境的包就是用这个搭建。(接下来会去接触一下 Docker)
  • 学会了 Gulp 构建工具,学会了 Browser-sync,下一步 Webpack 和 Vue
  • PSR 的一系统标准正在阅读(这个只在挤地铁的时候才看,所以比较慢)

最后,别忘了还有最重要的:Laravel

以上这些就是仅仅 69 元带给我的收获。

因为我才一年半经验,公司里并不能带给我很多的成长(算上我才 2 名开发人员,严肃点,不要笑),所以平时都是靠业余时间充电。

因为这 69 元,带给我很多的收获,其价值已远远不止 69 元。

如果你是经验丰富的老手,可能上面我说的那此技术你都掌握,甚至更多,那这本书相对于你来说可能所在的价值要比相对于我来说会缩水一些。

不过,且容在下多问一句,既然你这么厉害了,还花钱买一本针对于新手入门的书来做什么呢?

我的目标是全栈,看到后续教程的计划,我就放心了。

最后,感谢 Laravel-China 社区。

7年前 评论

本书作为入门书籍是相当不错的,唯一让我觉得有点不足的地方是,在 blade 模版文件的命名上,不能见名知意(可能是对资源控制器的使用不是那么熟悉)

7年前 评论
patrickouc

这书是在线看的,还是可以下载 pdf ?

7年前 评论
chenBJ

内容确实不错一直关注

7年前 评论
chenBJ

It feels better to be able to deploy a ECM+php+mysql+ng+ap+laravel environment and project deployment

7年前 评论

请问购买的书是纸质版的还是在线版的

7年前 评论

教程很详细,刚看完第一遍,随便照着教程操作了一遍,都能顺利运行,但是,还是有很多不理解的地方。有很多写法都不是很理解为啥要这样做,接下来还是得重新看多几遍。刻意练习,每日精进。

7年前 评论

教程很赞,学习起来很顺畅。教程里提到的每个问题点、编程习惯、工具使用都有着详细的分析和数据佐证,从此可见 @Summer 对教程的认真程度。讨论区的同学也很积极地互相解答问题,教程系统设计很赞。相比于视频教程来说,文字教程的效果更好。接下来继续其它教程的学习。

7年前 评论
考拉

@overtrue 给你点赞!!!

7年前 评论

我想问下这本书里面 laravel 版本是几?

6年前 评论
Summer
6年前 评论

在知乎看到了 @Summer 的一些引导,先学习了部分 html 和 php 的基础,开始学习时很松散,三天打鱼两天晒网,最后还是坚持学习至今买下这本书开始接触 laravel。尽管已经跟着做了好几章,对于很多知识都很模糊,对大部分操作异常懵逼,只知道了 web 开发知识面多么宽广,不知道自己会不会放弃。

6年前 评论

@Summer 如图所示,标题为 5.5 版本,5.1 版本已经看不到了是吗?

file

6年前 评论

@Summer 谢谢老师 :pray:, 因为现在正在开发的项目是 5.1版本写的,以后很长一段时间都会用 5.1, 在社区里找了好久都没有找到这个 5.1版本的入口 , 在导航中进去也直接去到了 5.5版本 , 内部也没有提供 5.1的链接入口 , 如果可以的话,麻烦summer老师可不可以在图中这个地方搞个和文档一样的切换版本的地方,方便需要 5.1 版本的小伙伴学习.

file

刚按着教程走了一遍 《L05 Laravel 教程 - 电商实战》,也是 5.5 版本,很吃力,所以打算按照 summer 老师的教程从最初系统的进行一次学习,如下图所示的教程,都有 5.1的版本吗?

file

6年前 评论
Summer

@一个人的江湖 后续会加上这个功能,学习的话建议别往后走了哈

6年前 评论
kuang

可惜没有纸质书籍

6年前 评论
Summer

@kuang

这是一本用来 动手练习 的书,不是用来阅读 的书。
—— 来自 常见问题

编程是技能只能通过练习学会,读再多的书都无用。

6年前 评论

非常好的入门教程,读了 4 遍,每次都有不同的体会,对个人收益最大的是编程上的各种规范,以前只知道写代码,不知道为什么这样写。现在受益匪浅,谢谢 summer 大神,

6年前 评论

谢谢社区,二刷 ing

6年前 评论

这是纸质书 还是电子书?

5年前 评论

耶,之前 69 怎么还涨价了呢?现在 79?大家在安装 bootstrap 的时候都没有遇到问题吗?

4年前 评论