首页 > 后端开发 > 正文

php框架larve PHP的哪个MVC框架最值得推荐

2023-09-01 20:05:52 | 我爱编程网

大家平时对后端开发都十分关注,今天为大家整理了php框架larve PHP的哪个MVC框架最值得推荐,下面就随我爱编程网小编一起来看一下吧。

php框架larve PHP的哪个MVC框架最值得推荐

PHP的哪个MVC框架最值得推荐

1、Laravel,laravel这个框架很有意思,定时任务,数据迁移,大概你能在web中想到的功能这个框架都可以提供,它的路由借鉴了Ruby on Rails 和Python的flask框架,但是还提供了web方面其它的一些功能,你可以把它想象成PHP中像Java一样强大的Web中的瑞士军刀,前提是你不考虑性能,因为它的实现使用了大量的闭包和反射,大概在PHP里严格引入设计模式的也只有这个了。
生产效率:5星
学习难度:5星(5星为最难,学习成本最高,下同)
性能:2星
社区活跃:4星(社区活跃可以很方便的找到别人已经开发的功能,专指中文文档,组件丰富性)
2、ThinkPHP5,大概3年前研究过TP3源码,使用起来简单,因为自动加载的问题,性能是个坑,现在发展到5,个人认为已经是一个相当优秀的框架了,路由定义简单,配置简单,文档丰富,社区也相当活跃
生产效率:5星
学习难度:1星
性能:4星
社区活跃:4星
3、Yii2,Yii2的路由分发跟TP5稍微有点不一样,也使用了反射的功能,自动加载现在都使用的composer,大体上都差不多,都有延时加载,Yii2的路由相对智能一些,不用去手动维护,类似于TP3所以使用起来也是很方便,性能比TP5应该略差点,没测试过,从源码来看
生产效率:5星
学习难度:2星
性能:3.5星
社区活跃:4星(很多强大的组件,你只要下载就行了,会省很多事)
4、CakePHP,这个框架内部的封装性看上去没上面那几个优美,但是它自己实现了use关键字功能,所以兼容性来看应该是比上面那几个好点的,但这在新项目上应该不是问题,新项目上PHP7,啥都别想,准没错。它的路由定义类似于TP5但是稍微多点功能,不过其实是个鸡肋。中文文档就不说了,很不好找。不过也算是个相对简单的框架严格遵循MVC
生产效率:3星
学习难度:3星
性能:4星
社区活跃:2星
5、Workman,这个框架相当强大,如果你要实现一些复杂的协议或者用php做一些websocket推送或者TCP/UDP服务器的话,这个框架可能可以满足你的需求,也有一些异步的组件,比较高级的框架,初中级程序员可能用不上
生产效率:3星
学习难度:4星
性能:3星
社区活跃:2星
6、swool,这是个相当有意思的框架,性能很强大,旁友,你听说过异步编程的nodejs,python的tornado框架吗,这个在php里做的就是一个这样的事情,国内的一位老兄开发的C扩展,用php来异步编程,看了下文档,稍微做了个性能测试,相当优秀,就是不知道在项目中重度使用会不会踩到什么坑,而且这也是一个相当高级的框架。大部分人可能直接转node了吧,毕竟node生态环境已经相当好了,总之,如果你想用php试试异步编程来提高性能,非这个框架莫属。性能独一档,编程难度也相对高一些,你需要有些进程的理论基础
生产效率:3星
学习难度:4星
性能:6星
社区活跃:2星
7、Yaf,鸟哥写的c扩展框架,然而你要自己实现很多轮子,生态环境是个大问题。
生产效率:4星
学习难度:4星
性能:5.5星
社区活跃:2星
其它框架还没怎么了解,国内的话,根据具体业务,选上面几个,没错。

php框架larve PHP的哪个MVC框架最值得推荐

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

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 App\Http\Middleware; 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->subion('monthly')->create($creditCardToken); 任务自动化
Elixir是一个可让我们使用 Gulp 定义任务的Laravel程序接口,我们可以使用Elixir定义可精简CSS 和Java的预处理器。
elixir(function(mix) { mix.browserify('main.js'); }); 加密
一个安全的应用程序应该做到可把数据进行加密。使用Laravel,可以启用OpenSSL安全加密算法AES-256-CBC来满足你所有的需求。另外,所有的加密值都是由检测加密信息是否被改变的验证码所签署的。
use Illuminate\Contracts\Encryption\DecryptException; try { $decrypted = Crypt::decrypt($encryptedValue); } catch (DecryptException $e) { // } 事件处理
应用程序中事件的定义、记录和聆听都非常迅速。 EventServiceProvider事件中的listen包含记录在你应用程序上所有事件的列表。
protected $listen = [ 'App\Events\PodcastWasPurchased' => [ 'App\Listeners\EmailPurchaseConfirmation', ], ]; 分页
在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]); } } 对象关系图(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)处理复杂、漫长流程的选择。它可以让我们异步处理某些流程而不需要用户的持续导航。
更多资料

php框架larve PHP的哪个MVC框架最值得推荐我爱编程网

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

Laravel是一个有着美好前景的年轻框架,它的社区充满着活力,同时提供了完整而清晰的文档,而且为快速、安全地开发现代应用提供了必要的功能。

2011年,Taylor Otwell首次将Laravel带给这个世界,彼时,Laravel就是一个全新且现代的框架。Laravel基于MVC架构,可以满足诸如事件处理、用户身份验证等各种需求,同时通过包管理实现模块化和可扩展的代码,并且对数据库管理有着健壮的支持。

不管是专家还是新手,一旦接触到Laravel,都会有相见恨晚之感——这正是你在为PHP项目寻找的框架。本文我们将讨论为什么Laravel会成为最成功最流行的PHP框架。

模块化&可扩展性

Laravel是模块化和可扩展的,你可以在包含超过5500个程序包的Packalyst中找到你想要添加的任何代码。

微服务&API

Lumen是一个由Laravel衍生的专注于性能的微框架。使用Lumen提供的高性能API你可以更加简单快速地开发微型项目。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中间件
Route::get('/', function () {
return 'Hello World';
});

Laravel可以通过中间件对应用进行保护——中间件会处理分析和过滤到达服务器的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提供了健壮的缓存系统,使用缓存可以让应用加载地更加快速,从而带来更好的用户体验。
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...
}

集成Stripe

Laravel Cashier可以满足你开发支付系统过程中所需要的任何需求。除此之外,它还同步并集成了用户身份验证系统。所以,你不再需要担心如何将计费系统集成到开发中了。
$user = User::find(1);
$user->subscription('monthly')->create($creditCardToken);

任务自动化

Elixir是一个让我们可以使用Gulp定义任务的Laravel API,我们可以使用Elixir定义预处理器来压缩CSS 和JavaScript。
elixir(function(mix) {
mix.browserify('main.js');
});

加密

一个安全的应用应该做到可以对数据进行加密。在Laravel中,可以使用OpenSSL和AES-256-CBC加密算法来满足你所有的加密需求。此外,所有的加密值都通过认证码进行签名以避免加密信息被篡改。
use Illuminate\Contracts\Encryption\DecryptException;
try {
$decrypted = Crypt::decrypt($encryptedValue);
} catch (DecryptException $e) {
//
}

事件处理

Laravel应用中对事件的定义、记录和监听都非常便捷。服务提供者EventServiceProvider中的listen属性包含了应用中的所有事件列表。
protected $listen = [
'App\Events\PodcastWasPurchased' => [
'App\Listeners\EmailPurchaseConfirmation',
],
];

分页

在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]);
}
}

对象关系映射(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');
}
}

待办事项清单(Queue)

Laravel提供了在后台使用待办事项清单(to do list)处理复杂、漫长流程的选择,好吧,其实就是队列,队列可以让我们异步处理某些流程而不需要用户在加载页面时长时间的等待。
Queue::push ( new SendEmail ( $ message ));

以上就是今天分享给大家的内容了,想要了解更多后端开发资讯,敬请关注我爱编程网!
与“php框架larve PHP的哪个MVC框架最值得推荐”相关推荐
php7新框架 PHP的哪个MVC框架最值得推荐
php7新框架 PHP的哪个MVC框架最值得推荐

PHP7的五大新特性有哪些PHP7的五大新特性有哪些一览1、PHP7除了在性能方面有极大提升外,还添加了很多新的特性,如太空船操作符、标量类型声明、返回值的类型说明、全局的throwable接口、抽象语法树等。2、在使用PHP7之前,我们在函数和类之间传递参数时不必声明变量类型。同样地,在返回数据时也不必声明变量类型。同样地,在返回数据时也不必声明变量类型。任何数据类型都可以被传递、返

2023-09-23 19:57:04
php简单的mvc框架 php 的哪个 mvc 框架值得推荐
php简单的mvc框架 php 的哪个 mvc 框架值得推荐

php学习问题,按照网的上材料自学做一个mvc简单框架。浏览时报错。请大神帮忙看看是哪里的错误。从代码看,$data变量在使用前并没有进行定义。mvc的架构是模型、视图、控制器三者分离的架构,从你的代码中看,其实democontroller.php控制器与视图并没有分离。以下是mvc执行流程示例:1浏览者-&gt;调用控制器,对它发出指令2控制器-&gt;按指令选取

2023-08-26 02:35:15
mvc框架有哪些php php 的哪个 mvc 框架值得推荐
mvc框架有哪些php php 的哪个 mvc 框架值得推荐

PHP的哪个MVC框架最值得推荐1、Laravel,laravel这个框架很有意思,定时任务,数据迁移,大概你能在web中想到的功能这个框架都可以提供,它的路由借鉴了RubyonRails和Python的flask框架,但是还提供了web方面其它的一些功能,你可以把它想象成PHP中像Java一样强大的Web中的瑞士军刀,前提是你不考虑性能,因为它的实现使用了大量的闭包和反射,大概在PHP里严

2023-08-29 08:25:51
php自定义mvc框架 php 的哪个 mvc 框架值得推荐
php自定义mvc框架 php 的哪个 mvc 框架值得推荐

php学习问题,按照网的上材料自学做一个mvc简单框架。浏览时报错。请大神帮忙看看是哪里的错误。从代码看,$data变量在使用前并没有进行定义。mvc的架构是模型、视图、控制器三者分离的架构,从你的代码中看,其实democontroller.php控制器与视图并没有分离。以下是mvc执行流程示例:1浏览者-&gt;调用控制器,对它发出指令2控制器-&gt;按指令选取

2023-08-28 03:16:44
php框架图 为什么说PHP框架Laravel最值得推荐
php框架图 为什么说PHP框架Laravel最值得推荐

求个ThinkPHP的详细树状结构图流程图,该怎么解决1、在“绘图”工具栏上,单击“插入组织结构图或其他图示”。2、在接着出现的“图示库”中选择“用于显示层次关系”的第一种后,单击“确定”按钮后会出现一个层次结构图。3、做一个名为“计算机系统”的结构图,先在第一个框中输入“计算机系统”,因为计算机系统是由软件和硬件两部分组成的,“计算机”下面只有两个“下属”,所以要删除其中的一个

2023-08-28 13:24:06
php分析框架 为什么说PHP框架Laravel最值得推荐
php分析框架 为什么说PHP框架Laravel最值得推荐

为什么说PHP框架Laravel最值得推荐技术层面上从技术上讲,Laravel更加激进和现代化——PHP7的适用,Composer包依赖,测试覆盖率100%,合理的版本发布计划,优雅的架构设计(中间件、路由、Artisan命令行、代码迁移、假数据填充),再加上精心设计接口带来的愉悦编码体验,可以说Laravel很多地方都做对了。数据分析趋势从趋势讲,因为Laravel很多地

2023-08-30 17:49:43
基于php7的框架 为什么说PHP框架Laravel最值得推荐
基于php7的框架 为什么说PHP框架Laravel最值得推荐

为什么说PHP框架Laravel最值得推荐技术层面上从技术上讲,Laravel更加激进和现代化——PHP7的适用,Composer包依赖,测试覆盖率100%,合理的版本发布计划,优雅的架构设计(中间件、路由、Artisan命令行、代码迁移、假数据填充),再加上精心设计接口带来的愉悦编码体验,可以说Laravel很多地方都做对了。数据分析趋势从趋势讲,因为Laravel很多地

2023-09-29 07:11:31
php框架laravel参考 为什么说PHP框架Laravel最值得推荐
php框架laravel参考 为什么说PHP框架Laravel最值得推荐

为什么说PHP框架Laravel最值得推荐技术层面上从技术上讲,Laravel更加激进和现代化——PHP7的适用,Composer包依赖,测试覆盖率100%,合理的版本发布计划,优雅的架构设计(中间件、路由、Artisan命令行、代码迁移、假数据填充),再加上精心设计接口带来的愉悦编码体验,可以说Laravel很多地方都做对了。数据分析趋势从趋势讲,因为Laravel很多地

2023-09-14 19:25:53