2011年,TaylorOtwell以一种全新的现代方法将Laravel作为框架引入。Laravel最初是为MVC架构设计的,可以满足事件处理、用户认证等多种需求。此外,它还有一个用于模块化和可扩展代码的包管理器,由管理数据库支持。Laravel以其简洁和优雅赢得了广泛的关注。无论是高手还是新手,在开发PHP项目的时候,都会第一时间想到Laravel。在这篇文章中我们将讨论为什么Laravel会成为最成功的PHP框架。模块化和可扩展性Laravel专注于代码模块化和可扩展性。您可以在包含5500多个软件包的Packalyst目录中找到您想要添加的任何文件。Laravel的目标是让你找到你想要的任何文件。微服务和程序接口Lumen是从laravel衍生出来的一个专注于精简的微框架。其高性能的编程接口可以让您更轻松、更快速地开发微型项目。Lumen以极简配置集成了laravel的所有重要特性,您只需将代码复制到laravel项目中即可迁移完整的框架。get('/',function(){returnview('lumen');});$app->post('framework/{id}',function($framework){$this->dispatch(newEnergy($框架));});HTTP路径Laravel有一个类似于RubyonRails的快速高效的路由系统。它允许用户通过在浏览器中键入路径来关联应用程序的各个部分。Route::get('/',function(){return'HelloWorld';});HTTP中间件应用程序可以由中间件保护-中间件处理分析和过滤服务器上的HTTP请求。您可以安装对注册用户进行身份验证并避免跨站点脚本(XSS)或其他安全情况等问题的中间件。input('age')<=200){returnredirect('home');}return$next($request);}缓存你的应用程序会产生一个健壮的缓存系统,可以对其进行调整以允许应用程序加载更快,让你用户最好的体验。Cache::extend('mongo',function($app){returnCache::repository(newMongoStore);});身份验证安全性至关重要。Laravel自带用户身份验证,可以使用“记住”选项来记住用户。它还允许您使用一些额外的参数,例如是否显示活跃用户。if(Auth::attempt(['email'=>$email,'password'=>$password,'active'=>1],$remember)){//用户被记住了...}集成LaravelCashier拥有开发支付系统所需的一切。除此之外,它还同步并集成了用户身份验证系统。因此,您不再需要为如何将计费系统集成到您的开发中而烦恼。$user=User::find(1);$user->subscription('monthly')->create($creditCardToken);任务自动化Elixir是一个Laravel编程接口,它允许我们使用Gulp定义任务,我们可以使用Elixir定义预处理器来缩小CSS和JavaScript。长生不老药(函数(混合){mix.browserify('main.js');});加密一个安全的应用程序应该能够加密数据。使用Laravel,您可以启用OpenSSL安全加密算法AES-256-CBC来满足您的所有需求。此外,所有加密值均由检测加密信息是否被更改的验证码签名。使用IlluminateContractsEncryptionDecryptException;try{$decrypted=Crypt::decrypt($encryptedValue);}catch(DecryptException$e){//}事件处理在应用程序中非常快速地定义、记录和侦听事件。EventServiceProvider事件的侦听包含应用程序中记录的所有事件的列表。protected$listen=['AppEventsPodcastWasPurchased'=>['AppListenersEmailPurchaseConfirmation',],];分页在Laravel中分页非常容易,因为它会根据用户浏览器的当前页面生成链接列表。分页(15);returnview('user.index',['users'=>$users]);}}对象关系图(ORM)Laravel包含一个处理数据库的层,它的对象关系图称为Eloquent。另外,这个对象关系图也适用于PostgreSQL。$users=User::where('votes','>',100)->take(10)->get();foreach($usersas$user){var_dump($user->name);}单元测试单元测试的开发是一项耗时的工作,但它是保持我们的应用程序正常运行的关键。PHPUnit可用于在Laravel中执行单元测试。visit('/')->see('Laravel5')->dontSee('Rails');}}to-dolistLaravel提供了一个复杂而冗长的过程,在背景选择。它允许我们异步处理某些进程,而无需用户不断导航。Queue::push(newSendEmail($message));
