以前学了些基础,很零星。这学期从三月份开始一直持续学习 php 到现在。前不久用 thinkphp 做了个小的项目,前端界面和功能基本实现了,后台代码大概八九百行吧。但是却越做越没动力了,再看看我写的代码,基本都是简单的 curd ,没有一点技术含量。然后我看了看 onethink 的源码,和一些开源的内容管理系统,基本看不懂。学到现在,我都不知道我能做什么项目,真的不知道该如何继续学习 php 。。。(马山要找实习:亚历山大啊)!
1
bdbai 2016-05-18 23:17:48 +08:00 via Android
把你认为重复的 curd 进行抽象,压缩冗余代码量,顺便造个轮子出来,然后就能长进不少。
|
4
evax OP @bdbai 这些概念,不知道该如何下手,我自己做的一些小项目,不知道该如何去应用这些技术。不过你说的这些,我会去了解的。
|
5
GhostEX 2016-05-18 23:49:54 +08:00
做的小项目不如贴出来看看。
|
6
evax OP @GhostEX http://www.thinkphp.cn/code/2007.html 这是我昨天贴上的,上面有些介绍。
|
7
bdbai 2016-05-19 00:11:27 +08:00 via Android
@bdbai 了解以后都可以派上用场的,比如:在数据访问层前面加上缓存,用消息队列来给用户发邮件,把整个应用制作成 Docker 镜像等等。如果能想办法 hold 住高并发就更好了。
|
9
msg7086 2016-05-19 00:16:37 +08:00
用 ab 做压测看性能,然后试着提高它。(缓存? Nginx 上黑科技优化?)
提示消息都是中文的,试着做成多语言版本? 我看了你的代码,其实写得还是挺不错的。再接再厉。 |
10
vacker 2016-05-19 01:29:09 +08:00
同为新手,正在熟悉 laravel ,可以多交流下 ,企鹅 86056380
|
11
ICU 2016-05-19 09:03:39 +08:00
比我当时强多了,找到实习,然后在工作中去学习了!!
|
12
mapleth 2016-05-19 09:07:16 +08:00 1
做的还不错啊
|
13
krivol 2016-05-19 09:26:53 +08:00 via Android
不错
|
14
somnus 2016-05-19 09:43:23 +08:00
很腻害了,还用上了 onething/..
PHP 的话会增删改查差不多了, |
20
kobe1941 2016-05-19 10:32:17 +08:00
慢慢来,刚开始的时候,学习曲线是比较陡峭的,过几个月就好了,加油!
|
21
evax OP @ICU 没有面试过,不知道差什么。所以现在感觉什么都想学,什么都没学够。如果现在只满足于实习的水平而不深入,就没什么意思了。
|
23
dearmadman 2016-05-19 10:35:50 +08:00
@evax 你可以参考我写的这篇: http://www.jianshu.com/p/ceec037d0641
如果实在无聊的话 建议刷几遍 php.net 推荐你读下这本书《 Modern PHP 》 |
25
evax OP @dearmadman 感谢你的建议。我会参考的。
|
26
alexsunxl 2016-05-19 10:55:11 +08:00 1
@evax
除了上面大家说这些闭门造车造轮子,硬生生熬过迷惘期,我还有另外一个建议,你可以参考一下 去参加一些顶级的技术大会,看看最牛逼的人在干什么,关注什么东西,业界有什么新趋势。还有聆听他们分享的经验和业务抽象。总之就是绝对值回门票和机票 比如我自己,身为一个前端, 就从深圳飞去北京参加了 第二届 php 国际大会。 我们家的 php 后端都没去(我觉得很可惜,错过不是一般的多) 我是会不惜一切抓住能提升自己的机会。 当然业界会有很多大会,也有很多质量差的,我的最主要考量就是看演讲嘉宾。 第二届 php 国际大会邀请到了 php 创始人 Rasmus ,还有 php 第一网红鸟哥,还有几个档次非常高的大神。就冲着他们去,想象他们不会让人失望。 |
27
alexsunxl 2016-05-19 10:56:11 +08:00
上面最后的”想象”打错了, 是相信
|
28
evax OP @alexsunxl 现阶段我接触这方面的机会不大,毕竟水平和能力都还太弱,而且还在校。等以后工作了,我会很有兴趣参加类似的活动的!
|
29
evax OP @alexsunxl 我想请问一下,现在做 php 开发,用框架多呢还是原生 php 多。我一直很困惑,到底我是花时间学框架,还是花时间了解 php 基础。
|
30
likezun 2016-05-19 11:14:45 +08:00 1
学习 symfony 框架吧 ,可以开拓你的视野, 难度大, 收益巨大!
|
32
alexsunxl 2016-05-19 11:28:56 +08:00 2
@evax
https://www.zhihu.com/question/46236752/answer/100767894?from=profile_answer_card 知识能力论,能解决你这个问题, 20%是知识, 80 %是能力,你可以先看一下我知乎的回答,道理是相同。 你记了很多框架 api ,原生 phpAPI , 但这些仅仅是知识。 比如你对原生 phpAPI 和 tp 的 api 记得很熟。然后去你 a 公司面试, a 公司业务用 yii , 你的 tp api 对他们没有意义,只有原生 api 稍微有意义, 这时候你的知识分就会减分,但如果你有能力(能力权重是 80 ),就完全可以把分数拉高了。 所以原生和框架并不重要,重要的是提高能力,然后偶尔兼顾一下知识。 问题来了,怎么提高能力,我这里先给个入门版的。 那就是 不挑框架,深入去做一个复杂项目(涉及队列和异步,比如说完成发邮件,发短信的模块,处理到某个时间点会自动改变状态的数据-->常见的是倒计时商品) 当你完成这些复杂度,你的能力自然就上来了,当你能力上来之后,就无所谓这框架,那框架了,不就是背背 api ,看看源码,写写 hello world 就能熟悉吗 |
33
nigelvon 2016-05-19 11:29:59 +08:00 via Android
不建议深入学 thinkphp ,楼主在哪个城市
|
36
likezun 2016-05-19 12:26:39 +08:00 2
@evax 我就不会 tp , 我推荐 yaf PHALCON zf2 Laravel sf2 YII 哪个都行, 唯独不推荐 tp . 这和找工作没关系。
以下引用: TP 最大的优点兼缺点,是灵活(多快好省?大跃进?率性而为?说白了就是不规范),怎么方便怎么来,力求快速上手,直奔小康,一夜建成社会主义。 当其他框架发誓要让 PHP 程序规范起来的时候, TP 把这种不规范发挥到了新的高度。风骚的 C D F M I 方法,让人心醉。 TP 能在中国流行,根本原因是 TP 公司的商业模式很成功,跟培训机构合作.第二,中文文档全,国内程序员英文能力都不怎么的(大部分是大专本科生).第三,营销模式很成功,社区拉拢新手,洗脑的好。 |
37
changwei 2016-05-19 12:29:08 +08:00
CURD 是工具,只会 CURD 就像富士康的工人只会操作流水线上的机器一样没什么区别。
在写代码的过程中学会发现问题解决问题。发现的问题有可能是架构模块的划分,代码的解耦等等,然后进阶到学习设计模式,学习写出高效的,可维护的,高内聚低耦合的代码,我觉得这些东西要比看几个手册学几个 CMS 背几个 API 要更加有用。 |
38
changwei 2016-05-19 12:32:15 +08:00
@likezun TP 已经推出了 5.0 了,已经没有单字母全局函数了,而且也有人说 CDFMI 之类的方法简洁,认为这种简洁就是优点。
|
39
vacker 2016-05-19 13:41:06 +08:00
我也是新手,希望和更多的 php 学习者交流,前面发了企鹅加楼主,没想到有几个 V2EX 的加我,为了方便所以就建了个企鹅群 154283168 有兴趣的就加吧,希望各位大神多多指导。
|
40
yuyu233 2016-05-19 15:00:06 +08:00
|
41
Ouyangan 2016-05-19 15:27:59 +08:00
很不错啊, 继续加油
|
43
evax OP @changwei 我就是越写越觉得实在重复工作,每个方法都是 curd ,让后读结果,渲染模板,太机械了。所以之前做的项目暂时搁浅了,再深入学习点再继续做。
|
44
agui2200 2016-05-19 16:20:13 +08:00
首先,楼上说的 XX 框架,不太建议以框架为入门,框架一般都有自己的属性,不一定适合你,也包含了一些错误 /优秀的实践,
楼主学习阶段,最好还是以原生代码为主,同时学编码规范为辅,学到基本的(原生)CURD 能写的很溜,去看框架,学用 IDE, |
45
agui2200 2016-05-19 16:22:25 +08:00
补楼上,原生学的好,看个框架源码问题都不大了,就去 github 上面溜源码,各种设计模式都看看.这个时候对框架有个概念了,就基本算是"可以做事"的状态了.这个时候可以考虑模拟一些小业务去做,
关于编码规范: 推荐<PHP 之道> 可以阅读的书也很多,不要买国内培训机构出版的图书就可以了. 下面我觉得你也应该会怎么往下学习了 |
47
evax OP @agui2200 现在开始补 php 原生语法,之前学的基础都是网上看的,东一点西一点。有答主推荐了 php 和 mysql web 开发,我现在正在看。倒是发现了许多之前没注意过的细节。框架的话,目前我还是用 tp 吧,当前目标还是找工作啊。。。
|
48
wensonsmith 2016-05-19 16:38:39 +08:00
PHP 语法和这些框架都是高层的东西, 你要想学下去,要去了解 自动加载,命名空间,魔术方法
http://laravel-china.github.io/php-the-right-way/ 这个是 php 之道,你从头到尾过一遍 然后自己练手写个矿建 http://www.zhihu.com/question/26635323/answer/33812516 看看这两个连接里面有多少是自己的不会的,一个一个的学 |
49
evax OP @wensonsmith 谢谢指导。我会花使用这两个链接的。
|
50
AbrahamGreyson 2016-05-19 17:12:16 +08:00 1
自己抱怨“枯燥没技术含量”,别人给你推荐 symfony 你还不愿意。
其实试用下别的东西和你自己的工作并不矛盾,业余或者下班时间就看 symfony 去吧,组件都会用了, php 和 oop 也学差不多了。另外就是 php.net ,一遍遍读文档,不读个 10 来遍写代码会卡壳,除非你过目不忘。 另外,我十分不赞同, “ XXX 不适合上手” 这种说辞,什么叫上手? 你自己理解不了就回去补编程基础,老是拉低别人做什么呢。我没觉得 tp 比其它任何东西“更容易上手”。 那么问题来了, 你是愿意用一个让你变成代码猴子的工具, 还是一个真正能提升你技术水平的。 |
51
GhostEX 2016-05-19 17:20:53 +08:00
|
52
xuwenmang 2016-05-19 17:25:31 +08:00
先搞 Java/C# 再回到 PHP ,会有一种从太空看地球的感觉。一切都清爽了。
|
55
tttimit 2016-05-19 18:03:23 +08:00
看看我翻译的这篇文章 http://v2ex.com/t/278300#reply0
|
56
Light3 2016-05-19 18:16:16 +08:00
楼上吐槽框架的真是够了。感觉你写的比我好多了页面 - - symfony2 你可以等到你 2 年经验的时候开始看 会提升很大。会发现和之前的那些东西完全不一样。 TP 有 TP 的好 我司现在就用的 你说哪个 TP 版本 现在一般用 TP3.2 的多一点 5 还是测试没人用 少听瞎扯 多自己看看东西 比如鸟的博客
|
57
snriud 2016-05-19 18:33:04 +08:00
你的经历竟然同我如此类似。我也是今年三月份开始辞职(原汽车行业苦逼产品工程师)学习,看完手册上的常用扩展之后也是从 thinkphp 这个框架入手学习的。打算先做一个功能比较完善的博客系统。有时也会迷茫,也不明白自己离能够上手工作还差多远...
|
59
evax OP @snriud 我之前做的那个小项目就是打算做博客系统的,虽然只做了前台页面和功能。我们可以交流。我 q : 674310383
|
61
evax OP 再次感谢楼上各位 v 友的意见和建议。从你们的回答中,我得到了很多学习方法和学习资料,我相信会对我有很大帮助。我目前的打算:先用 tp ,因为我想在这个暑假投实习。所以想熟练这个框架。等有了一定基础后,我会学习其他更强大的框架。而且我也没打算一直用 tp 。 laravel and symfony2 都是更强大的框架。鉴于自己的特点,暂时等稳定了再学习。
|
62
Light3 2016-05-19 18:57:02 +08:00
@evax 看你实习阿 TP 用多了也就那样 会 CURD 就好了。。 没准你去那个公司就是低头写接口。。闲事可以多看看各种博客 多接触一点 服务器基础 JS CSS3 Html5 这些对你找实习有帮助
|
63
cjyang1128 2016-05-19 18:57:56 +08:00
可以看下 php 源码,深入理解 php 的运行机制,这方面可以从研究 php7 的优化上入手。或者熟悉一下其他的 PHP 框架,看里面的源码,了解各个框架的原理是啥。 php 的话肯定是 web 开发,也可以再深入学习一下 HTTP 协议,甚至是网络层的协议。数据库那块也有一大坨东西。对你的项目而言,你有写单元测试吗,你有试过压力测试吗( Jmeter ),你知道怎么去优化你的代码上的性能问题吗,你是否尝试过用设计模式去优化过你的代码结构,你的 sql 是否优化过(索引,批量),或者你的网站有安全上的漏洞吗( XSS , sql injection )骚年你做的东西很棒,我衷心的建议是在现阶段好好夯实基础,其他复杂的东西了解就行了,静下心来,看好你~祝你找到一个不错的实习~
|
64
evax OP @cjyang1128 感谢你的建议。我现在也在补基础了。我想的还是一边学习基础,一边做点练手的小项目。
|
66
wannianma 2016-05-20 09:28:21 +08:00
推荐看这本书《深入 PHP 面向对象、模式与实践》,也许能解答一部分你现在的疑惑
|
67
changwei 2016-05-20 09:47:16 +08:00
@wannianma 这本书我买过,这本书偏理论研究,而不是实际运用(甚至有个章节是介绍如何自己设计一个“设计模式”),我觉得这本书更适合已经做了一两年开发然后网上又简单的了解过设计模式的人去看的。
|
68
changwei 2016-05-20 09:48:51 +08:00
@evax 所以说这种工作缺乏创造性,你现在应该是想做一些有创造性的工作而不是重复的工作,可以考虑往 PM 方向转啊,没事多了解了解自己在做的项目,或者和 PM 多聊聊,网上多学学。甚至自己创业。
|
70
Patrick95 2016-05-20 11:04:52 +08:00 1
楼主我跟你的情况大致差不多 可以交个朋友抱团取暖吗。
|
73
jswh 2016-05-20 13:14:32 +08:00
都是 curd ?先自己写个 orm 喽
|
77
evax OP fsdafasd
|