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

Laravel 4 正式发布了

  •  
  •   PrideChung · 2013-05-30 11:40:48 +08:00 · 15082 次点击
    这是一个创建于 3974 天前的主题,其中的信息可能已经有所发展或是发生改变。
    Laravel ( http://laravel.com/ ) 是现在PHP社区里面相当火的一个full stack框架,大量地使用了PHP 5.3带来的闭包功能,使得语法比较简洁。主要功能包括路由,ORM,DB Migration,模板,单元测试,命令行工具,还有其他乱七八糟的东西。之前说过在5月内发布,最后两天终于赶上了,官网也改版了,十分漂亮。

    这次更新比较大的变化是去除了Laravel之前自己的包管理系统,拥抱PHP社区的新星Composer,引入了一些Symphony的组件,框架的体积无可避免地变大了。
    模板的关键字也有所改变,其实我个人不太明白这么改的意义,作者说是为了更好的可读性,我觉得没什么区别,还会给升级带来麻烦。

    其他还有各种琐碎的改变,见Changelog。
    http://wiki.laravel.io/Changelog_(Laravel_4)

    打算在下个私人项目里面试试。
    70 条回复    1970-01-01 08:00:00 +08:00
    kiancyc
        1
    kiancyc  
       2013-05-30 13:53:25 +08:00   ❤️ 1
    试了下Laravel4的Beta,感觉很不错。应该是目前PHP框架里面最好用的。
    希望正式发布了代码实例能多点。
    Feobe
        2
    Feobe  
       2013-05-30 14:14:40 +08:00
    更爱kohana。
    subpo
        3
    subpo  
       2013-05-30 14:17:21 +08:00
    看起来好屌
    endintro
        4
    endintro  
       2013-05-30 15:02:39 +08:00
    和symphony比较有什么优势?
    blandlove
        5
    blandlove  
       2013-05-30 15:10:36 +08:00
    表示钟爱她的 路由 ,架构清晰
    KiseXu
        6
    KiseXu  
       2013-05-30 17:25:30 +08:00
    请问这个单词怎么读
    PrideChung
        7
    PrideChung  
    OP
       2013-05-31 11:50:37 +08:00
    @endintro 没用过Symphony,不太好说,PHP的框架成百上千,估计没几个人能挨个试,只能看别人的评价和眼缘了。


    @KiseXu 看看老外是怎么念的 https://tutsplus.com/course/whats-new-in-laravel-4/
    pubby
        8
    pubby  
       2013-05-31 12:02:42 +08:00
    用Zend+Propel的飘过 ,功能足够,性能凑活~~~
    xhinking
        9
    xhinking  
       2013-05-31 12:36:50 +08:00
    一眨眼就到4了。。
    PrideChung
        10
    PrideChung  
    OP
       2013-05-31 13:37:24 +08:00
    @xhinking 所以说是现在社区相当火的一个框架,开发十分活跃,基本一年一个大版本。
    RelativeLayout
        11
    RelativeLayout  
       2013-05-31 14:00:01 +08:00   ❤️ 1
    我觉得Laravel是最好的PHP框架。
    sobigfish
        12
    sobigfish  
       2013-05-31 16:43:19 +08:00
    从laravel4 beta3 用回laravel3了-。-
    crny520
        13
    crny520  
       2013-06-07 17:48:46 +08:00
    @PrideChung 安装好像都不行...
    crny520
        14
    crny520  
       2013-06-07 17:55:42 +08:00
    @RelativeLayout 该不会要安装该死的Composer吧?有没有3的包下载,我找了半个都找不到.
    PrideChung
        15
    PrideChung  
    OP
       2013-06-07 18:06:48 +08:00
    @crny520 Laravel4已经完全拥抱Composer了,添加package就跟写Gemfile一样超方便的。新项目不再建议用3了,要是对Laravel4不感兴趣的话,还是趁早换一个框架吧,Laravel3已经不会再有什么大更新的了。
    crny520
        16
    crny520  
       2013-06-07 18:09:19 +08:00
    @PrideChung 怎么我下载的包才38K?
    PrideChung
        17
    PrideChung  
    OP
       2013-06-07 18:36:33 +08:00
    @crny520 因为框架的依赖全都通过Composer来安装,框架本身也可以通过Composer安装。
    haiyang416
        18
    haiyang416  
       2013-06-07 18:48:35 +08:00 via Android
    之前一直用3,但是自从4的代码发出来,读了源码之后就换框架了。
    它连有php原生函数的功能都要自己封装一遍,比如文件操作类,unlink要封装成delete,还有很多多,3的时候就这样,到4了就更变本加厉了。
    虽说它是为了统一操作,但是我还是接受不能啊…
    Feobe
        19
    Feobe  
       2013-06-07 19:12:39 +08:00
    @haiyang416
    我还以为是别名而已,为了代码的语义性、可读性。

    ...封装了,是不是有点走火入魔的味道了- -
    PrideChung
        20
    PrideChung  
    OP
       2013-06-07 21:01:51 +08:00
    @haiyang416 @Feobe

    我越来越感觉Laravel有野心要成为PHP界的Rails,从它非常重视测试这一点可以看出来,虽然不像Cack那样照搬Rails。接纳了在Composer之后在包管理方面也可以跟Gemfile对应了,大概封装越来越重也是必然的了,但愿不会成为另一个Zend就好……
    PrideChung
        21
    PrideChung  
    OP
       2013-06-07 21:05:20 +08:00
    @PrideChung CakePHP,打错字
    crny520
        22
    crny520  
       2013-06-07 22:39:26 +08:00
    @PrideChung Composer在Laravel目录下composer install安装不了...
    PrideChung
        23
    PrideChung  
    OP
       2013-06-07 23:38:57 +08:00
    @crny520 哪用这么复杂,你安装好了composer以后,按官网的guide在命令行里面敲:

    composer create-project laravel/laravel

    然后经过漫长的等待,composer就会把Laravel的核心还有一大堆依赖像什么symfony,doctrine(doctrine?!)都给你装好了。

    我刚才出于对漫长的安装过程的好奇,看了下安装好以后的文件夹大小,101.8M…… Laravel你作大死啊,想成为第二个Zend么,之前的beta明明装好之后才7多M啊!

    好吧,仔细看了一下,有101.3M的体积都被vendor目录占了,vendor目录里面 Laravel自己的Core只有5.8M,剩下体积最大的两个货,一个是doctrine40.3M, 一个是symphony38.9M。

    Laravel你不是有自己的ORM么,把doctrine这货加进来是要闹哪样啊喂,我先上官网看看到底是什么回事。
    Feobe
        24
    Feobe  
       2013-06-08 10:52:45 +08:00
    要是真能一统江湖,或者撑起半边天,对于php框架届泥沙俱下的生态真是个功德

    支持吧
    alexzhou
        25
    alexzhou  
       2013-06-08 11:05:21 +08:00
    在php的框架技术上有什么实质性的突破吗
    PrideChung
        26
    PrideChung  
    OP
       2013-06-08 13:23:25 +08:00   ❤️ 1
    被Laravel4膀大腰圆的体积吓得夜不能寐,做了些研究,发现有个哥们提出了解决方案了。

    https://github.com/barryvdh/laravel-vendor-cleanup

    Laravel在引入依赖的时候,不知道为什么选择了别人的开发分支,里面有大量的文档,测试用例,git提交历史,把这些通通删掉以后,vendor目录瞬间缩到只有8.6M,跟Laravel3比还是大了一点,不过起码是在可接受的范围内。
    kiancyc
        27
    kiancyc  
       2013-06-08 14:12:48 +08:00
    @PrideChung 体积大是因为引入了Symfony。其实composer最大的好处就是你完全可以自定义自己要下载/加载什么包。Doctrine被Symfony加载,但是Laravel自己用的是Eloquent ORM.
    PrideChung
        28
    PrideChung  
    OP
       2013-06-08 14:28:08 +08:00
    @kiancyc Symfony和Doctrine都是被Laravel引入的,并不是写在我自己的composer.json里面。不知道这两组件用在了哪些地方,不过显然不建议你移除它们。还好,其实都是虚胖,按照我上面的方法能把整个框架体积减小到10M以内,压缩后大概是3M。
    summic
        29
    summic  
       2013-06-08 14:31:33 +08:00
    我也遇到了下载不下来的问题,上vps下载好打包拿回来

    vendor太大无所谓的,只是依赖而已。
    PrideChung
        30
    PrideChung  
    OP
       2013-06-08 14:52:42 +08:00
    @summic vendor的体积当然有所谓了,很多网站是部署在共享空间上靠FTP上传的,硬盘空间可能只有100M。fluxbb下一个版本打算基于Laravel来开发,你觉得有多少人会想用一个100多M的论坛。
    summic
        31
    summic  
       2013-06-08 14:58:06 +08:00
    @PrideChung

    我out了。好多年不接触共享空间了。
    PrideChung
        32
    PrideChung  
    OP
       2013-06-08 15:56:55 +08:00
    @summic 不是out不out的问题,有些Freelancer给别人开发网站,他们的客户有可能用任何的方式把网站部署到任何可能的环境,不是所有客户都是用Linode的高富帅。
    summic
        33
    summic  
       2013-06-08 21:05:13 +08:00
    @PrideChung 这种情况的话确实不太适合lavarel,一旦对方php版本还低于5.3呢
    metaclass
        34
    metaclass  
       2013-06-08 21:40:23 +08:00
    Python攻城师围观PHP社区垂死挣扎
    allenhsu
        35
    allenhsu  
       2013-06-08 22:09:03 +08:00
    @metaclass 女朋友派来的么
    metaclass
        36
    metaclass  
       2013-06-08 22:43:10 +08:00
    @allenhsu 开玩笑了,不要放心上
    allenhsu
        37
    allenhsu  
       2013-06-08 22:46:38 +08:00
    @metaclass 我也只是引个 Joke
    PrideChung
        38
    PrideChung  
    OP
       2013-06-09 01:18:28 +08:00
    @summic 5.3的问题还好,毕竟5.3都出来好几年了,现在还不支持的主机商肯定也离死不远了,上道的主机商现在都普遍支持5.4了。
    PrideChung
        39
    PrideChung  
    OP
       2013-06-09 23:28:48 +08:00 via iPhone
    @haiyang416 好奇问下,换哪个框架了?
    baocaixiong
        40
    baocaixiong  
       2013-06-11 16:10:37 +08:00
    实在搞不懂。我新手都不知道从哪里看起了。。。。
    PrideChung
        41
    PrideChung  
    OP
       2013-06-11 16:39:28 +08:00
    @baocaixiong 从官方的 Quick Start 看起 http://laravel.com/docs/quick
    tenking
        42
    tenking  
       2013-06-12 21:31:33 +08:00   ❤️ 1
    aravel4发布了,偶有时间就赶紧学习了下,学习过程中把以前laravel3的demo全部迁移到了laravel4,内容涵盖laravel4中的分页,文件上传,一对一,一对多,多对多等知识点,总体来说laravel4还是值得学习的

    昨天把阿里云服务器升级到了Ubuntu12,顺便就把demo程序放上来了

    围观地址:http://laravel4.chedushi.com/

    源码出来供大家吐槽!

    https://github.com/cecoo/laravel4demo
    Htom
        43
    Htom  
       2013-06-12 21:55:01 +08:00
    我爱laravel
    coffeego
        44
    coffeego  
       2013-06-13 21:38:59 +08:00
    其实觉得thinkphp不错
    Hyperion
        45
    Hyperion  
       2013-06-13 21:46:49 +08:00
    观望... 感觉我不大会选择这种把事情变得好复杂的框架... 能用原生函数我绝对不会选择二手货...

    吐槽一下, quick页的代码高亮有问题啊, 好感度-10000.
    PrideChung
        46
    PrideChung  
    OP
       2013-06-13 23:37:31 +08:00
    @Hyperion

    你还是可以用CodeIgniter的,API稳定,文档完备,除了Laravel我只推荐CI。
    Quick Start的高亮有啥问题,我这看着好好的。
    Hyperion
        47
    Hyperion  
       2013-06-14 00:25:32 +08:00
    @PrideChung CI专业户表示赞同...

    你仔细看, </p>木有高亮...
    ericsion
        48
    ericsion  
       2013-06-14 09:48:53 +08:00
    laravel很不错 从出来就关注了 国内的开发群从20几个人到现在的200多个 说明大家对他的关注度越来越高了 喜欢它的优雅
    另:slim也不错 slim+redbeans
    solupro
        49
    solupro  
       2013-06-17 19:03:40 +08:00
    这个最近曝光率很高呀!
    minowu
        50
    minowu  
       2013-06-18 02:25:49 +08:00
    Laravel把Controller,Model之类的类放置于全局命名空间下,这点很不爽,不能像symfony一样分bundle模块来开发,而且去改他的命名空间,还发现在Laravel框架运行后,改写了Composer的autoload加载方式。
    coffeego
        51
    coffeego  
       2013-06-28 08:45:13 +08:00
    @tenking 放在github下的代码能否直接拿下来跑?在公司不能通过composer上外网安装,都知道Laravel要下载一堆包,所以想有个现成的项目,能在它基础上开发,这样就不用下载东东了。
    PrideChung
        52
    PrideChung  
    OP
       2013-06-28 12:47:08 +08:00
    @coffeego 不行,github上Laravel的repo是不带任何依赖的,需要通过composer安装。你可以先在有网络的地方把依赖的东西下好了,再把整个文件夹打包带走。
    rezus
        53
    rezus  
       2013-06-28 13:33:13 +08:00
    请问头像是哪个动漫里面的人物.
    PrideChung
        54
    PrideChung  
    OP
       2013-06-28 13:36:54 +08:00
    @rezus 中二病也要谈恋爱 - 小鸟游六花 CV:内田真礼

    严重OT了
    allengaller
        55
    allengaller  
       2013-07-01 14:58:40 +08:00
    中毒了,搞起。
    KiseXu
        56
    KiseXu  
       2013-07-01 15:35:30 +08:00
    Composer用着很爽,特别是存在互相依赖关系时。我是不是out了
    tenking
        57
    tenking  
       2013-07-02 19:52:20 +08:00
    @coffeego
    可以直接跑的,vendor的源码我也放上去啦
    kiancyc
        58
    kiancyc  
       2013-07-03 17:33:34 +08:00
    再一次:
    “But as noted by Taylor, disk size is getting less important and you only include the files you need.”
    --http://forums.laravel.io/viewtopic.php?id=8175

    只是下载的包比较多,要不要加载(甚至下载)都是你可以控制的,这就是整个框架都用composer下载的好处。
    kiancyc
        59
    kiancyc  
       2013-07-03 17:36:14 +08:00
    kohana 2,378 2.1% Ful PHP FPM ngx My Raw Rea 0
    silex 2,364 2.1% Mcr PHP FPM ngx My Raw Rea 0
    aspnet-mvc 1,710 1.5% Ful C# Net ngx Mo Raw Rea 0
    laravel 1,639 1.4% Ful PHP FPM ngx My Raw Rea 0
    fuel 1,410 1.2% Mcr PHP FPM ngx My Raw Rea 0
    lithium 1,410 1.2% Ful PHP FPM ngx My Ful Rea 0
    phreeze 1,410 1.2% Mcr PHP FPM ngx My Mcr Rea 0
    cake 1,287 1.1% Ful PHP FPM ngx My Ful Rea 0
    aspnet-mvc 1,157 1.0% Ful C# Net ngx My Ful Rea 0
    aspnet-mvc 1,130 1.0% Ful C# Net ngx Pg Raw Rea 0
    silex 1,002 0.9% Mcr PHP FPM ngx My Ful Rea 0
    symfony2 879 0.8% Ful PHP FPM ngx My Raw Rea 0
    aspnet-mvc 871 0.8% Ful C# Net ngx Pg Ful Rea 0
    sinatra 561 0.5% Mcr Rby JRb Res My Ful Rea 0
    aspnet-mvc 119 0.1% Ful C# Net ngx My Raw Rea 9
    servicestack 51 0.0% Plt C# Net IIS My Raw Rea 8

    --http://www.techempower.com/benchmarks/
    运行速度还是比Symfony快的
    kiancyc
        60
    kiancyc  
       2013-07-03 17:40:03 +08:00
    Using "composer install --prefer-dist" cuts the size to about 21 MB.

    You can set that option by adding 'config' in your app/composer.json:

    "scripts": {
    "post-update-cmd": "php artisan optimize"
    },
    "config": {
    "preferred-install": "dist"
    },
    "minimum-stability": "dev"
    PrideChung
        61
    PrideChung  
    OP
       2013-07-03 19:18:41 +08:00
    @kiancyc 作者Tylor一直坚称L4的速度比L3还有CodeIgniter都快,但是貌似其他人测出来都是慢了不少,不知道他自己还做了什么优化没。
    zhouitpro
        62
    zhouitpro  
       2013-07-05 10:46:41 +08:00
    这个框架我第一次玩玩就惊讶了。这么简单就搭建起来一个后台的和前台直接的路由? 哇太强大了很喜欢
    cai314494687
        63
    cai314494687  
       2013-07-05 15:11:44 +08:00
    跟Yii比起来呢?Yii2 也出来了,也是支持Composer的,不过目前是测试版。
    PrideChung
        64
    PrideChung  
    OP
       2013-07-05 15:47:45 +08:00
    @cai314494687 没用过Yii,不太清楚。
    ruchee
        65
    ruchee  
       2013-07-05 18:39:42 +08:00
    现在新出的框架大都用上Composer了,但不管怎么折腾,总感觉使用Composer的祖师爷Symfony更靠谱一些
    PrideChung
        66
    PrideChung  
    OP
       2013-07-05 20:23:17 +08:00
    @ruchee 感觉Symfony现在成了PHP社区里面的基层建筑,很多框架或者CMS都拿它的代码来用,Laravel也不例外。
    cngump
        67
    cngump  
       2013-08-18 19:39:28 +08:00
    最近试了一下Laravel 4,架构各方面还是不错的。 竟然看到 @pridechung 老贴。
    PrideChung
        68
    PrideChung  
    OP
       2013-08-18 19:53:39 +08:00
    @cngump 说来惭愧,到现在都没真正实践过Laravel,最近在玩Ruby的另一个Web框架Padrino。
    fuckdingding
        69
    fuckdingding  
       2013-09-16 02:54:06 +08:00
    垃圾框架,跟SF2比真是个垃圾,从symfony1.1用到2.3,无数次帮助了我实现了项目,而且symfony2是一种哲学,laravel4基于他的component和bundle乱搞一通就他妈拿出来发布说自己的框架,一傻逼而已,跟zend framework2一样,一群拿来主义者,我想如果sf2是一个收费框架,也有很多人买的,什么laravel,连bundle都这么少,垃圾
    yakczh
        70
    yakczh  
       2014-04-17 09:47:34 +08:00
    有lavarel做的网站吗
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3724 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 10:48 · PVG 18:48 · LAX 03:48 · JFK 06:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.