寻找给我 “三颗痣” 的那个人(一个自学 PHP&Laravel 者的迷茫)

作为默默关注phphub的人,第一次发言提问之前还是去看了一下《智慧的提问》这篇帖子。

自我介绍


我是一名大二学生,所学专业是计算机科学与技术。自学PHP已经2年了(学校没有开设这门课程),但是中间的过程是断断续续,因为我是一个比较浮躁的人所以学校了PHP的基础语法之后就开始接触框架这些东西了,过程中间也走了不少弯路,前端,数据库这方面的知识全靠自学。接触laravel到现在也快一年的时间了,但是对于laravel的认知还是不够,连源码都没有看过一次(尝试过从Index.php开始后来放弃了)。学习的这段时间也写过一些小东西练手,最近刚结束的一个项目:个人博客 。可以说会的都只是一些“简单的”皮毛,甚至在2个月之前我还不知道PHP的trait是干什么的。之后就去狂补各种知识,把php之道重新浏览了一遍。平时对于各大论坛都有关注,但是觉得虽然看了很多东西却无法吸收进去。于是在这里向各位同行前辈求教:


心中的疑惑


  1. 目前对于PHP的设计模式一无所知,了解了一下PHP设计模式至少有20种,是否都需要学习?
  2. 对于laravel框架的学习该如何进行?是把源码看一遍吗?

最后

在此谢过各位前辈的帮助:simple_smile:

v1talM
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 18
leo

大二学生知道trait这个东西已经很不错了,目测现在工作经验2年+PHPer的有60%以上不知道trait为何物。

个人认为设计模式这种东西,硬学是不行的,你得在实践中去感悟,写了很多代码之后你会发现你可能一直在某个体力活上浪费精力,这个时候你回顾一下设计模式,就会发现很有可能某个设计模式就是为了解决这个问题,这个时候你就会很容易理解和运用这个设计模式了。

学习框架的最好方式就是不断用,遇到一些奇怪的问题/功能的时候,可以看看对应的实现方式,对自己的成长还是比较有好处的。

7年前 评论

别一开始就读源码。除了你是天选之子理解力超群否则上来读源码只能把你脑子搞乱。
做项目,不停的做项目。每次做都要比上次用到新特性,比上次写出的代码更易懂,比上次的更贴近行业标准。
这就够了

7年前 评论
v1talM

@zgldh 非常感谢!

7年前 评论
v1talM

@leo 看了phphub的源码,也能读懂那些东西但是换做自己写的话,在某些功能上面就想不到应该这样去实现它。可能就是因为我经验太少吧 :P

7年前 评论
Summer

动手写项目,即使是再小的项目,每一个牛逼的程序员都是被项目经验累积起来的

7年前 评论
Summer

博客漂亮

7年前 评论
v1talM

@Summer 站长过奖了,:p 才刚完工两天,还遗留了好些BUG

7年前 评论

打开你博客下的一篇文章 把我的浏览器卡死了两次 哈哈

7年前 评论
v1talM

@zmecust 电脑上面没发现啥问题,就是手机上的问题太多了:laughing: 用了一些东西,奈何技术不过关

7年前 评论
nickfan

楼主如此明目张胆的搞基标题,看得人菊花一紧。:-o

楼主之所以迷茫其实换句话说,你没经历过,想学没头绪

个人建议:

  1. 给自己点压力,规定指定时间内完成一个留言簿,

请无所不用其极,不用管什么范式、设计、原则,只看手册和百毒的搜索结果,先按时做(请手打非copy&paste)出来。

2.看一看用一用国人一直在维护的框架比如thinkphp之类的,明白简单的道理,至此,你才算是入门的码农。

  1. 学一下php之道理解里面的基础道理
    http://laravel-china.github.io/php-the-rig...

  2. 限时重写自己的留言簿,综合之前的知识,但不要用框架,可以自己设计范式。

  3. 学一下laravel,先看文档,再按教程学着手打,尝试搭建基础的站点

6.再用laravel重构你的留言簿

7.再重看php之道中的道理

8.看phphub中关于laravel源码解析的文章,学习别人是如何使用这些php之道中所描述和没涉及到的设计模式的

简而言之,学习也要给自己时间效率压力去实践才能有效果,学习工作能力都是螺旋上升的,看完就说我看过我懂了都是放屁。

7年前 评论

Hi,Guy.很多人学习都会存在一个误区,以为学的越深越好,最后发现事倍功半。

学习一个框架主要是靠项目和手册。概念是需要掌握的,但没有必要全部掌握(精力有限,你也掌握不了)。项目应该从小做起,一点点儿不断优化。Review自己写的代码远比频繁的做项目好很多。有些事情急不得,你需要等它自己熟。

  • 1.做一个小项目,最好别从博客开始,这类项目太多了没有意思,成长不起来;
  • 2.将项目push到github上,让别人可以review你的代码和参与到优化当中;
  • 3.要定期review自己的代码,不断的优化自己的代码,切记想的太大(最近秦皇岛的巴铁项目就是一个例子,很多人以为创新就是搞出来一个成品的东西,出来的东西恰恰科技含量非常低,对于民间造飞机、潜水艇这类的发明,只能呵呵了);
  • 4.多看手册,多用Google(用英文搜索,别用中文),少问问题(你遇到的问题,其实别人肯定也已经遇到过了);
  • 5.多解决phphub中别人的提问而不是提出问题让别人回答。
  • 6.多总结,欢迎在phphub上发布总结贴:smile:
7年前 评论
v1talM

@江边望海 非常感谢!:smiley: 在尝试着写别的东西,用谷歌搜索的话目前很难办到,因为目前我的校园网似乎做了限制很难翻墙出去。一直在关注phphub,以后尽量多去回答别人的问题。最后再次感谢指教!:+1:

7年前 评论
v1talM

@江边望海 目前不知道该写一些什么项目,只会博客、论坛这些东西。太大了的项目写起来也比较费时间,前辈有没有推荐的一个方向?

7年前 评论

@v1talM 本人拙见:可以写一个房贷计算器。先实现基础功能:等额本息和等额本金的计算方式,后期可以加上公积金、邮件提醒等。直接做成移动端适配的那种。比写博客强多了:smile:

7年前 评论
v1talM

@江边望海 那我去搜一搜房贷的这些东西怎么算的:joy:

7年前 评论

@v1talM 不知道你的房贷计算器写出来了吗?

我可是帮你把作业做完了哦

https://github.com/jiangbianwanghai/banklo...

7年前 评论
v1talM

@江边望海 我还没有做完 :disappointed:

7年前 评论

同学,学习针对不需要问太多人,贵在Just Do It

上面说的是我开发的packagist包,现在我的贷款计算器的Demo已经做好了

https://valsups.com

体验一下吧

7年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!