Laravel 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
Laravel 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
Laravel 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 MIT
开发语言 PHP 查看源码 »
操作系统 跨平台
软件类型 开源软件
所属分类 Web应用开发Web框架
开源组织
地区 不详
投 递 者 红薯
适用人群 未知
收录时间 2011-07-15

软件简介

Laravel 是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。

功能特点

1、语法更富有表现力

你知道下面这行代码里 “true” 代表什么意思么?

$uri = Uri::create(‘some/uri’, array(), array(), true); 

另外,你知道其他参数在这里的意思么(除了第一个)?当然你不知道。因为这行代码没有表现力。 

再看看这段代码: 

$url = URL::to_secure(‘some/uri’); 

这个表达式使用HTTPS协议创建了一条URL链接, 事实上,上面两种写法都在做同样的事情,但哪一个更一目了然,更富有表现力呢?

2、高质量的文档

CodeIgniter非常流行原因之一是它有良好的文档。这对程序员来说是十分方便的。相比之下,Kohana一个在技术上比CI更加优秀的框架,但你猜怎么着? 大家不在乎Kohana技术有多强,因为Kohana的文档实在是太糟了。 而Laravel 有一个非常棒的的社区支持。Laravel代码本身的表现力和良好的文档使PHP程序编写令人愉快。

3、丰富的扩展包

Bundle是Laravel中对扩展包的称呼。它可以是任何东西 -- 大到完整的ORM,小到除错(debug)工具,仅仅复制&粘贴就能安装任何扩展包!Laravel的扩展包由世界各地的开发者贡献,而且还在不断增加中。

4、开源、托管在GITHUB上

Laravel是完全开源的。所有代码都可以从Github上获取,并且欢迎你贡献出自己的力量。

技术特点

1、Bundle是Laravel的扩展包组织形式或称呼。Laravel的扩展包仓库已经相当成熟了,可以很容易的帮你把扩展包(bundle)安装到你的应用中。你可以选择下载一个扩展包(bundle)然后拷贝到bundles目录,或者通过命令行工具“Artisan”自动安装。

2、在Laravel中已经具有了一套高级的PHP ActiveRecord实现 -- Eloquent ORM。它能方便的将“约束(constraints)”应用到关系的双方,这样你就具有了对数据的完全控制,而且享受到ActiveRecord的所有便利。Eloquent原生支持Fluent中查询构造器(query-builder)的所有方法。

3、应用逻辑(Application Logic)可以在控制器(controllers)中实现,也可以直接集成到路由(route)声明中,并且语法和Sinatra框架类似。Laravel的设计理念是:给开发者以最大的灵活性,既能创建非常小的网站也能构建大型的企业应用。

4、反向路由(Reverse Routing)赋予你通过路由(routes)名称创建链接(URI)的能力。只需使用路由名称(route name),Laravel就会自动帮你创建正确的URI。这样你就可以随时改变你的路由(routes),Laravel会帮你自动更新所有相关的链接。

5、Restful控制器(Restful Controllers)是一项区分GET和POST请求逻辑的可选方式。比如在一个用户登陆逻辑中,你声明了一个get_login()的动作(action)来处理获取登陆页面的服务;同时也声明了一个post_login()动作(action)来校验表单POST过来的数据,并且在验证之后,做出重新转向(redirect)到登陆页面还是转向控制台的决定。

6、自动加载类(Class Auto-loading)简化了类(class)的加载工作,以后就可以不用去维护自动加载配置表和非必须的组件加载工作了。当你想加载任何库(library)或模型(model)时,立即使用就行了,Laravel会自动帮你加载需要的文件。

7、视图组装器(View Composers)本质上就是一段代码,这段代码在视图(View)加载时会自动执行。最好的例子就是博客中的侧边随机文章推荐,“视图组装器”中包含了加载随机文章推荐的逻辑,这样,你只需要加载内容区域的视图(view)就行了,其它的事情Laravel会帮你自动完成。

8、反向控制容器(IoC container)提供了生成新对象、随时实例化对象、访问单例(singleton)对象的便捷方式。反向控制(IoC)意味着你几乎不需要特意去加载外部的库(libraries),就可以在代码中的任意位置访问这些对象,并且不需要忍受繁杂、冗余的代码结构。

9、迁移(Migrations)就像是版本控制(version control)工具,不过,它管理的是数据库范式,并且直接集成在了Laravel中。你可以使用“Artisan”命令行工具生成、执行“迁移”指令。当你的小组成员改变了数据库范式的时候,你就可以轻松的通过版本控制工具更新当前工程,然后执行“迁移"指令即可,好了,你的数据库已经是最新的了!

10、单元测试(Unit-Testing)是Laravel中很重要的部分。Laravel自身就包含数以百计的测试用例,以保障任何一处的修改不会影响其它部分的功能,这就是为什么在业内Laravel被认为是最稳版本的原因之一。Laravel也提供了方便的功能,让你自己的代码容易的进行单元测试。通过Artisan命令行工具就可以运行所有的测试用例。

11、自动分页(Automatic Pagination)功能避免了在你的业务逻辑中混入大量无关分页配置代码。方便的是不需要记住当前页,只要从数据库中获取总的条目数量,然后使用limit/offset获取选定的数据,最后调用‘paginate’方法,让Laravel将各页链接输出到指定的视图(View)中即可,Laravel会替你自动完成所有工作。Laravel的自动分页系统被设计为容易实现、易于修改。虽然Laravel可以自动处理这些工作,但是不要忘了调用相应方法和手动配置分页系统哦!

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击加入讨论🔥(13) 发布并加入讨论🔥
发表了资讯
03/13 15:45

Laravel 11 正式发布

Laravel 11 和 Laravel Reverb 现已发布。Reverb是 Laravel 生态系统的最新成员,是第一方、可扩展的 WebSocket 服务器,旨在为用户的应用程序提供强大的实时功能。 Laravel 11 引入了:极简应用结构、默认使用 SQLite、实现 health routing、提供每秒速率限制、支持优雅的加密密钥轮换、改进队列测试、引入新的 Artisan 命令、添加 Resend 邮件传输、集成 Prompt validator、新的 Artisan commands、Model Casts 改进、The onc...

6
3
发表了资讯
2023/02/02 07:31

Laravel v9.49.0 已发布,经典 PHP 框架

经典 PHP 框架 Laravel 现已更新到 9.49 版本,带来以下更新: 添加 添加 Illuminate/Database/Schema/ForeignKeyDefinition::noActionOnDelete()( #45712 ) 向 HTTP 客户端添加了新的 throw 辅助方法 ( #45704 ) 添加了对 WorkCommand 输出时间戳的可配置时区支持 ( #45722 ) 添加了对包含枚举的转换数组的支持 ( #45621 ) 添加了“缺失”验证规则 ( #45717 ) 添加 /Illuminate/Database/Eloquent/SoftDeletes::forceDeleteQu...

5
0
发表了资讯
2022/08/17 07:29

Laravel 9.25 发布,经典 PHP 框架

经典 PHP 框架 Laravel 现已更新到 9.25 版本,带来以下更新: 添加 添加 whenNotExactly 到 Stringable ( #43700 ) 为 Model::query()->touch() 添加了批量更新时间戳的功能 ( #43665 ) 修复 使用不受支持的列时,防止 db/model 命令出错 ( #43635 ) 修复 ensureDependenciesExist 运行时错误 ( #43626 ) 在 php 8.1 中自动转换字段的 Null 值导致的贬损警告 ( #43706 ) db:table 命令正确处理不存在的表 ( #43669 ) 改变了 在...

12
1
发表了资讯
2022/05/26 07:12

Laravel v9.14.0 发布,经典 PHP 框架

Laravel framework 包含 PHP 框架 Laravel 的核心代码,目前更新了 9.14.0 版本,主要更新内容如下: 添加 添加了为 MySQL 和 Postgres 添加表注释的功能 ( #42401 ) 添加了动态废弃工厂状态 ( #42414 ) 添加了 Illuminate/Collections/Arr::prependKeysWith() ( #42448 ) 向 TestCase 添加了可启动特征(#42394) 修复 修复 updateOrCreate 和 firstOrCreate 上的克隆问题 ( #42434 ) 防止在 RateLimiter@tooManyAttempts ( #4...

0
0
发表了资讯
2022/03/04 07:35

Laravel v9.3.0 发布,经典 PHP 框架

Laravel framework 包含 PHP 框架 Laravel 的核心代码,目前更新了 9.3.0 版本,主要更新内容如下: 新增 ( #41232 ) 添加 NotificationFake::assertNothingSentTo( ) ( #40931 ) 支持 --ssl-ca 模式加载和转储 ( #41096 ) 将 whereNot() 添加到 Query Builder 和 Eloquent Builder ( #41123 ) 在数组验证消息中支持索引和位置占位符 ( #41233 ) 添加资源绑定 ( #41256 ) 新增通过 chain($pipes) 将其他管道推送到管道上的功能 ...

12
1
发表了资讯
2022/02/09 07:57

Laravel 9 正式发布

Laravel 9 正式版已发布,新功能包括:使用 PHP v8.0、控制器路由组、新的默认 Ignition 错误页面、Laravel Scout 数据库引擎、集成 Symfony Mailer、Flysystem 3.x、改进的 Eloquent 访问器/修改器,以及更多功能。 全新的首页设计 发布公告显示,Laravel 9 是下一个长期支持版本 (LTS),在 2024 年 2 月之前都会接收到错误修复,在 2025 年 2 月之前则是安全修复。此外,从 Laravel 9 开始,Laravel 的发布周期也有所改变:大...

40
2
发表于开发技能专区
2022/01/27 07:28

Laravel framework 8.81.0 发布,Laravel 框架核心库

Laravel framework 包含 PHP 框架 Laravel 的核心代码,目前更新了 8.81.0 版本,主要更新内容如下: 新增 添加 Illuminate/Support/Stringable::scan()(#40472) 允许在返回对象的虚拟属性访问器中禁用缓存 ( #40519 ) 添加了更好的按位运算符支持(#40529) 在集合上添加了 getOrPut ( #40535 ) 改进 PhpRedis 刷新逻辑 ( #40544 ) 添加 Illuminate/Support/Str::flushCache()(#40620) 修复 修复 unicode 的 Str::headlin...

3
0
发表了资讯
2022/01/06 07:06

Laravel framework 8.78.0 发布,Laravel 核心框架

Laravel framework 包含 PHP 框架 Laravel 的核心代码,目前更新了 8.78.0 版本,主要更新内容如下: 添加 添加schedule:clear-mutex命令 ( #40135) 添加了定义额外默认密码规则的功能(#40137) 向 Illuminate Http Request 类添加了一个 mergeIfMissing 方法 ( #40116) 添加Illuminate/Support/MultipleInstanceManager(40913ac) 添加SimpleMessage::lines()(#40147) 添加Illuminate/Support/Testing/Fakes/BusFake::ass...

4
1
发表了资讯
2021/12/15 07:52

Laravel framework 8.76.0 发布,Laravel 核心框架

Laravel framework 包含 PHP 框架 Laravel 的核心代码,目前更新了 8.76.0 版本,主要更新内容如下: 新增 添加了自定义子模型路由绑定分辨率的可能性(#39929) 添加了 Illuminate/Http/Client/Response::reason() ( #39972 ) 添加了 afterRefreshingDatabase 测试方法 ( #39978 ) 向 Illuminate/Http/Client/Response 添加了 未授权-unauthorized() 和 禁止-forbidden()(#39979) 在 stub:publish 命令中发布 view-component...

5
0
发表了资讯
2021/12/01 07:28

Laravel framework 8.74.0 发布,Laravel 核心框架

Laravel framework 包含 PHP 框架 Laravel 的核心代码,目前更新了 8.74.0 版本,主要更新内容如下: 新增 在 PruneCommand 命令中增加了可选的 except 参数 (#39749, be4afcc) 添加Illuminate/Foundation/Application::hasDebugModeEnabled()(#39755) 添加Illuminate/Support/Facades/Event::fakeExcept()和Illuminate/Support/Facades/Event::fakeExceptFor()(#39752) 为 Eloquent 驱动添加聚合方法 (#39772) 在 Arr 助手...

4
0
发表于开发技能专区
2021/11/24 06:45

Laravel framework 发布 8.72.0 和 8.73.0 版本

Laravel framework 是 PHP 框架 Laravel 的核心部分,目前发布了 8.72.0 和 8.73.0 版本,主要更新内容如下: 8.72.0 版本变更: 新增 在 PasswortReset 中添加了额外的方法来重置 URL, 以匹配 VerifyEmail 的结构(#39652) 在复数表达式(Str::plural)中添加对可数值(countable values)的支持。(#39641) 允许用户为 DatabaseMigration trait 指定 migrate:fresh 选项(#39637) 修复 Illuminate/Database/Query/Builder:...

1
0
发表了资讯
2021/11/18 07:34

Laravel framework v8.71.0 发布,Laravel 核心框架

Laravel framework 包含 PHP 框架 Laravel 的核心代码,目前更新了 8.71.0 版本,主要更新内容如下: 新增 添加了 denied 和 denied_if 验证规则 ( #39579 ) Arrayable/collection 支持 Collection::splice() 替换参数 ( #39592 ) 引入 @js() 命令 ( #39522 ) 枚举类型转换现在可接受支持的值 ( #39608 ) Macroable 特性添加了一个方法,用于删除所有配置的宏。(#39633) 修复 修复了自动生成的 Markdown 视图 ( #39565 ) DB ...

3
1
发表了资讯
2021/11/04 07:13

Laravel 8.69.0 发布,PHP 开发框架

Laravel v8.69.0 已发布,主要更新如下: 新特性 改进异常处理的内容协商 ( #39385 ) 添加了对 MariaDB 的 SKIP LOCKED 的支持 ( #39396 ) 自定义将字符串转换为 Stringable ( #39410 ) 添加Illuminate/Support/Str::mask()( #39393 ) 允许将模型属性转换为 Enum ( #39315 ) 添加了 Enum 验证规则 ( #39437 ) Auth:允许在凭据数组中使用回调(#39420) 添加成功和失败命令断言 ( #39435 ) 修复 更改列时将 CURRENT_TIMESTAMP ...

1
0
发表于开发技能专区
2021/10/13 18:49

Laravel v8.64.0 已发布,简洁的 PHP 开发框架

Laravel v8.64.0 已发布,主要更新如下: 添加 加入 reduceMany 到集合中 ( #39078 ) 加入 Illuminate/Support/Stringable::stripTags()(#39098) 加入 Illuminate/Console/OutputStyle::getOutput()(#39099) 加入 lang_path 辅助函数 (#39099) 加入 @aware blade 指令 ( #39100 ) 加入新事件 JobRetrying( #39097 ) 在客户端响应中加入 throwIf 方法 ( #39148 ) 加入了 hasAny() 到集合中 ( #39155 ) 修复 修复了 PHP 8.1 ...

14
2
发表于大前端专区
2020/11/17 08:29

Laravel 8.14.0 发布,PHP Web 开发框架

Laravel 8.14.0 发布。Laravel 是 Taylor Otwell 开发的一款基于 PHP 语言的 Web 开源框架,采用了 MVC 的架构模式,2011 年 6 月首次发行。Laravel 具备 Rails 敏捷开发等特质,深度集成 PHP 强大的扩展包(Composer),有 PHP 开发者者生态,近几年的增长为各 PHP 框架之最。 本次更新包括: added: 添加分派唯一作业的能力(#35042,2123e60) 添加Model::encryptUsing()(#35080) 添加对 MySQL 转储和使用套接字的支持(...

16
0
发表于大前端专区
2020/06/21 07:42

Laravel 7.16 发布

Laravel 7.16 发布了,更新内容包括: Added 添加 makeVisibleIf 和 makeHiddenIf 方法到 Illuminate\Database\Eloquent\Concerns\HidesAttributes 添加了为 make:policy命令指定自定义防护的选项 添加 theme 属性到 Illuminate\Mail\Mailable 类 Changed 改进 reflector 通过关系子查询简化易用性 改进事件订阅者 v7.16.1 还原事件分派器中的句柄数组回调 更新说明:https://laravel-news.com/laravel-7-16-0...

5
2
发表于大前端专区
2020/06/07 08:00

Laravel 7.14 发布

Laravel 7.14 发布了,更新内容包括: Added 视图(Views):使属性在 render 方法中可用 将 forceDeleted 方法添加至 SoftDeletes 添加了 Illuminate\Filesystem\Filesystem::guessExtension() 方法 添加了 Illuminate\Http\Client\Request::toPsrRequest() 添加了 Illuminate\Support\MessageBag::addIf() 方法 提供 psr/container-implementation 支持 PHP 8 的反射 API 此版本还有一些 bug 修复,详情见: https://laravel-...

9
0
发表于大前端专区
2020/04/20 07:25

Laravel 7.6 发布

Laravel 7.6 发布了,更新内容包括: Added 新增 Collection::until() 方法 (#32262) 新增 HtmlString::isEmpty() 方法 (#32289, #32300) 新增 Illuminate\Support\Stringable::isNotEmpty() 方法 (#32293) 新增 ltrim() 和 rtrim() 方法到 Illuminate\Support\Stringable 类 (#32288) 增加了跳过中间件的功能 (#32347, 412261c) 新增 Illuminate\Http\Client\Response::object() 方法 (#32341) 设置组件别名 (#32346) 新增 Il...

4
0
发表于大前端专区
2020/04/11 07:44

Laravel 7.5 发布

Laravel 7.5 发布了,主要更新内容包括: 新的 Http 客户端断言 新版本带来了 Http 客户端的两种新测试方法: Http::assertNotSent( function ($request) { return $request->hasHeader( 'X-First' , 'foo' ) && $request->url() == 'http://test.com/users' && $request[ 'name' ] == 'Taylor' && $request[ 'role' ] == 'Developer' ; }); ...

3
0
发表于大前端专区
2020/04/03 07:31

Laravel 7.4 发布

Laravel 7.4 发布了,更新内容如下: Added 使用于 make:policy 的 stubs 可定制 (#32040, 9d36a36) 为集合实现 HigherOrderWhenProxy (#32148) 新增 Illuminate\Testing\PendingCommand::expectsChoice() (#32139) 新增对 “props” blade tag 的默认值支持 (#32177) 新增 Castable 接口 (#32129, 9cbf908, 651371a) 添加了从查询生成器中删除订单的功能 (#32186) Fixed 在 PendingMailFake::sendNow() 和 PendingMailFake::s...

10
2
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
Laravel 安全漏洞
反序列化
Laravel是Laravel 团队(Laravel)的一个Web 应用程序框架。 Laravel 9.1.8 版本存在安全漏洞,该漏洞源于在处理攻击者控制的反序列化数据时,可以执行远程代码。
CVE-2022-30778 MPS-2022-10162
2022-08-08 19:06
Laravel 远程代码执行漏洞
Laravel 是一个PHP的Web 应用程序框架。 Laravel 9.1.8 允许通过 Illuminate\Broadcasting\PendingBroadcast.php 中的 __destruct 和 Faker\Generator.php 中的 __call 处理恶意反序列化数据。 攻击者可利用该漏洞执行任意代码,甚至接管服务器。
CVE-2022-31279 MPS-2022-11335
2022-08-08 19:06
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
13 评论
387 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部