zoukankan      html  css  js  c++  java
  • laravel 门面的介绍和使用

    #上文讲述了laravel中怎么用容器依赖注入类的示例。其实在服务提供者上面在封装一层静态调用,这就是门面。静态调用门面,返回了容器中注册的别名和实例。

    #下面是测试的示例

    #先创建要操作的类

    <?php
    /**
     * Created by PhpStorm.
     * User: xujun
     * Date: 2018/3/10
     * Time: 15:38
     */
    
    namespace AppHttpLogic;
    
    
    class DirLogic
    {
        public function createDir(){
            echo '创建目录';
        }
    }
    

    #然后创建服务提供者

    php artisan make:provider MDirProvider
    

    #然后在服务提供者中静态绑定到容器

    public function register()
        {
            //
            $this->app->singleton(DirLogic::class, function ($app) {
                return new DirLogic();
            });
        }
    

    #然后创建门面在app/下创建目录Facades

    <?php
    /**
     * Created by PhpStorm.
     * User: xujun
     * Date: 2018/3/10
     * Time: 15:40
     */
    
    namespace AppFacades;
    
    use AppHttpLogicDirLogic;
    use IlluminateSupportFacadesFacade;
    class DirFacades extends Facade
    {
        protected static function getFacadeAccessor()
        {
            return DirLogic::class;//容器中的真实映射名
        }
    
    }
    

    #然后修改配置文件

    在服务提供者中添加
    AppProvidersMDirProvider::class,
    在aliases数组中添加
    'DirFacade'=>AppFacadesDirFacades::class,
    

    #测试的控制器

    namespace AppHttpControllers;
    use IlluminateHttpRequest;
    use DirFacade;
    
    class UsersController extends Controller
    {
        public function index1(Request $requser){
            DirFacade::createDir();
        }
    }
    

      

    #返回

    创建目录

    总结:门面其实是在提供一个静态类调用容器中的绑定对象作用。  

      

      

      

      

  • 相关阅读:
    局部加权回归、欠拟合、过拟合(Locally Weighted Linear Regression、Underfitting、Overfitting)
    损失函数(Loss Function)
    线性回归、梯度下降(Linear Regression、Gradient Descent)
    从BSP模型到Apache Hama
    Apache Hama安装部署
    C#中的面向对象编程
    0<Double.MIN_VALUE
    Java方法的参数传递方式为: 值传递
    数据取对数的意义
    UBuntu安装配置记录
  • 原文地址:https://www.cnblogs.com/gavinjunftd/p/8540393.html
Copyright © 2011-2022 走看看