zoukankan      html  css  js  c++  java
  • Swoft 容器使用

    可以借助Swoft下的Bean类操作容器

    示例:

    将类绑定至容器

    use SwoftBeanAnnotationBean;
    
    /**
     * @Bean("imageLogic")
     */
    class ImageLogic extends BaseLogic
    {
        /**
         * 根据id获取图片
         * @param int $id
         * @return array
         */
        public static function getOne(int $id): array
        {
            return Query::table(Image::class)->where('id',$id)->limit(1)->get(['url','thumb_url'])->getResult();
        }
    }

    从容器中取出对象:

    方法一:注入

    use SwoftBeanAnnotationInject;
    use AppModelsLogicImageLogic;
    
    class IndexController{
        /**
         * @Inject("imageLogic")
         * @var ImageLogic
         */
        private $imageLogic;
      
        public function index()
        {
            $this->imageLogic->getOne();
        }         
    }

    方法二:通过 BeanFactory 类获取

    use SwoftBeanBeanFactory;
    
    class IndexController
    {
        /**
         * @RequestMapping(route="index",method=RequestMethod::GET)
         */
        public function index(Request $request){
            //判断容器中是否存在该实例
            var_dump(BeanFactory::hasBean('imageLogic'));
            //从容器中获取
            $bean = BeanFactory::getBean('imageLogic');
            return $bean->getOne();
        }
    
    }
  • 相关阅读:
    2020北航OO第二单元总结
    2020北航OO第一单元总结
    OO结课了,狂喜
    BUAAOO第三单元总结
    BUAAOO第二单元代码分析
    BUAAOO第一单元代码分析
    OO第四次博客作业
    OO第三次博客作业
    OO第二次博客作业
    OO第一次博客作业
  • 原文地址:https://www.cnblogs.com/xiaoliwang/p/10385733.html
Copyright © 2011-2022 走看看