使用过Laravel的同学都知道Facades 的强大,下面就让我们一起创建一个Facades 实例。如有不正确的地方,还请不吝赐教。

  1. 实现Laravel的自动加载功能

  首先建立目录app/lib/Myapp,然后添加目录到composer.json中  

 "autoload": {
"psr-0":{
"Myapp":"app/lib"
}
}

  

  2. 实现功能类

  实现能能类 app/lib/Myapp/Test.php  

 <?php
/**
* @author brudeke
*/
namespace Myapp;
class Test{
public function do(){
echo 'this is a class';
}
}

  

  3. 实现ServiceProvider

  实现app/lib/Myapp/TestServiceProvider.php ,该类主要是将功能类添加到Ioc容器:  

<?php
/**
* @author brudeke
*/
namespace Myapp; use Illuminate\Support\ServiceProvider; class TestServiceProvider extends ServiceProvider{ public function register() {
$this->app['test'] = $this->app->share(
function ($app) {
return new \Myapp\Test();
});
}
}

  4. 实现Facade 实例

  实现app/lib/Myapp/Facades/TestFacades.php, 该类的主要美化,实现成员函数类似静态方法的调用形式  

 <?php
/**
* @author brudeke
*/
namespace Myapp\Facades; use Illuminate\Support\Facades\Facade; class TestFacades extends Facade{
protected static function getFacadeAccessor()
{
return 'test';
}
}

  

  5. 加载ServiceProvider

  在app/config/app.php 中的providers中添加如下配置:  

 'providers' => array(
  'Myapp\TestServiceProvider'
),

  在app/config/app.php 中的aliases中添加别名:  

 'aliases' => array(
'TestClass' => 'Myapp\Facades\TestFacades',
),

  接下来就可以在项目中以TestClass::do()的形式使用该功能类了。

Laravel 实现 Facades 功能的更多相关文章

  1. Laravel 核心--Facades 门面

    Laravel 核心--Facades 门面 伊Summer 关注  0.1 2017.08.12 19:07* 字数 2017 阅读 1089评论 0喜欢 5 介绍 Facades 为应用的 IoC ...

  2. laravel实现定时器功能

    前记 laravel实现定时器功能有两种方法: 1. 使用 command . 2.   在闭包函数内写实现的方法. 在这里我比较推荐第一种方法,因为第一种方法把具体的实现抽离出来了,看起来简单且富有 ...

  3. Laravel实用小功能

    Laravel实用小功能 1.控制访问次数 laravel5.2的新特性,通过中间件设置throttle根据IP控制访问次数 原理:通过回传三个响应头X-RateLimit-Limit,X-RateL ...

  4. 使用 Laravel 数据填充功能生成中文测试数据

    今晚……不对,是昨晚,折腾一个的小项目,发现自动填充的中文数据显示起来总不太美观,于是开始琢磨如何填充中文数据进行测试. 然而一番搜索后惊奇的发现,官方.以及一些非官方的文档均未提及这一功能.期间看到 ...

  5. laravel自定义分页功能的实现:

    laravel版本:5.5.. 执行命令: php artisan vendor:publish --tag=laravel-pagination 在到 resources/views/vendor/ ...

  6. 微信小程序结合laravel完成签到功能

    前端样式未做处理,可将后端数据传至前端进行处理 1.wxml页面 <!--pages/signIn/signIn.wxml--> <view class='signIn'> & ...

  7. laravel安装excel功能

    原文安装链接:https://github.com/Maatwebsite/Laravel-Excel 代码如下: if ($rows = DB::connection('glist')->ta ...

  8. Laravel的路由功能

    只能在当前方法内加载视图和URL跳转!

  9. Laravel OAuth2 (三) ---使用 services 和 facades

    前言 既然要判断用户是否存在,然后创建用户,那么就要实现几个功能函数.为了方便调用,于是我尝试着写了第一个service 和 facade . 创建 Facade class Social exten ...

随机推荐

  1. python 学习(三)

    按照上次python 学习(二)的思路,第一步要实现从一个网站的页面上自动获取指定列表中的信息.折腾数日,得到一段可以正常运行的代码,如下: #web2.py import re import url ...

  2. wordpress安装地址与博客地址

    可千万别乱改动你的wordpress安装地址和博客地址 一月 27th, 2009 Posted in web学习, 博客建设 | 12 Comments » 我最近一个月学习数据库的一些使用,把他爱 ...

  3. 答:我们公司的ASP.NET 笔试题,你觉得难度如何

    闲来无事,逛逛园子,发现有个面试题,觉得有意思.已自己的理解答来看看,不足之处,请多指教. 原文地址:http://www.cnblogs.com/leotsai/p/aspnet-tests-for ...

  4. NOD32强制卸载工具使用方法【转】

    装了ESET NOD32又忘记密码了,无法卸载,怎么办? 以下转自官网:http://faq.eset.com.cn/index.php?pid=254 [适用产品:ESET NOD32 防病毒软件4 ...

  5. DataGrid导出excel

    DAL://产品信息导出——LPH public DataTable ExportRelease(string type) { string sql = "SELECT [ProductID ...

  6. 2 _RESETFUL介绍

    2.2 CURL 命令的讲解: 1.就是以命令的方式来执行HTTP 协议的请求的工具 2.可以通过CURL 操作HTTP的GET/POST/PUT/DELETE方法 jrhmpt01:/root# c ...

  7. 快速批量导入庞大数据到SQL SERVER数据库(ADO.NET)

    原文地址:http://www.cnblogs.com/chenxizhang/archive/2008/11/11/1331060.html 如果你需要在程序中批量插入成千上万行的数据,你会怎么编写 ...

  8. Search in Rotated Sorted Array (I, II) 解答

    Question Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 ...

  9. 独立写作(A or B)

    开头:On contemporary society(一般的背景)/ With the advent of the technologically advanced society (the info ...

  10. mook_百度百科

    mook_百度百科 mook