时间:2022-10-20 22:25:19 | 浏览:2130
2011年,Taylor Otwell将Laravel作为一种包含全新现代方法的框架介绍给大家。Laravel最初的设计是为了面向MVC架构的,它可以满足如事件处理、用户身份验证等各种需求。另外它还有一个由管理数据库强力支持,用于管理模块化和可扩展性代码的软件包管理器。
Laravel以其简洁、优雅的特性赢得了大家的广泛关注,无论是专家还是新手,在开发PHP项目的时候,都会第一时间的想到Laravel。本文我们将讨论为什么Laravel会成为最成功的PHP框架。
模块化和可扩展性
Laravel注重代码的模块化和可扩展性。你可以在包含超过5500个程序包的Packalyst目录中找到你想要添加的任何文件。Laravel的目标是让你能够找到任何想要的文件。
微服务和程序接口
Lumen是一个由laravel衍生的专注于精简的微框架。它高性能的程序接口可让你更加简单快速的开发微型项目。Lumen使用最小的配置集成了所有laravel的重要特性,你可以通过将代码复制到laravel项目的方式将完整的框架迁移过来。
<!--?php $app--->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)或其它的安全状况的问题。
<!--?php namespace AppHttpMiddleware; use Closure; class OldMiddleware { public function handle($request, Closure $next) { if ($request--->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中分页是非常容易的因为它能够根据用户的浏览器当前页面生成一系列链接。
<!--?php namespace AppHttpControllers; use DB; use AppHttpControllersController; class UserController extends Controller { public function index() { $users = DB::table("users")--->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执行单元测试。
<php use="" illuminatefoundation estingwithoutmiddleware;="" illuminatefoundation estingdatabasetransactions;="" class="" exampletest="" extends="" testcase="" {="" public="" function="" testbasicexample()="" $this-="">visit("/")
->see("Laravel 5")
->dontSee("Rails");
}
}</php>
待办事项清单
Laravel提供在后台使用待办事项清单(to do list)处理复杂、漫长流程的选择。它可以让我们异步处理某些流程而不需要用户的持续导航。
Queue :: push ( new SendEmail ( $ message ));
想要学习交流PHP、laravel的朋友可以私信帐号“学习交流”获取加群方式。
对于程序猿小白而言肯定会问:PHP是什么?那么给小白普及下:PHP是一种快速地开发动态Web网页的脚本语言。与ASP,JSP一样,PHP是服务器端的、嵌入式HTML脚本语言,区别于其他客户端脚本的地方是它的页面嵌入代码在服务器端执行,仅把执
提到php很多人还在用旧的思维在看它,殊不知,识别三日当刮目相看,如今的php早已不是当初的php,它已经成长为了一个有着非常强大的社区的编程语言,每年都会有新的版本诞生,每年都会有新的特性被添加,而且每年各地都会有开发者大会举行,php正
出品|开源中国作者|白开水PHP 8.1 已于上周正式发布,科技媒体 Phoronix 紧随其后发布了针对 PHP 8.1 的性能基准测试报告。此次测试是在运行 Ubuntu Linux 的 AMD EPYC 72F3 服务器上进行的。所有
PHP 仍然是统治服务器端的编程语言根据 W3Techs 今天发布的一份报告,PHP 在 2010 年的市场份额为 72.5%,而在 2021 年占比达到 78.9%。只有一个其他的服务器端语言曾经突破 10% 的份额,这个竞争对手是 AS
PHP 是一种开源的通用计算机脚本语言,适用于网络开发并可嵌入 HTML 中使用。它的语法借鉴吸收 C 语言、Java 和 Perl 等流行计算机语言的特点,易于一般程序员学习。但是由于太难用,也是被很多人吐槽的一种语言。下面,来看看这位曾
作者 | Brent译者 | 张兰月这篇文章不在于解决关于 PHP 的那个永恒话题,而是想让你了解,PHP 在这些年的进展以及那些值得关注的特性与发展现状。之前,有一篇非常流行的博客文章是“PHP:那些糟糕的设计”,第一次读到这篇博客的时候
译者 | 陈峻如果您向任何经验丰富的Web应用开发人员询问,什么是他们首选的编程语言的话,他们的回答居多会提到PHP。的确,PHP是一种被广泛使用的通用脚本语言,特别适用于Web开发,并且可以被嵌入到HTML中。根据网站技术分析工具Buil
PHP 8.1 已经于今年 6 月进入 Alpha 阶段。它是继去年 PHP 8.0 之后的又一重大升级版本,添加了 Enums, Fsync 和 Fibers 等等,并对性能进行了诸多优化。PHP 8.1 在最近几个月的改进主要包括:●
近日,知名人才招聘网站 Hired 公布了“2022 年软件工程师状况报告”。“2022 年软件工程师状况报告”基于对 2020 年 1 月 - 2021 年 12 月间收集的 2000 份调查回复进行整理,通过对市场上公司和软件工程师之间
今天讲一段情史,是关于世界上最好的编程语言PHP和Facebook的感情经历。恋爱PHP能和Facebook谈恋爱,主要归功于创始人扎克伯格。小扎这个哈佛的学生,很不安分,鬼点子很多,很喜欢整一些快餐式的Web项目。而PHP的特点就是快速开