摘要:年,将作为一种包含全新现代方法的框架介绍给大家。本文我们将讨论为什么会成为最成功的框架。身份验证安全是至关重要的。单元测试单元测试的开发是一个耗费大量时间的任务,但是它却是保证我们的应用程序保持正常工作的关键。中可使用执行单元测试。
2011年,Taylor Otwell将Laravel作为一种包含全新现代方法的框架介绍给大家。Laravel最初的设计是为了面向MVC架构的,它可以满足如事件处理、用户身份验证等各种需求。另外它还有一个由管理数据库强力支持,用于管理模块化和可扩展性代码的软件包管理器。
Laravel以其简洁、优雅的特性赢得了大家的广泛关注,无论是专家还是新手,在开发PHP项目的时候,都会第一时间的想到Laravel。本文我们将讨论为什么Laravel会成为最成功的PHP框架。
模块化和可扩展性
Laravel注重代码的模块化和可扩展性。你可以在包含超过5500个程序包的Packalyst目录中找到你想要添加的任何文件。Laravel的目标是让你能够找到任何想要的文件。
微服务和程序接口
Lumen是一个由laravel衍生的专注于精简的微框架。它高性能的程序接口可让你更加简单快速的开发微型项目。Lumen使用最小的配置集成了所有laravel的重要特性,你可以通过将代码复制到laravel项目的方式将完整的框架迁移过来。
get("/", function() {
return view("lumen");
});
$app->post("framework/{id}", function($framework) {
$this->dispatch(new Energy($framework));
});
HTTP路径
Laravel拥有类似于Ruby on Rails的,快速、高效的路由系统。它可以让用户通过在浏览器上输入路径的方式让应用程序的各部分相关联。
Route::get("/", function () {
return "Hello World";
});
HTTP中间件
应用程序可受到中间件的保护——中间件会处理分析和过滤服务器上的HTTP请求。你可以安装中间件,用于验证注册用户,并避免如跨站脚本(XSS)或其它的安全状况的问题。
input("age") <= 200) {
return redirect("home");
}
return $next($request);
}
缓存
你的应用程序可得到一个健壮的缓存系统,通过对其进行调整,可以让应用程序的加载更加快速,这可以给你的用户提供最好的使用体验。
Cache::extend("mongo", function($app) {
return Cache::repository(new MongoStore);
});
身份验证
安全是至关重要的。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);
任务自动化
Elixir是一个可让我们使用Gulp定义任务的Laravel程序接口,我们可以使用Elixir定义可精简CSS
和JavaScript的预处理器。
elixir(function(mix) {
mix.browserify("main.js");
});
加密
一个安全的应用程序应该做到可把数据进行加密。使用Laravel,可以启用OpenSSL安全加密算法AES-256-CBC来满足你所有的需求。另外,所有的加密值都是由检测加密信息是否被改变的验证码所签署的。
use IlluminateContractsEncryptionDecryptException;
try {
$decrypted = Crypt::decrypt($encryptedValue);
} catch (DecryptException $e) {
//
}
事件处理
应用程序中事件的定义、记录和聆听都非常迅速。EventServiceProvider事件中的listen包含记录在你应用程序上所有事件的列表。
protected $listen = [
"AppEventsPodcastWasPurchased" => [
"AppListenersEmailPurchaseConfirmation",
],
];
分页
在Laravel中分页是非常容易的因为它能够根据用户的浏览器当前页面生成一系列链接。
paginate(15);
return view("user.index", ["users" => $users]);
}
}
对象关系图(ORM)
Laravel包含一个处理数据库的层,它的对象关系图被称为Eloquent。另外这个对象关系图也适用于PostgreSQL。
$users = User::where("votes", ">", 100)->take(10)->get();
foreach ($users as $user) {
var_dump($user->name);
}
单元测试
单元测试的开发是一个耗费大量时间的任务,但是它却是保证我们的应用程序保持正常工作的关键。Laravel中可使用PHPUnit执行单元测试。
visit("/")
->see("Laravel 5")
->dontSee("Rails");
}
}
待办事项清单
Laravel提供在后台使用待办事项清单(to do list)处理复杂、漫长流程的选择。它可以让我们异步处理某些流程而不需要用户的持续导航。
Queue :: push ( new SendEmail ( $ message ));
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/22755.html
摘要:在年我参加兄弟连的培训,成为一名程序员。我认为成为程序员的有以下三种途径。为大家准备了一份年程序员发展路线。可见也可以关注下上个时代框架霸主他的新版本可能会有奇迹发生扩展异步编程框架这个就不必多说了。 showImg(https://segmentfault.com/img/bVbmMdM?w=640&h=364); 我一生的文章都会放在这里,我的博客,我希望每一行代码,每一段文字都能...
摘要:最适合入门的初级教程三接着我们来认识认识上篇文章没有提到的先来了解下路由的概念在网络成为吃住一样的基本需求的今天断开了网络就像断开了与世界的联系的感觉对于现实中的路由我们应该是不陌生的最起码了解吧你家里只有一根网线网线上接着路由器多部手机和 最适合入门的 Laravel 初级教程 (三) 接着我们来认识认识上篇文章没有提到的 route/web.php; 先来了解下路由的概念; 在网...
摘要:但也因为应有尽有使得框架的性能比其他高性能框架低了些,为此给了几个解决方案路由缓存经有关部门研究,路由缓存可有效加快访问速度以上。有朋友说框架最重要的东西是路由,我倒认为最重要的是框架中异于其他框架且能解决痛点的东西,如的。 showImg(https://segmentfault.com/img/remote/1460000006767764); 在程序界的远古时期,大神们手持键盘敲...
摘要:小红要以最低成本最快速度推出版本,投放市场,收集反馈,持续迭代。总结在技能掌握充足的情况下,个人感觉开发效率要略高于。 我个人是比较不喜欢去正儿八经的比较两个框架的,这样没有意义,不过欲善其事先利其器! 技术是相通的,但是在某个特定的领域的某个阶段肯定有相对最适合的一个工具! 这里比较不是从技术角度比较,而是从公司技术选型考虑的,特别是初创的互联网创业公司。没办法,谁让互联网公司离不开...
摘要:小红要以最低成本最快速度推出版本,投放市场,收集反馈,持续迭代。总结在技能掌握充足的情况下,个人感觉开发效率要略高于。 我个人是比较不喜欢去正儿八经的比较两个框架的,这样没有意义,不过欲善其事先利其器! 技术是相通的,但是在某个特定的领域的某个阶段肯定有相对最适合的一个工具! 这里比较不是从技术角度比较,而是从公司技术选型考虑的,特别是初创的互联网创业公司。没办法,谁让互联网公司离不开...
阅读 1336·2021-11-15 18:11
阅读 2485·2021-08-19 10:56
阅读 656·2021-08-09 13:42
阅读 756·2019-08-30 15:53
阅读 2051·2019-08-30 10:55
阅读 3104·2019-08-29 17:18
阅读 1365·2019-08-29 13:45
阅读 523·2019-08-29 13:15