zoukankan      html  css  js  c++  java
  • laravel-自定义facades(门面)

    参考资料

    laravel学院
    链接

    0.在在app下建立Utils文件夹

    <?php
    
    namespace AppUtils;
    
    class Test
    {
        public function sendMessage()
        {
            return '我是一个测试的facades';
        }
    }
    
    

    1.在app下建立Facades文件夹
    中建立Test.php

    <?php
    
    namespace AppFacades;
    
    use IlluminateSupportFacadesFacade;
    
    class Test extends Facade #继承Facade
    {
        public static function getFacadeAccessor()#重写里面的getFacadeAccessor方法
        {
            return 'test';  #自定义返回后面需要调用
        }
    }
    

    2.在命令行中定义服务

    # 此命令会在 appProviders中生成TestServiceProvider.php
    php artisan make:provider TestServiceProvider
    

    在TestServiceProvider.php中注册服务

    <?php
    
    namespace AppProviders;
    
    
    use AppUtilsTest;
    use IlluminateSupportServiceProvider;
    
    class TestServiceProvider extends ServiceProvider
    {
        /**
         * Register services.
         *
         * @return void
         */
        public function register()
        {
            //第一个bind方法表示每一次都需要实例化
           // $this->app->bind('test',function (){
           //     return new Test();
           // });
        #singleton表示注册一次就可以下次可以接着使用
           $this->app->singleton('test',function (){
                return new Test();
            });
        }
    
        /**
         * Bootstrap services.
         *
         * @return void
         */
        public function boot()
        {
            //
        }
    }
    
    

    3.接着在configapp.php中注册

    providers数组中注册

    AppProvidersTestServiceProvider::class,
    

    aliases中注册

    'Test'=>AppFacadesTest::class,
    

    在控制器中使用

    # 返回结果我是一个测试的facades 注:这里如果sendMessage不自动提示需要借助ide_helper包生成 php artisan ide-helper:generate(不解释)
    return Test::sendMessage();
    
  • 相关阅读:
    玩耍redis遇到的问题之记录
    哈勃望远镜--星柱图
    用js将从后台得到的时间戳(毫秒数)转换为想要的日期格式
    div水平居中
    hibernate和spring下载网址
    intellj idea 如何设置类头注释和方法注释(转载)
    转载:IT人高效的休息方式
    什么是REST?以及RESTful的实现
    easyui datagrid 获取记录数 页数 当前页
    font字体文件跨域
  • 原文地址:https://www.cnblogs.com/yaoliuyang/p/14231519.html
Copyright © 2011-2022 走看看