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

Lumen 初体验

  •  
  •   MrJing1992 · 2015-05-03 14:36:52 +08:00 · 9919 次点击
    这是一个创建于 3497 天前的主题,其中的信息可能已经有所发展或是发生改变。
    39 条回复    2015-05-10 23:02:21 +08:00
    Feobe
        1
    Feobe  
       2015-05-03 17:32:37 +08:00
    sf不错。
    没看到楼主对lumen的点评,你的感觉是?
    branchzero
        2
    branchzero  
       2015-05-03 17:43:45 +08:00
    和slim类似的一个微应用框架,回头试试去。
    感谢分享
    gDD
        3
    gDD  
       2015-05-03 18:12:46 +08:00 via iPhone   ❤️ 6
    只看到一个初学者在 SF 生硬而又蛋疼地想把 .htaccess 出现的问题归为框架代码的错,围观他用各种手法调试并找到正确的解决方法之后,还顺带研发出一堆错误的解决方案,于是随着问题的“解决”这“初体验”就结束了…
    Septembers
        4
    Septembers  
       2015-05-03 18:20:04 +08:00 via Android
    @gDD 就一个简单URL Rewrite问题
    Moker
        5
    Moker  
       2015-05-03 18:22:40 +08:00
    我在本地执行安装命令 一直显示connecting.....
    Septembers
        6
    Septembers  
       2015-05-03 18:37:17 +08:00 via Android
    @Moker 网络问题 请上VPN/代理
    MrJing1992
        7
    MrJing1992  
    OP
       2015-05-03 18:49:36 +08:00
    @Feobe 我是 Laravel 粉,但是有时候写一个很简单的东西确实没有必要使用完全上 Laravel,一般就只用 Eloquent,然后使用其他的 Router,比如:[https://github.com/noahbuscher/Macaw](https://github.com/noahbuscher/Macaw)。而 Lumen 的出现,就有了官方的方案了。优点:像使用 Laravel 一样,优雅简单;相对于 Laravel,在运行速度上有绝对的优势。

    @branchzero 不谢,Lumen 的定位和 Slim、Silex 是相同的,官方也给出了性能对比。我没有使用过 Slim,以前的方式就是使用 composer 拼凑一个自己用的“小框架”,现在有了 Lumen,就直接用 Lumen了。
    magicdawn
        8
    magicdawn  
       2015-05-03 18:54:00 +08:00
    bootstrap/app.php

    我看到
    <?php

    为什么没有关闭标签...?
    ?>
    magicdawn
        9
    magicdawn  
       2015-05-03 18:54:26 +08:00
    我记得我学过的php不是这样的呀...
    MrJing1992
        10
    MrJing1992  
    OP
       2015-05-03 18:57:57 +08:00
    MrJing1992
        11
    MrJing1992  
    OP
       2015-05-03 19:03:57 +08:00
    @Moker composer 中国镜像: http://pkg.phpcomposer.com
    Moker
        12
    Moker  
       2015-05-03 19:19:09 +08:00
    @Septembers
    @MrJing1992 谢了.....哎..国内环境
    falcon05
        13
    falcon05  
       2015-05-03 19:58:19 +08:00 via iPhone
    基本上是开箱即用的,cd到public目录,执行php -S localhost:8000,即便使用国内镜像,composer 还是很蛋疼,每次update那个慢啊~
    Moker
        14
    Moker  
       2015-05-03 20:00:16 +08:00
    @falcon05 我下载了好久。。。现在折腾了下 可以用了.....哎
    wulin
        15
    wulin  
       2015-05-03 20:23:39 +08:00
    还可以,比较简单
    adami
        16
    adami  
       2015-05-03 23:17:10 +08:00 via iPhone
    @magicdawn 不要结束标签是正确的,本来就不应该要
    lyf362345
        17
    lyf362345  
       2015-05-04 00:24:44 +08:00
    Laravel 做了减法而已, 继续用 L, 不觉得重, 项目小用不到的特性不用就是, 这些减法是替我节省了硬盘还是内存还是CPU? 我不在乎
    babyname
        18
    babyname  
       2015-05-04 07:46:33 +08:00 via iPhone
    我来砸场子了 通篇在说自己遇到的坑 而这些坑在经验丰富的人手里都可以避免 还是希望多一些对这个框架的理解和见解之处
    xzl
        19
    xzl  
       2015-05-04 08:41:25 +08:00
    头回看见还可以把自己的设置错误说的这么优雅。。。
    MrJing1992
        20
    MrJing1992  
    OP
       2015-05-04 09:25:56 +08:00 via iPhone
    @lyf362345 你都已经说不在乎了,那我应该说点啥呢?Laravel 中的服务就算你不用,在应用启动时就加载了,部分服务是缓启动,但是有序列化的操作。Lumen 也换了路由组件,牺牲部分特性换取性能。Lumen 是微框架,Laravel 是全栈框架,全栈框架自然可以解决微框架的事情。正面回答你的问题,内存硬盘 CPU 都有节省。
    laoyur
        21
    laoyur  
       2015-05-04 09:40:11 +08:00
    昨天就想回复了,但手机不方便
    吐个槽:还以为楼主是要分享Lumen跟Laravel的异同,结果通篇就看见在纠结URL最后的/问题,说好的Lumen初体验呢?简直文不对题嘛
    当然,分享精神还是值得称道的
    MrJing1992
        22
    MrJing1992  
    OP
       2015-05-04 09:41:12 +08:00
    @babyname 我是来护场子的。首先我同意你的建议,在我没有深入了解的情况下我不会随便烂说,了解后我会给出自己的理解。至于那些坑,我在入手 Laravel 就接触过,看见同一问题被很多人问过很多次后,我就决定写下,希望可以帮到别人。我现在在考虑是不是应该在文章开头加上“这是给新手看到,老鸟请路过”。我觉得故意隐藏细节,直接丢结论是一种炫耀的行为,我又不是牛顿。故意给出细节,让其他人知晓发生的过程,对其他人才是有帮助的,你说对不?话说,你为什么要砸场子?

    @xzl 我安装后什么都还没有开始设置,就被你口成:“头回看见还可以把自己的设置错误说的这么优雅”,我不理解。
    server
        23
    server  
       2015-05-04 10:17:42 +08:00
    对laravel的public 还是比较赞的,虚拟目录的根在 public下 可以保证 其他资源不被暴露.
    kimmykuang
        24
    kimmykuang  
       2015-05-04 10:39:23 +08:00
    最近在看ROR,发现你们提到的这些,其实ROR都玩过了
    eeeeeeve
        25
    eeeeeeve  
       2015-05-04 10:39:31 +08:00
    能打败Rails么?
    MrJing1992
        26
    MrJing1992  
    OP
       2015-05-04 10:54:31 +08:00
    @kimmykuang @eeeeeeve 我没有接触过 Ruby 和 Rails,我倒是经常听说 Laravel 前期是在借鉴 Rails。
    MrJing1992
        27
    MrJing1992  
    OP
       2015-05-04 10:55:37 +08:00
    @server 确实如此,但是使用虚拟空间的用户一般是没有办法修改 Apache 的配置的,所有就有了第三个方案。
    MrJing1992
        28
    MrJing1992  
    OP
       2015-05-04 11:02:30 +08:00
    @laoyur 你先抑后扬,谢谢啊。

    如果我把标题换成《Lumen 和 Laravel 的异同》的话,才是文不对题,会被群殴的。至于为什么这个标题会让你以为是“楼主是要分享Lumen跟Laravel的异同”我不知道。

    你的那个槽点吐得很有意思,我其实是在文章最后故意来了一句“所以,……”,哈哈。

    一般来说,不能以自己的意愿来期待或者要求别人写什么内容。这句不是针对你说的,因为我作为公民的一份子,我还挺想别人修改修改宪法的,不知道是否可行。
    laoyur
        29
    laoyur  
       2015-05-04 11:27:09 +08:00
    @MrJing1992 知道Lumen的人肯定都知道Laravel,鉴于Lumen是新出的,大家应该更想了解Lumen和Laravel的区别
    关于你文章内容跟标题让人有点跌眼镜,相信不是我一个人的感觉,你自己看看回帖吧
    另外,suffix slash的forwarding问题,不是Lumen独有的,可是你的文章中却基本上是围绕这个在讲,跟你的标题实在有点不符
    最后,别人的确“不能以自己的意愿来期待或者要求别人写什么内容”,我也只是发表一下自己的观感而已 :),你扯到宪法神马的是不是有点远……
    quix
        30
    quix  
       2015-05-04 11:29:03 +08:00
    标榜优雅的 php 框架... 实在不相信 php 能优雅到哪里去
    MrJing1992
        31
    MrJing1992  
    OP
       2015-05-04 11:37:28 +08:00
    @laoyur 好吧,我确实没有想到“知道Lumen的人肯定都知道Laravel,鉴于Lumen是新出的,大家应该更想了解Lumen和Laravel的区别”。我希望我的文章对遇到同样问题的人有帮助就好了,而且可以帮助别人从 Apache 配置和 Lumen 源码上去明白发生问题的原因。其实,我也只是发表一下自己的观感而已。
    MrJing1992
        32
    MrJing1992  
    OP
       2015-05-04 11:41:00 +08:00
    @laoyur 抱歉,我也意识到我扯宪法是扯远了,本来是想举个栗子来表达观点的,但是发现加上这个,我的语言就变得有攻击性了。我表示道歉。
    neutrino
        33
    neutrino  
       2015-05-04 12:28:25 +08:00
    本想选slim的,laravel 4熟用lumen,然而依赖依然很多。差别还是有一点的,要赞一下出错信息的改动容易看多了。。
    yangmls
        34
    yangmls  
       2015-05-04 12:48:06 +08:00
    这个思路应该更多还是针对虚拟空间的,不过 cpanel 这类,基本都是支持修改 htaccess 甚至连 php.ini 都能改,绑个域名也都是简单的,所以这篇文章的价值不大。

    话说 vagrant 都这么好用了,至少在开发环境下我们是不是推荐 homestead 更好,而不是想出这些蛋疼的解决方案来迁就新手。。。
    MrJing1992
        35
    MrJing1992  
    OP
       2015-05-04 12:53:28 +08:00
    @yangmls 我倒不是为了迁就,只是多给几个思路,也说明一下原因。如果只有一个站点就方案一,多个站点就方案二,不能改配置就从代码方法入手。我也是使用的 Vagrant,homestead 我没有使用,因为我觉得使用 Vagrant 就好了。我们服务器用的是 CentOS,laravel/homestead 和我们的实际要求不太符合。
    lujiajing1126
        36
    lujiajing1126  
       2015-05-04 15:36:35 +08:00
    @magicdawn php可以不需要关闭标签,而且不关闭才是对的
    magicdawn
        37
    magicdawn  
       2015-05-04 16:12:29 +08:00
    @lujiajing1126 那为什么要 `<?php` 这个鬼

    直接纯代码不更好么...
    laoyur
        38
    laoyur  
       2015-05-05 09:53:16 +08:00
    @magicdawn 直接纯代码……php是可以和html混编的,没有<?php开始标签的话,怎么区分是不是php代码?-------》 <?php开始标签和结束标签都是规范

    36楼的说法需要补充一下,应该是纯php文件,推荐不写关闭标签,因为这样可以防止后续新增php代码时被意外地写到了关闭标签之后。----------》这里不写关闭标签却是实战经验了,事实上php官网doc中也这么推荐
    mingyun
        39
    mingyun  
       2015-05-10 23:02:21 +08:00
    这么说Lumen可以做后台独立的API接口了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1186 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 22:54 · PVG 06:54 · LAX 14:54 · JFK 17:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.