为什么 Laravel 会成为最成功的 PHP 框架?

Laravel是二个有所美好前程的青春框架,它的社区充满着活力,相关的文书档案和学科完整而清晰,并为飞快、安全地开垦今世应用程序提供了不可或缺的功用。在近几年对PHP框架流行度的总计中,Laravel始终当先。那么是什么样让Laravel成为最成功的PHP框架?

Laravel 是意气风发套为网页美术师创制的,简洁、温婉的 PHP Web
开辟框架。本学科翻译自 Laravel
V5.1
官方意大利共和国语文书档案。

对于 Web 开采者来说,PHP
是意气风发款极其强盛而又受接待的编制程序语言。世界上无数一级的网址都以依靠 PHP
开拓的。譬如,照片墙 便是应用 PHP
来制造和保养他们的里边系统;流行的开源博客系统 WordPress 也是依照 PHP
完成。

图片 1

Laravel 强盛今世化意义:
简洁、高贵的语法。想要源代码温婉、简约、且易读?你会开采完全相符你的须求,因为
Laravel 是特地为您安顿的,假诺须要任何入门支持,请查阅 Laracasts
还恐怕有我们 卓越的文档。

在 PHP 发展的同不时间,PHP 框架也快捷崛起,使支付复杂应用变得简单、火速。

贰零壹壹年,TaylorOtwell将Laravel作为意气风发种含有全新今世方式的框架介绍给我们。Laravel最早的规划是为着面向MVC架构的,它能够满足如事件管理、客户身份验证等各样须要。其它它还应该有一个由管理数据库强力支撑,用于管理模块化和可扩充性代码的软件包管理器。

为你的团协会量身定制。无论你是独自开采,依旧十四个人的集体,Laravel
都能令你耳不纯熟龙活虎新。 使用 migrations 和
布局生成器让团队内部的每一人都能合作 Laravel 数据库。

各种开拓者都明白,具有三个刚劲的框架能够让开垦职业变得更为急速、安全和有效性。在开辟品种事情发生以前接纳生机勃勃款符合的框架可感到随后奠定丰厚的底工。

Laravel以其简洁、高雅的特征求到了名门的宽广关怀,不论是大家如故新手,在开垦PHP项指标时候,都会第不常间的想到Laravel。本文大家将研究为啥Laravel会成为最成功的PHP框架。

今世化的工具,就像在施展魔术。通过 神奇的 ORM、轻松上手的 路由器、强盛的
队列操作库 和 简便的客户认证连串,那一个工具让你心获得今世化 PHP
的高可维护性和便捷性。大家尽力营造那么些小东西,
只为了扶持你营造伟大的运用。

哪些抉择生龙活虎款切合的 PHP 框架?我们能够以下多少个地方来作出考虑衡量:

模块化和可扩大性

Laravel重视代码的模块化和可扩充性。你能够在含有超越5500个程序包的Packalyst目录中找到您想要加多的其他文件。Laravel的指标是让你能够找到任何想要的公文。

版本消息

书中示范代码基于以下版本:
语言/框架 Laravel
版本音讯 5.1

  • 框架的特点和效果与利益是怎样?
  • 学学曲线怎么样?
  • 可扩张性怎么着?
  • 对于编码共青团和少先队的成本和维护有着积极的效果与利益呢?
  • 长久时间扶助版本 (LTSState of Qatar?
  • 社区支持什么?

微服务和程序接口

Lumen是二个由laravel衍生的小心于轻巧的微框架。它高质量的程序接口可让你尤其简约快捷的费用微型项目。Lumen使用最小的布署集成了具备laravel的首要特征,你能够由此将代码复制到laravel项目标法子将全部的框架迁移过来。

<?php
$app->get('/', function() {
   return view('lumen');
});
$app->post('framework/{id}', function($framework) {
   $this->dispatch(new Energy($framework));
});

目录

  • 序言
    • 批零版本表明
    • 升迁指南
    • 孝敬代码
  • 开始
    • 安装及配置
    • Laravel
      Homestead
  • 登时入门教程
    • 新手入门指南-轻巧职责管理种类
    • 新手进级指南-带客户成效的职分管理种类
  • 基础
    • HTTP
      路由
    • HTTP
      中间件
    • HTTP
      控制器
    • HTTP
      请求
    • HTTP
      响应
    • 视图
    • Blade
      模板引擎
  • 架构
    • 三回呼吁的生命周期
    • 动用目录布局
    • 劳务提供者
    • 劳务容器
    • 契约(Contracts)
    • 门面(Facades)
  • 数据库
    • 起步
    • 询问创设器
    • 迁移
    • 填充数据
  • Eloquent ORM
    • 起步
    • [提到关系]
    • [集合]
    • [访问器&修改器]
    • [序列化]
  • 服务
    • [客商认证]
    • [客商授权]
    • [Artisan 控制台]
    • [Laravel Cashier]
    • [缓存]
    • [集合]
    • [Laravel Elixir]
    • [加密]
    • [错误&日志]
    • 事件
    • [文件系统/云存款和储蓄]
    • [哈希]
    • [接济函数]
    • [本地化]
    • [邮件]
    • [包开发]
    • [分页]
    • [队列]
    • [Redis]
    • [Session]
    • [Envoy 使时局维器(SSH 任务)]
    • [职分调节]
    • [测试]
    • [验证]

人心向背的框架

HTTP路径

Laravel具有近乎于Ruby on
Rails的,快速、高效的路由系统。它可以让客户通过在浏览器上输入路线的方法让应用程序的各部分相关联。

Symfony

Symfony 是意气风发款为 Web
项目筹算的PHP框架,它可以扶助您加快创制和爱戴PHP应用。Symfony
能够帮忙您节省非常多种复的编码事业,让您的办被害者体转移到两全和操纵地点来。

Symfony
是黄金年代款可选取的PHP组件,它是依据MIT合同的开源软件。一些比较有名的类型,像
Drupal, phpBB 使用的都以 Symfony 框架。事实上,另生龙活虎款 PHP 流行框架
Laravel 也是基于 Symfony 的大器晚成对零器件创设的。

Symfony 致力于可采纳组件,并提供最棒的模块化。别的 Symfony
利用模块和调控器来支付 Web
应用,那有可能会让部分刚入门的开辟者半途而回。此外,Symfony
照旧贰个很好的模块化布局的事例,你能够以模块化的方法在你的门类里应用
symfony 提供的 30 + 组件。

http://symfony.com/

HTTP中间件

Route::get('/', function () { 
   return 'Hello World'; 
});

应用程序可受到中间件的掩护——中间件会管理深入分析和过滤服务器上的HTTP须求。你能够设置中间件,用于申明注册客商,并制止如跨站脚本(XSS卡塔尔国或其余的平安情况的难点。

<?php 
namespace App/Http/Middleware; 
use Closure; 
class OldMiddleware { 
  public function handle($request, Closure $next) { 
    if ($request->input('age') <= 200) { 
         return redirect('home'); 
    } 
    return $next($request);
  }
}

Laravel

“PHP framework for Web 阿特isans”——Laravel 作为最风靡的 PHP
框架,为开采者提供了二个名特别优惠的社区调换平台。

Laravel是豆蔻年华款免费而且开源的 PHP 应用框架,它是为费用基于 MVC 的WEB
应用而设计的。它具备高雅的语法,令你能够可粗略赶快支付你的施用。它有着繁多大规模的功效,如:路由,身份验证,会话,队列和缓存。

2016 年 5 月 Laravel 公布的 5.1 版本将提供长日子帮忙版本(八年)。5.2
版本也在 二零一五 年 12 月推向商场。相当多托管集团提供 Laravel 扶植以至Laravel 应用托管建设方案。

https://laravel.com/

缓存

您的应用程序可得到一个健康的缓存系统,通过对其开展调治,能够让应用程序的加载特别连忙,那能够给你的顾客提供最棒的应用体验。

Cache::extend('mongo', function($app) { 
   return Cache::repository(new MongoStore);
});

Yii

由国人薛强在 二〇〇八 年创办的 Yii 是一个康宁、快速、高质量的施用 Web
开拓框架。是贰个依照DOdysseyY (Don’t Repeat Yourself)思想的,具备简洁编制程序逻辑的纯面向指标框架。

它是生龙活虎款快速、安全和正式的 PHP 框架,同有时间它也是意气风发款支出WEB
2.0行使的高品质PHP框架,Yii
的机能十分有力,内置以下功效:MVC、DAO/ActiveRecord、I18N、权限验证、缓存、安控、测验、数据访谈对象等。

Yii 的另多个不错的特点是整合了
jQuery,使得前端开辟者能更加快地上手,它选取基架来扭转代码。Yii 和 Symfony
相近是借助组件来使应用开辟更加快。

http://www.yiiframework.com/

身份验证

安然是任重先生而道远的。Laravel自带对本地顾客的身份验证,并得以应用“remember”
选项来记住顾客。它还足以让您举例说有些额外参数,比方呈现是还是不是为活跃的客户。

if (Auth::attempt(['email' => $email, 'password' => $password, 'active' => 1 ], $remember)) { 
   // The user is being remembered... 
}

简轻便单相比较

就上述框架来讲,其首要的特性和优势如下:

各类集成

Laravel
Cashier能够满意你要支付支出体系所须求的漫天须求。除却,它还联手并集成了客户身份验证系统。所以,你不再须要忧郁什么将计费系统融为生机勃勃体到支付当中了。

$user = User::find(1);
$user->subscription('monthly')->create($creditCardToken);

Symfony

  • 提供 LTS
  • 全数负载功效
  • 是近来最平静的全栈框架之风姿洒脱
  • 依赖组件的框架,提供广阔的模块化援救
  • 有无往不利的社区和大气的读书财富

职责自动化

Elixir是多少个可让我们采纳Gulp概念任务的Laravel程序接口,大家得以选拔Elixir定义可精短CSS
和JavaScript的预微电脑。

elixir(function(mix) { 
   mix.browserify('main.js');
 });

Laravel

  • 二零一四-二零一五 年最流行的框架
  • 接济 Composer 实行包管理
  • 善用做单元测量检验
  • 提供了大气的软件包来扩大框架成效
  • 强盛的社区和大气的学习财富,社区空气极好

加密

贰个平安的应用程序应该完毕可把多少进行加密。使用Laravel,能够启用OpenSSL安全加密算法AES-256-CBC来餍足你有所的需要。别的,全数的加密值都以由检查测试加密新闻是不是被转移的验证码所签定的。

use Illuminate/Contracts/Encryption/DecryptException; 
try { 
   $decrypted = Crypt::decrypt($encryptedValue);
} catch (DecryptException $e) { 
   // 
}

Yii

  • 自带 Ajax 支持
  • 极其适合开垦实时应用程序
  • 惊人可扩充
  • 标准的错误管理
  • 善用创设 Restful Web Services
  • 有强有力的社区支持和足够的就学能源

事件管理

应用程序中事件的定义、记录和倾听都不行神速。EventServiceProvider事件中的listen包括记录在您应用程序上具备事件的列表。

protected $listen = [
  'App/Events/PodcastWasPurchased' => [ 
     'App/Listeners/EmailPurchaseConfirmation',
  ],
];

总结

Symfony 、Laravel 、Yii
多少个PHP框架皆以为开荒职员提供全栈开辟情形的玄妙选项。但针锋相投来说:

  • Symfony 比较早熟,並且具备多少个越来越大、更成熟的社区。
  • Yii 是三个特有的,并能稳健、安全地产生专门的工作的框架。
  • Laravel
    极其相符新手,因为具有温婉的语法,可回顾赶快支付你的使用,资料教程完备,社区空气浓重,那也是它形成风靡框架的显要原因。

这里推荐新手使用 Laravel
入门来支付网址选拔。在这里个种类作品的施行中,就有无数编码的品格和 Laravel
相符,假若您世袭探听 Laravel 框架你就能发掘它是如此的听得多了就能说的清楚。

其他,在志趣之于还能了然别的框架的性状和选取场景,找到符合运用之处。

分页

在Laravel中分页是非常轻松的因为它亦可遵照客户的浏览器当前页素不相识成黄金时代多元链接。

<?php 
namespace App/Http/Controllers; 
use DB; 
use App/Http/Controllers/Controller; 
class UserController extends Controller { 
  public function index() { 
    $users = DB::table('users')->paginate(15);
    return view('user.index', ['users' => $users]);
  }
}

额外内容

是因为 PHP
框架众多,这里也只是简短介绍了个别的框架,如若想明白越来越多能够查看维基百科中的相关内容:

看这里

指标关系化映射(ORM)

Laravel包涵一个甩卖数据库的层,它的对象关联化映射被誉为Eloquent。此外那些也适用于PostgreSQL。

$users = User::where('votes', '>', 100)->take(10)->get();
foreach ($users as $user) { 
  var_dump($user->name);
}

单元测量检验

单元测量试验的支出是二个消耗大批量时日的职分,可是它却是保证我们的应用程序保持正规干活的基本点。Laravel中可接纳PHPUnit实践单元测验。

<php 
use Illuminate/Foundation/Testing/WithoutMiddleware; 
use Illuminate/Foundation/Testing/DatabaseTransactions; 
class ExampleTest extends TestCase { 
  public function testBasicExample() { 
    $this->visit('/')->see('Laravel 5')->dontSee('Rails');
  }
}

待办事项清单

Laravel提供在后台使用待办事项清单(to do
list)管理复杂、漫长流程的取舍。它能够让我们异步管理有些流程而不必要客商的屡屡导航。

Queue :: push ( new  SendEmail ( $ message ));

发表评论

电子邮件地址不会被公开。 必填项已用*标注