什么是Laravel
它使您可以摆脱凌乱的代码作为面条;它可以帮助您构建一个完美的网络应用程序,并且每条代码都可以简单而表现力。 1.捆绑包是Laravel扩展包的形式或名称。 Laravel的扩展仓库非常成熟,它可以轻松地帮助您将捆绑包装到应用程序中。您可以选择下载一个捆绑包并将其复制到捆绑包目录,也可以通过命令行工具“工匠”自动安装它。 2.已经在Laravel -Eloquent Orm中有一组高端PHP ActivereCord实现。它可以轻松地对双方应用“约束”,以便您完全控制数据并享受ActivereCord的所有便利。雄辩的本性支持所有方法来查询构造函数的流利。 3.应用程序逻辑(应用程序逻辑)可以在控制器中实现,也可以直接集成到路由语句中,该语法类似于Sinatra框架。 Laravel的设计概念是使开发人员具有最大的灵活性,并且可以创建一个很小的网站并构建大型企业应用程序。 4.反向路由将使您能够通过路由名称创建链接(URI)。只需使用路由名称,Laravel就会自动帮助您创建正确的URI。这样,您可以随时更改路线,Laravel将帮助您自动更新所有相关的链接。 5. Restful Controller是区分GET和发布请求逻辑的可选方法。例如,在用户登录逻辑中,您可以声明get_login()操作(操作)来处理服务以获取登录页面;它还声明了post_login()操作(操作)以检查邮政邮政的形式的数据,以及and hess,并且数据来自邮政邮政的表格和形式,以及验证后,决定重新转到登录页面或转向控制台。 6.类自动加载简化了类(类)的加载。将来,您将无法维护自动加载配置表和非必要组件加载。当您要加载任何库或模型时,只需立即使用它,Laravel将自动帮助您加载所需的文件。 7.查看作曲家本质上是代码。加载视图时将自动执行此代码。最好的例子是博客中推荐的随机文章。 “查看连接”包含加载随机文章推荐的逻辑。这样,您只需要加载内容区域的视图区域(视图)即可。帮助您自动完成。 8.反向控制容器提供了一种方便的方法,可以随时生成新对象,实例化对象以及访问单身。反向控制(IOC)意味着您几乎不需要加载外部库(库),您可以在代码中的任何位置访问这些对象,也不需要忍受复杂而冗余的代码结构。 9.迁移(迁移)就像一个版本控制工具,但它管理数据库范式,并直接集成在Laravel中。您可以使用“工匠”命令行工具来生成和执行“迁移”指令。当您的组成员更改数据库范式时,您可以通过版本控制工具轻松更新当前项目,然后执行“迁移指令,好的,您的数据库已经是最新的! 11.自动分页函数避免在业务逻辑中混合许多无关的分页配置代码。只要从数据库中获得条目总数,然后使用限制/偏移来获取所选数据就很方便地记住当前页面。最终,Laravel将自动为您完成所有工作。 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(, $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 = ; 分页
在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’, ); } } 对象关系图(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)处理复杂、漫长流程的选择。它可以让我们异步处理某些流程而不需要用户的持续导航。
laravel有那些特点
1. Artisan:命令行工具,许多手动工作是自动化的2.功能强大的REST路由器:您可以使用简单的回调功能,快速绑定控制器和路由器3。继承的模板,简化视图4.composer55.orm操作数据库的开发和管理6.移民:管理数据库和版本控制7.测试功能也非常强大8.Blade模板:更快的渲染9. Laravel Framework介绍了立面,依赖注入,IOC模式和各种类型的设计模式等。-laravel