14 年 7 月份入职,马上 PHP 从业满周年,总结下工作

2015-05-17 23:19:51 +08:00
 linoder
关于PHP:

关于PHP本身就学会了一件事搭框架。最开始用ThinkPHP发现,实现一个小项目引入那么多不必要的文件,实在是杀鸡用牛刀。随即学会了__autoload实现基本的MVC框架,接下来的许多英文站项目就用自己写的框架。进公司后前几个项目只是为了读写XML以及解析HTML源码,框架引入phpQuery作为XML的读写器。后来调用频率高了,服务商会返回Busy状态,自己实现了一个文件形式的Cache类,通过把对象两次json_encode,存储在磁盘,且引入了Cache过期机制(其实很简单,文件头部写明expire time,create time,读到时候判断过期没有,如果过期了重写一下,弊端就是不经常访问的cache会保存在目录。我是在linux下面写了一个Cron定期删除cache …… 好土),熟悉了很多File操作的东西。最近需要用到一些管理功能,就在框架中加入了模仿ThinkPHP的DB操作类,写起代码来顺手了很多。

关于优化:

就会用Memcached,构造出特殊key,实现数据的高速读写,定时持久化到数据库,销毁对象,仅此而已。

关于前端:

说实话,公司中写的前端页面比较少,私活写的多一些。HTML5+CSS3手写能很熟练的依据设计稿写出响应式页面,私有一套适合自己用的CSS reset,当然也结合已有的css reset了。为方便一般会用jQuery,原生JS也会用,但不精通。同样帮朋友写过简单的EDM,了解了很多EDM必须要注意的技术点。也会Bootstrap,不过如果不是特别紧的项目,怕自己荒废了基本功,所以并不经常用。

关于Linux:

说来惭愧,L从上学时候就用,目前也就是chmod、chown、ls、find、grep、axel、lvm分区的vg*、lv*这些基本的命令的水平。

数据库:

老土的增删改查,基本JOIN,或者FULLTEXT/MATCH/AGAINST这些,最多用个事务确保数据并发读取一致。

一句话总结:

范范的度过了一年,又老了一岁。

以后的技术路程,应该怎么走呢?该学哪些呢?
5621 次点击
所在节点    程序员
30 条回复
pein0119
2015-05-17 23:43:33 +08:00
虽然是PHP研发,但不要老是局限于语言层面。
linoder
2015-05-18 00:37:45 +08:00
@pein0119 小公司,重点在于业务逻辑。 算法、数据结构什么的,上学时候也玩过一段时间。工作一年再没怎么刻意玩过。一年时间,学的不多,忘掉的倒是不少。
Wangxf
2015-05-18 02:24:03 +08:00
哈哈,同去年7月毕业,不过我是前端,我司也是用thinkphp,不过网上鄙视tp的蛮多的,不过我觉得蛮顺手啊,可能是没用过其他框架或者本身不是做php的体会不到吧
g8287694
2015-05-18 08:56:16 +08:00
同样是去年7月份 差不多一年 LZ比我强多了
sixbyte
2015-05-18 09:21:48 +08:00
我觉得使用框架会本末倒置
watcher
2015-05-18 09:25:31 +08:00
跟我现在经历差不多,有时间交流一下?q 四1515393五
pein
2015-05-18 09:54:46 +08:00
一年就学成这样,挺厉害的,楼主秋秋多少?一起交流下学习心得
lidashuang
2015-05-18 10:13:26 +08:00
@sixbyte 难道你要从头造轮子!!
huigeer
2015-05-18 10:24:07 +08:00
楼主很不错了, linux还是要多多掌握练习, mysql建议多读读高性能mysql , 设计模式和企业架构方面的也要涉及学习下, 尽量往架构的方面发展
linoder
2015-05-18 10:31:54 +08:00
@Wangxf TP挺好的,只是杀鸡用牛刀不合适。
linoder
2015-05-18 10:33:52 +08:00
@g8287694 都只是用了一下而已,学到的实际上很少,是皮毛。
shenxian
2015-05-18 10:34:33 +08:00
非科班,业余接触PHP快两年了,现在那本《》还没翻完,云主机玩了一堆,用wordpress搭了博客也没怎么写。。感觉我这一年才是迷茫没长进。共勉加油
shenxian
2015-05-18 10:38:19 +08:00
@shenxian 晕 书名忘写了 PHP 和 MySQL Web开发。看书学习,给公司打了个报表数据处理+查询的简易网站
linoder
2015-05-18 10:45:17 +08:00
@sixbyte 用了一段时间框架,确实能学到很多框架的设计思路,虽然也就过眼云烟,但刚看明白的那瞬间是很惊艳的感觉。不过比起原生的自己打磨一个框架,学的效率不多。话说回来了,小公司做出东西才是王道,确保性能和稳定性满足产品需求就行,业务流程是大头。我是这样认为的,你呢?

@watcher 好的加你了。

@pein 不才,许多只是用了一点点,铺展开来说罢了。感觉根本没有学到什么,都是皮毛,但又不知道怎么才算学会。说下你的,我也很想找人交流交流。
@huigeer 谢谢建议,数据库确实很头大。现成的库、表需要操作,难度我感觉不是大问题,毕竟操作不会了还有百度。可是让我独自设计一个系统的表、库结构,我HOLD不住。感觉模块划分更多的依赖于经验,以前就了解“不要通过数据流来划分模块”。不过到现在都不知道怎么样正确的划分。DB用的少,我会找机会多用用的。
ChoateYao
2015-05-18 12:07:27 +08:00
如果你觉得数据库蛮OK,Linux操作系统也还可以,这时候我觉得你可以看下单元测试、代码重构、设计模式、代码整洁之道之类的东西,毕竟这些是基础哪种语言都需要用上。
sixbyte
2015-05-18 12:33:24 +08:00
@lidashuang 小公司确实是要做出东西来, 用框架是正确的.我thinkphp用过一段时间,现在公司用laravel,但由于框架太过强大,有时候会发现,就算不懂php, 看懂框架的官方文档就能编程. 过于依赖框架,就和题主的学习本末倒置了.
raincious
2015-05-18 12:39:44 +08:00
@sixbyte

你刚好说明了框架存在的意义。

相反,如果能用框架做出稳定可靠的东西,为什么要“深入研究”语言特性?何况现在语言的趋势就是尝试忽略具体的技术细节,将注意力集中在业务上,这样才能提高效率。否则PHP这种语言都不会存在,因为C也(就)能写服务器啊,甚至汇编(当然)也能写。

(所以,正因为如此,考察语言细节才能准确体现出程序员的编程能力。
pein
2015-05-18 13:21:47 +08:00
@linoder 28零7702二07
yangmls
2015-05-18 13:45:26 +08:00
@sixbyte 那只能说明你们公司对代码质量的要求太低了,laravel 那点文档根本不顶用,很多代码你想写好,不把 laravel 源码翻得底朝天根本不知道如何写出 best practice 的代码。

我平时和一些 php 码农打交道的过程中,能把 laravel 用好的少之又少。一个人不懂 PHP 也能编程?换句话说,连 PSR 都不懂的码农写出来的 php 代码能看?
linoder
2015-05-18 13:56:53 +08:00
@ChoateYao 我觉得,我目前对于PHP掌握的还是很少。打算再造一个好的轮子。

@sixbyte 偶尔读读好框架的源码真的受益匪浅,Laravel久仰大名一直没看,我是重度手癌患者。


@raincious 的确,差异大多在基本功。http://wulijun.github.io/php-the-right-way/ 我时不时会翻开这个看看。

@pein 已经添加

@yangmls 重度框架用的好真心不容易,我觉得比再造轮子都难。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/191764

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX