首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  PHP

感觉 Laravel 还是太重,有没有什么更加 [小] 却又不失 [优雅] 的框架

  •  
  •   cevincheung · 2016-04-27 00:45:53 +08:00 · 10641 次点击
    这是一个创建于 1149 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Slim 不带 ORM

    Twig 模板引擎有点不太习惯 {% extends('xxx') %} 相比 Blade @extends('xx') 感觉有点复杂了(多敲几次键盘 o( ̄┰ ̄*)ゞ 好矫情)

    路由倒是不错 ( 其实灰常喜欢这种预定路由规则的框框 ヾ(´∀`o)+

    难道一定要自己用 fastrouter+ORM 造轮子么……

    再吐槽一下,Laravel文档太太太太太太太太太弱

    第 1 条附言  ·  2016-04-27 10:16:00 +08:00
    更关键的是这货对 IDE 貌似不怎么友好。 Storm 木有提示……
    第 2 条附言  ·  2016-04-27 10:17:28 +08:00
    或者有木有什么让 laravel 支持 IDE 的方法
    85 回复  |  直到 2016-10-16 00:34:16 +08:00
        1
    jadecoder   2016-04-27 00:49:57 +08:00
    Lumen
        2
    cevincheung   2016-04-27 00:50:27 +08:00
    @jadecoder 木有 blade
        3
    yangqi   2016-04-27 00:57:08 +08:00
    你确实很矫情,选框架不能凭感觉
        4
    hahasong   2016-04-27 01:02:53 +08:00
        5
    orvice   2016-04-27 01:06:16 +08:00
    用 slim + orm
        6
    LINAICAI   2016-04-27 01:09:28 +08:00
    重是因为依赖了很多库的原因吧,看看隔壁 node.js?
        7
    m939594960   2016-04-27 01:09:40 +08:00   ♥ 1
    我和楼主的感觉一样。。 感觉 laravel 笨重 乱七八糟让我这种矫情的人挺不爽
    然后其他的框架 总是各种地方让我很不爽 。。。
    准备自己写个框架吧 。。。还有严重拖延症,而且好些想法写着写着就变了 然后越拖越久。


    打完了上面这些字 我发现 我真 TM 矫情
        8
    KKKKKK   2016-04-27 01:10:04 +08:00 via Android
    flask
        9
    kslr   2016-04-27 01:16:26 +08:00
    @cevincheung 明明是有 blade 的
        10
    yangqi   2016-04-27 01:17:11 +08:00   ♥ 1
    @m939594960 框架就是拿来用的,用的顺手基本都差不多。

    就好比你买把锤子,是用来敲钉子的,结果你矫情半天锤子重量要合适,手感还要好,重量分配也要适中等等不相关的东西,真是本末倒置。
        11
    m939594960   2016-04-27 01:19:25 +08:00
    @yangqi 道理我都懂。现在也在用 laravel 。但是我的强迫症总是逼着我选择更好的。
        12
    herozzm   2016-04-27 01:20:51 +08:00 via Android   ♥ 1
    phalcon ,很轻,就一个 so 扩展文件
        13
    ykjsw   2016-04-27 01:26:26 +08:00
    自己用 composer 搭一个,喜欢用什么组件就用什么
        14
    miyuki   2016-04-27 01:36:51 +08:00 via Android
    Flight
        15
    yangxin0   2016-04-27 01:42:15 +08:00 via iPhone
    rails
        16
    wdhwg001   2016-04-27 02:22:41 +08:00 via iPhone
    php 作为一个以巨大而混乱的库为卖点的语言,本身就可以独立写东西的…
        17
    cevincheung   2016-04-27 02:29:41 +08:00
    @kslr 刚刚看了一下。貌似确实没有。 View 对象不存在
        18
    cevincheung   2016-04-27 02:32:05 +08:00
    @kslr 好吧,我错了。有。
        19
    yangqi   2016-04-27 02:37:47 +08:00
    @cevincheung 有的, lumen 的组件要自己手动在 bootstrap/app.php 里面初始化,默认只有 exception handler 和 kernel.

    https://github.com/laravel/lumen-framework/blob/5.2/composer.json
        20
    zaishanfeng   2016-04-27 05:54:24 +08:00 via iPhone
    不会吧 你想多了 laravel 只是安装包大 用起来真是身轻如燕呢。 建议找找感觉。别先入为主
        21
    tilv37   2016-04-27 07:22:31 +08:00 via Android
    CI
        22
    66beta   2016-04-27 08:07:02 +08:00
    @tilv37 CI 现在也是 laravel 风格
        23
    liuhaotian   2016-04-27 08:17:01 +08:00 via iPhone
    @cevincheung Lumen 最新不是为 API 而生去掉了用户模块吗
        24
    cevincheung   2016-04-27 08:44:00 +08:00
    @liuhaotian 貌似是的,不过你不提我都差点忘了。为毛一个框架要接管用户验证逻辑?
        25
    Roope   2016-04-27 09:06:38 +08:00
    Lumen + Vue.js 所有功能全部暴露成 API ,用 Vue.js 做 SPA
        26
    cevincheung   2016-04-27 09:11:43 +08:00
    @Roope 另外一个话题, vue 是不是就不能让爬虫爬了?
        27
    lee015   2016-04-27 09:11:52 +08:00 via Android
    目前是用 laravel 做管理后台, lumen 做 API
        28
    cevincheung   2016-04-27 09:13:21 +08:00
    @lee015 .....还两个框架。。
        29
    kiancyc   2016-04-27 09:33:39 +08:00
    Codeignitor 3.0
        30
    FanError   2016-04-27 09:44:20 +08:00
    简单的看了下 laravel ,感觉那些依赖注入,反转控制,有点像 spring 那套。
    对于个人而言,假如 php 也整这么复杂的话,不如直接就用 spring boot 了。
        31
    Marser   2016-04-27 09:45:33 +08:00
    果断上 phalcon 啊。。就编译一个 so 文件就行了。。
        32
    Moker   2016-04-27 09:48:43 +08:00
    @cevincheung 不是,有数据请求可以直接爬接口,即使没接口也可以 phontomjs
        33
    eqing   2016-04-27 09:53:59 +08:00
    不知道为什么 laravel 框架要用优雅来形容,所谓的优雅到底是什么概念?
        34
    ango   2016-04-27 09:55:23 +08:00
    相比 Java 或者其它语言来说, Laravel 真不算重,只是由于 PHP 语言特性,相比 PHP 其它的框架稍微有点吃性能而已。
        35
    songjiaxin2008   2016-04-27 09:59:28 +08:00 via iPhone   ♥ 2
    但是看完了别的框架,你还是会用 Laravel (一个能打的都没有)
        36
    500miles   2016-04-27 09:59:36 +08:00
    @eqing

    变量 方法名等 起的性感一点... 反正起名字翻字典半小时以上就是了........

    隐藏细节, 给程序员最直观, 简洁的接口
        37
    Lucups   2016-04-27 10:03:17 +08:00   ♥ 1
    感觉楼主就想挑快递,又要快又要好又要便宜,最后的结果是:...
        38
    cevincheung   2016-04-27 10:16:54 +08:00
        39
    JobsLong   2016-04-27 10:17:50 +08:00
    @eqing Laravel 的核心是让开发者开发时更省心,追求开发速度,优雅指用了很多 PHP 新的特性和其他框架优秀的概念和组件,让你在 Web 开发是专注于去打造应用,而不是折腾工具。

    这应该是 Laravel 的 console 命令 artisan 的含义:

    > 工匠应该专注于作品的创意,不应该浪费精力,没限制地在折腾自己的工具。
        40
    JobsLong   2016-04-27 10:20:03 +08:00   ♥ 1
    楼主可以看一下 https://laracasts.com/series/ 的视频, Laravel 的文档不清晰吗?感觉楼主应该只是缺少一些开发技巧而已 :)
        41
    a15819620038   2016-04-27 10:22:56 +08:00   ♥ 1
    slim + eloquent orm + twig ,再自己写个 service provider 。

    用 slim 还没遇到不能集成的组件,微框架+组件,优雅时髦短小又高效。
        42
    yangqi   2016-04-27 10:26:46 +08:00
    phpstorm 有 laravel 的插件,另外 laravel 添加 laravel-ide-helper 这个 package 之后就会有提示了,很好用
        43
    cevincheung   2016-04-27 10:28:00 +08:00
    @yangqi 我去装一下。话说有洁癖,怎么让 git 部署的时候自动去掉。
        44
    Owenjia   2016-04-27 10:34:24 +08:00 via Android
    yaf 咋样?
        45
    lygmqkl   2016-04-27 10:35:02 +08:00
    如果 laravel 还是觉得重, 我建议你 slim


    用来用去我还是觉得 Yii 2 更对我的脾气。
        46
    CTO   2016-04-27 11:04:54 +08:00
    Yii2 +1
        47
    murmur   2016-04-27 11:15:23 +08:00
    不要因为大就不用 除非这个庞大真的影响了你系统性能 上缓存都没用
    java 那一套 spring 全家桶+hibernate 估计很多人看不顺眼 但是就这一套东西能把就算是弱智都能组织起来做出点什么来还能跑的不错
        48
    suikator   2016-04-27 11:16:47 +08:00 via Android
    新版有 bug 没提示,旧版有提示
        49
    whatisnew   2016-04-27 11:23:27 +08:00
    @CTO Yii2 的 logger 为什么要那么设计?
        50
    1212e   2016-04-27 11:50:52 +08:00
    用着用着发现又拼出了一个 Laravel [doge]
        51
    yangqi   2016-04-27 11:52:17 +08:00
    @cevincheung 放到 require-dev 里面,然后只在 local env 下加载,这样就不影响部署了。
        52
    mcfog   2016-04-27 12:15:59 +08:00   ♥ 1
    L 有 ide-helper ,虽然我就是因为看到有 ide-helper 所以完全对这个东西绝望了(还要那么脏的 hack 才能做到 IDE 支持,和重度依赖 IDE 的我实在三观不合)

    关于 ORM , L 的 Eloquent 其实还是能独立拉出来使的,有些脏项目我还会直接用 NotORM => http://www.notorm.com/ 简单直接粗暴爽

    关于自己玩,建议看看 PSR-7 ,我觉得有潜力干趴 symfony/http-foundation 的,嗯, slim3 也算

    ***广告时间***

    自己撸的 psr7 middleware organizer (嗯,类似 node 家的 connect)

    https://github.com/mcfog/nimo

    基于它和 pimple 容器,反射依赖注入的轻型框架

    https://github.com/mcfog/lit

    自用感觉良好,文档和 example 什么的拖延中……
        53
    Jessey   2016-04-27 12:22:27 +08:00 via iPhone
    ci 用了三年,源码都能背了。不合适就自己改框架源码
        54
    cevincheung   2016-04-27 12:26:00 +08:00
    @mcfog 太懒不想造轮子
        55
    redvoilin   2016-04-27 12:46:16 +08:00
    ruby on rails
        56
    xuwenmang   2016-04-27 13:14:22 +08:00   ♥ 1
    多了你嫌多了,少了你嫌少了。

    其实具体看你做什么, 2000W 的跑车去耕田,连一头 2000 块的驴都不如。

    segmentfault 上看过一个简单的总结:大项目用小框架,小项目用大框架
        57
    elarity   2016-04-27 13:23:36 +08:00
    竟然没有一个人提 Yaf
        58
    cevincheung   2016-04-27 13:44:11 +08:00
    @yangqi 怎么只在 local dev 加载
        59
    cevincheung   2016-04-27 13:44:25 +08:00
    @elarity yaf 不也是自动路由咩?
        60
    LevineChen   2016-04-27 13:48:38 +08:00
    说 Thinkphp 应该会被喷吧
        61
    cevincheung   2016-04-27 13:49:08 +08:00
        62
    php230   2016-04-27 17:31:51 +08:00
    YAF +10086
        63
    visonnn   2016-04-27 18:59:48 +08:00   ♥ 1
    phalcon 美妙得不要不要得
        64
    liyj144   2016-04-27 19:01:22 +08:00
    听到说小,还有比 CI 优雅的吗?
        65
    leonlh   2016-04-27 19:20:17 +08:00
    slim
        66
    cszchen   2016-04-27 19:26:19 +08:00 via iPhone
    @lygmqkl 我也喜欢这个,源码都看了,太全了,开发起来坐火箭一样
        67
    cszchen   2016-04-27 19:29:47 +08:00 via iPhone
    yaf 只有路由,而且很死板,也不支持命名空间。
        68
    cszchen   2016-04-27 19:30:11 +08:00 via iPhone
    个人见解,不喜勿喷
        69
    tomwei7   2016-04-27 20:00:50 +08:00
    slimframework 你值得拥有
        70
    whatisnew   2016-04-27 20:05:14 +08:00
    @mcfog 评论一下 yii2 ?
        71
    lee015   2016-04-27 20:15:06 +08:00 via Android
    @cevincheung
    这是因为一开始 API 也在 laravel 里,觉得太重了就把 API 单独拿出来,稍改下就顺畅移到 lumen 里了,管理后台反正内部使用,就继续 laravel 不改了。
        72
    ayaseangle   2016-04-27 20:18:24 +08:00
    感觉和 rails 一样。
        73
    GhostEX   2016-04-27 20:28:35 +08:00
    @visonnn 美妙在哪里。。。学习成本和使用范围广么
        74
    tcsky   2016-04-27 22:34:57 +08:00
    laravel 安装 ide_helper 扩展就能自动提示了
        76
    audi   2016-04-27 22:42:15 +08:00
        77
    phithon   2016-04-28 00:56:15 +08:00
    用过一段时间 slim+Eloquent+twig , Eloquent 确实好用,我正好用到 slim 里了。
    最开始用感觉轻量的框架( slim )确实好,很多东西像搭积木一样可以自由选择,但时间久了发现,很累,每需要一个新组件,就要再去 composer 里找,要想办法组装到自己的项目里。。
    后来就有这样的感觉,虽然我感觉自己的项目只需要一个轻框架就能搞定,但随着慢慢开发,我就发现其实拼拼凑凑自己的项目也不轻了。这个时候还不如用 laravel 更简单,好维护。
    后来还是用回 laravel 了,但保留了一个 api , api 用的还是 slim 。
    我感觉 slim+Eloquent+twig 还是不错的,楼主可以参考一下。
        78
    JobsLong   2016-04-28 12:20:46 +08:00
    跟着 laravel 5.1 成为更好的 PHP 开发者 - 台湾 Laravel 社群的分享 [PDF Download]( http://7xih70.com1.z0.glb.clouddn.com/phpconf-taiwan-2015grow-with-laravel51-151008114345-lva1-app6891.pdf)
        79
    cloa   2016-04-28 16:24:59 +08:00
    phalcon
        80
    Owenjia   2016-05-12 14:09:12 +08:00
    @elarity
    我前面明明提到了 yaf 啊,为什么说没有人提到呢?
        81
    abc123ccc   2016-07-12 10:32:30 +08:00
    @elarity
    @cszchen

    贴不了图片,郁闷。

    //路由规则
    'bagua163.com'=>array(
    'xingming/:xingming/:danfuxing' => 'Index/xingming',
    'xingming/:xingming' => 'Index/xingming',

    'meizhuang/:page' => 'Cate/index?cate=meizhuang',//
    'meizhuang' => 'Cate/index?cate=meizhuang',
    ),
    'shouji.bagua163.com'=>array(
    ':mobile' => 'Index/shouji',
    ),

    你让 Yaf 实现上面的路由试试,我把它的路由改得和 TP3.1 差不多了,但换到了 PHP7 ,莫名其妙的问题。干脆放弃了 Yaf ,以后再看它吧。

    而且多个二级子域名在路由相同的情况下, yaf 会指到第一个匹配的上面去。弄得我心烦。

    本来匠人就应该注重产品,而我却把焦点放在了工具上。错一次,不想再错第二次。选一个你熟悉的框架就行。
        82
    kekeones   2016-07-26 11:01:46 +08:00 via iPhone
    @abc123ccc yaf 可以实现上面的路由
        83
    abc123ccc   2016-07-27 09:21:54 +08:00
    @kekeones 实现起来很困难吧。我试了一下,各种问题。随后就停止使用 yaf 开发,使用熟悉的 thinkphp3.1 开发。
        84
    xytjy   2016-08-02 15:46:46 +08:00
    你可以试一下 corethink ,很轻量,它是基于 tp 的,不过比 tp 功能更全,
        85
    billowqiu   2016-10-16 00:34:16 +08:00
    laravel 真的好重,看代码都绕来绕去的。。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3852 人在线   最高记录 5043   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 28ms · UTC 09:35 · PVG 17:35 · LAX 02:35 · JFK 05:35
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1