为什么 Laravel 会成为最成功的 PHP 框架?
2011年,Taylor Otwell将Laravel作为一种包含全新现代方法的框架介绍给大家。Laravel最初的设计是为了面向MVC架构的,它可以满足如事件处理、用户 身份验证等各种需求。另外它还有一个由管理数据库强力支持,用于管理模块化和可扩展性代码的软件包管理器。
Laravel以其简洁、优雅的特性赢得了大家的广泛关注,无论是专家还是新手,在开发PHP项目的时候,都会第一时间的想到Laravel。本文我们将讨论为什么Laravel会成为最成功的PHP框架。
模块化和可扩展性
Laravel注重代码的模块化和可扩展性。你可以在包含超过5500个程序包的Packalyst目录中找到你想要添加的任何文件。Laravel的目标是让你能够找到任何想要的文件。
微服务和程序接口
Lumen是一个由laravel衍生的专注于精简的微框架。它高性能的程序接口可让你更加简单快速的开发微型项目。Lumen使用最小的配置集成了所有laravel的重要特性,你可以通过将代码复制到laravel项目的方式将完整的框架迁移过来。
2 34
|
<?php $app ->get( '/' , function () {
return view( 'lumen' );
});
$app ->post( 'framework/{id}' , function ( $framework ) {
$this ->dispatch( new Energy( $framework ));
});
|
1 2 3 4 5 |
Route::get( '/' , function () {
return 'Hello World' ;
});
|
HTTP中间件
应用程序可受到中间件的保护——中间件会处理分析和过滤服务器上的HTTP请求。你可以安装中间件,用于验证注册用户,并避免如跨站脚本(XSS)或其它的安全状况的问题。
2 34
|
<?php namespace AppHttpMiddleware; use Closure; class OldMiddleware { public function handle( $request , Closure $next ) { if ( $request ->input( 'age' )
<code class="php spaces">
return redirect( 'home' );
}
return $next ( $request );
}
}
|
1 2 3 4 5 |
Cache::extend( 'mongo' , function ( $app ) {
return Cache::repository( new MongoStore);
});
|
身份验证
安全是至关重要的。Laravel自带对本地用户的身份验证,并可以使用“remember” 选项来记住用户。它还可以让你例如一些额外参数,例如显示是否为活跃的用户。
2 34
5 |
if (Auth::attempt([ 'email' => $email , 'password' => $password , 'active' => 1 ], $remember )) {
// The user is being remembered...
}
|
1 2 3 |
$user = User::find(1);
$user ->subscription( 'monthly' )->create( $creditCardToken );
|
1 2 3 4 5 |
elixir( function (mix) {
mix.browserify( 'main.js' );
});
|
加密
一个安全的应用程序应该做到可把数据进行加密。使用Laravel,可以启用OpenSSL安全加密算法AES-256-CBC来满足你所有的需求。另外,所有的加密值都是由检测加密信息是否被改变的验证码所签署的。
2 34 5
|
use IlluminateContractsEncryptionDecryptException;
try {
$decrypted = Crypt::decrypt( $encryptedValue );
} catch (DecryptException $e ) {
//
}
|
1 2 3 4 5 6 7 8 9 |
protected $listen = [
'AppEventsPodcastWasPurchased' => [
'AppListenersEmailPurchaseConfirmation' ,
],
];
|
分页
在Laravel中分页是非常容易的因为它能够根据用户的浏览器当前页面生成一系列链接。
2 34
|
<?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 ]);
}
}
|
1 2 3 4 5 6 7 |
$users = User::where( 'votes' , '>' , 100)->take(10)->get();
foreach ( $users as $user ) {
var_dump( $user ->name);
}
|
单元测试
单元测试的开发是一个耗费大量时间的任务,但是它却是保证我们的应用程序保持正常工作的关键。Laravel中可使用PHPUnit执行单元测试。
2 34
5 6 7 8 9 |
<php><code class="php keyword">use IlluminateFoundationTestingWithoutMiddleware; use IlluminateFoundationTestingDatabaseTransactions; class ExampleTest extends TestCase { public function testBasicExample() { $this ->visit( '/' )
->see( 'Laravel 5' )
->dontSee( 'Rails' );
}
}
|
1 |
Queue :: push ( new SendEmail ( $ message ));
|

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

Atom编辑器mac版下载
最流行的的开源编辑器