cevincheung
V2EX  ›  PHP

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

  •  
  •   cevincheung · Apr 27, 2016 · 14649 views
    This topic created in 3843 days ago, the information mentioned may be changed or developed.

    Slim 不带 ORM

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

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

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

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

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


    打完了上面这些字 我发现 我真 TM 矫情
    KKKKKK
    KKKKKK
    Apr 27, 2016 via Android
    8
    flask
    kslr
    kslr
    Apr 27, 2016
    9
    @cevincheung 明明是有 blade 的
    yangqi
    yangqi
    Apr 27, 2016❤️1
    10
    @m939594960 框架就是拿来用的,用的顺手基本都差不多。

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

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

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

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

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

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

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


    用来用去我还是觉得 Yii 2 更对我的脾气。
    CTO
    CTO
    Apr 27, 2016
    46
    Yii2 +1
    murmur
    murmur
    Apr 27, 2016
    47
    不要因为大就不用 除非这个庞大真的影响了你系统性能 上缓存都没用
    java 那一套 spring 全家桶+hibernate 估计很多人看不顺眼 但是就这一套东西能把就算是弱智都能组织起来做出点什么来还能跑的不错
    suikator
    suikator
    Apr 27, 2016 via Android
    48
    新版有 bug 没提示,旧版有提示
    whatisnew
    whatisnew
    Apr 27, 2016
    49
    @CTO Yii2 的 logger 为什么要那么设计?
    1212e
    1212e
    Apr 27, 2016
    50
    用着用着发现又拼出了一个 Laravel [doge]
    yangqi
    yangqi
    Apr 27, 2016
    51
    @cevincheung 放到 require-dev 里面,然后只在 local env 下加载,这样就不影响部署了。
    mcfog
    mcfog
    Apr 27, 2016❤️1
    52
    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 什么的拖延中……
    Jessey
    Jessey
    Apr 27, 2016 via iPhone
    53
    ci 用了三年,源码都能背了。不合适就自己改框架源码
    cevincheung
    cevincheung
    OP
    Apr 27, 2016
    54
    @mcfog 太懒不想造轮子
    redvoilin
    redvoilin
    Apr 27, 2016
    55
    ruby on rails
    xuwenmang
    xuwenmang
    Apr 27, 2016❤️1
    56
    多了你嫌多了,少了你嫌少了。

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

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

    本来匠人就应该注重产品,而我却把焦点放在了工具上。错一次,不想再错第二次。选一个你熟悉的框架就行。
    kekeones
    kekeones
    Jul 26, 2016 via iPhone
    82
    @abc123ccc yaf 可以实现上面的路由
    abc123ccc
    abc123ccc
    Jul 27, 2016
    83
    @kekeones 实现起来很困难吧。我试了一下,各种问题。随后就停止使用 yaf 开发,使用熟悉的 thinkphp3.1 开发。
    xytjy
    xytjy
    Aug 2, 2016
    84
    你可以试一下 corethink ,很轻量,它是基于 tp 的,不过比 tp 功能更全,
    billowqiu
    billowqiu
    Oct 16, 2016
    85
    laravel 真的好重,看代码都绕来绕去的。。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1434 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 142ms · UTC 22:00 · PVG 06:00 · LAX 14:00 · JFK 17:00
    ♥ Do have faith in what you're doing.