小生求问 公司为什么要用一些小框架

2018-08-10 14:16:39 +08:00
 adminnn
我是实习生,来到一家小公司,发现这个公司用 ci 框架配合自己封装的框架。这里并不是说 ci 不好,我也是才学 php,只是感觉 ci 并不是那么火,而且个人拙见 ci 不如 tp 和 laravel。而且他自己封装的框架貌似也没有多好用,还必须要让我们学让我们开发?为什么?
8545 次点击
所在节点    PHP
77 条回复
Mazexal
2018-08-10 17:19:00 +08:00
@eb22fbb4 大哥你头像我还点进去看了半天, 确实厉害
grayon
2018-08-10 18:32:50 +08:00
ci 就是小巧精炼,简单说就是够用
laravel 感觉有些复杂,写起来感觉不像是在写 PHP 了
fleam
2018-08-10 18:40:54 +08:00
简单说下什么是大项目……
codespots
2018-08-10 20:43:39 +08:00
我挺喜欢 CI 框架的,但老实说,我觉得还是重了点,还是有一堆不必要的东西在里面,要是能把烂七八糟的关于前端的东西裁剪掉才好呢
IssacTomatoTan
2018-08-10 20:55:37 +08:00
框架只是工具 别纠结吃饭是要筷子还是叉子 东西好吃就行
sfree2005
2018-08-10 20:59:52 +08:00
我开始工作的时候也是用很冷门的框架,有些轮子需要自己造,相比于热门框架可以直接用来说麻烦很多。虽然自己造的轮子和热门框架的比起来差了一大截,但还是学到了不少东西。之后过渡到热门框架,其实学习成本真的不高。基本功是最重要的,框架怎么变都会很快学会,不必担心太多。
Cambrian07
2018-08-10 21:07:49 +08:00
有时候我也会有这种疑问,不过我一般会直接问领导,看看是什么样的原因选择了这个框架,如果换其他框架的话可行性已经时间成本分别是多少
adminnn
2018-08-10 21:49:47 +08:00
adminnn
2018-08-10 21:50:03 +08:00
@Cambrian07 好想法 周一我也去问问
adminnn
2018-08-10 21:50:58 +08:00
@fleam 就是那种大到膨胀的 (笑哭
lihongjie0209
2018-08-10 21:52:51 +08:00
只要框架提供一些必备的功能, 并且还在维护中, 那么框架永远是越小越好
yourimage
2018-08-10 22:22:51 +08:00
归结起来是成本.
zhengjian
2018-08-10 22:27:52 +08:00
我觉得 CI 的文档是开源的典范了(个人认为
kzzhr
2018-08-10 22:29:17 +08:00
如果是历史原因可以理解,如果没啥追求赶紧撤
akira
2018-08-10 22:59:06 +08:00
要是现在还有哪家公司在用 foxpro cobol 什么的 ,绝对是不差钱的公司
t6attack
2018-08-10 23:02:20 +08:00
学就学呗。公司收学费还是咋的?
johnnie502
2018-08-11 01:09:00 +08:00
我大清自有国情在此
Tyanboot
2018-08-11 02:16:36 +08:00
CI 其实还是挺不错的,简单高效易学,没有 laravel 封装的那么复杂,只提供了一个轻量级的框架,需要什么可以很方便自己拓展。

CI 还没出 3 的时候我差不多刚学 PHP 一两天,就花了十几分钟看了下 CI 给的一个纯英文的视频,就可以上手写简单的小网站了。后来没多久 CI 3 就出了,尝试看了下 CI 的实现,也是非常轻松的。

laravel 倒是当初看的一头雾水,半天也不知道一堆概念是什么。

所以很可能是你们公司当时选的时候大部分人技术水平还一般,在需要快速出成品的时候去学 laravel 之类的太花时间,就选择了简单的 CI。等后来写的越来越多的时候也没办法重构到其他框架了。

框架什么的都不是重点,只是一个工具,最主要是其中的思想。
ericgui
2018-08-11 04:18:03 +08:00
其实每个公司的代码,都是历史遗留产物,比如 Facebook 一开始是用 PHP 写的,越做越大了,只能在 php 这一条路上走到黑了。

说白了,就是成本。

如果公司下决心花超级大的代价重构,技术上肯定可行,但几乎没有公司会选择这么干。
swkl86
2018-08-11 07:23:56 +08:00
故事 1
我们定当年 ci 框架的时候吧,基本上是公司里那几个领头也就是主程当时用着顺手能快速简单做起来投产,然后发觉框架太精简了,并且 ci2 有个知名的 cookie bug。然后一路升级封装拆分。

后来我实在受不了那个 bug,导致很多业务线干扰,刚好 ci3 稍微稳定了,我就直接升级上去。
之后就习得稳定大过天技能,那段时间带来的损失和几个月修 bug 让我之后远离了 ci,也懂得了没事别手欠去对投产项目搞什么新技术就是牛 x 一定要升级,谁在没把握的情况下升级谁傻逼。
这就是所谓的历史债务吧

不是说 ci 不好,当然也可能是写的太烂了,做个小项目 ci 还是小巧能干的,以至于小到稍微复杂些的业务就得自己造轮子。

但是对于入门学习来说还是很快的,当然了,现在各种技术的快速迭代升级和需求的更新 ci 已经显得有点那么力不从心。

故事 2
后面到我定前台技术栈的时候,
个人倾向于 yii2,不为什么,大!! 全!! 不谈什么臃肿复杂,反正不用怎么造轮子。
但是这方面人稍微比较难招,当时项目比较紧急
选 tp3 吧,看那语法不是说不好,只是感觉别扭感觉后期也是坑
当时 tp5 在 a1 阶段,还有的更新,抛弃。
那 laravel 吧?当时应该还在 4 阶段,看了下版本更新速度跨度过大,不熟,手底下班子也是急忙组的用不了
zf ?不!这是真臃肿了,本土氛围也不好
最终选 yii2 ?不,不合适,人员培训,招聘,成本,氛围都很勉强。

犹豫期间最终看 tp5 到 a2 了,还是 tp5 把,培训班生产,成本低,人多,质量不好可以外包。
就这么愉快的决定了!

为啥不选 java ? go ? py ?
1.成本高,老板不乐意
2.好的都在隔壁 A 厂和养猪厂了。
3.公司无法把控技术风险
所以还是选择我大 php 啦,又快又便宜,还满足当下
毕竟这个已经是跑着的业务不能轻易跨语言,对已有技术栈这样升级不是闲钱多么(主要是菜 :dog )

最终定的 tp5 一路打怪升级进行对老业务的系统升级。
是的,没错,又一次挖了个巨坑,技术人员的整体水平不行以及新需求的不断推进。后面死翘翘了

故事 3
从 tp5 一直挖坑下去,多多少少大部分水平都慢慢上来了。都能写精炼框架了。为啥?中间放手他们自己去折腾了其他几个小框架,大大小小几个项目。花钱砸出来的(哭一会)。
最后,现在基本上就是 tp5 和 laravel5 混着用了,他们顺手用哪个,两个技术部门,交叉开发。
现在慢慢让他们往 c 拓展框架走
哦,后面还有一个独立技术小组,走的 java
前端那边提议开始用 vue,之前用 ag2
后端那边也开始折腾提议 go
代价有点大,但是挺开心嗯,就是经常心痛想砍人

故事 4
新项目上区块链
二话不说肯定 go 啦,不好招,java ?也难
C ?不可能,招不到。(别说钱的问题,问题是没)
后面定的
Go 做核心处理 api
Php 做前台 laravel5
Py3 爬虫
外包扎场前端 vue
不是说不好招么?怎么又搞上了,emmmm 核心逻辑 go 自己几个主程构架去写,php 负责前端业务和数据封装转换,爬虫内推了个
问题?有的,毕竟扎场还是属于外包,一个单页网站首页白屏 20 多秒体会下。拆页解决中。

以上就是个人遇见对框架选型以及历史遗产又或是外在影响最终导致的技术或框架选型之类的问题所见。
可能有点歪楼,手机码字,排版见谅

以上

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

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

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

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

© 2021 V2EX