当前位置: 首页 > news >正文

界面设计优秀的网站有哪些百度站长反馈中心

界面设计优秀的网站有哪些,百度站长反馈中心,互联网策划主要做什么,宝安公司网站建设一、Bean 在 Swoft 中,一个 Bean 就是一个类的一个对象实例。 它(Bean)是通过容器来存放和管理整个生命周期的。 最直观的感受就是省去了频繁new的过程,节省了资源的开销。 二、Bean的使用 1、创建Bean 在【gateway/app/Http/Controller】下新建一个名为…

一、Bean

在 Swoft 中,一个 Bean 就是一个类的一个对象实例。 它(Bean)是通过容器来存放和管理整个生命周期的。

最直观的感受就是省去了频繁new的过程,节省了资源的开销。

二、Bean的使用

1、创建Bean

在【gateway/app/Http/Controller】下新建一个名为【TestController.php】的文件,文件内容如下。注释:“gateway”为我的项目名称。

<?php declare(strict_types=1);
/*** This file is part of Swoft.** @link     https://swoft.org* @document https://swoft.org/docs* @contact  group@swoft.org* @license  https://github.com/swoft-cloud/swoft/blob/master/LICENSE*/namespace App\Http\Controller;use Swoft\Http\Server\Annotation\Mapping\RequestMapping;
use Swoft\Bean\Annotation\Mapping\Bean;/*** Class TestController** @since 2.0* @Bean()*/
class TestController
{/*** @RequestMapping("index")**/public function index(){return 'testBean';}
}

2、调用Bean

在【gateway/app/Http/Controller】目录下随便找个已近存在的文件进行编辑调用,本文就选择了【RpcController.php】文件,这个文件在项目创建之初就存在了。

<?php declare(strict_types=1);
/*** This file is part of Swoft.** @link     https://swoft.org* @document https://swoft.org/docs* @contact  group@swoft.org* @license  https://github.com/swoft-cloud/swoft/blob/master/LICENSE*/namespace App\Http\Controller;use Swoft\Bean\BeanFactory;
use Swoft\Http\Server\Annotation\Mapping\Controller;
use Swoft\Http\Server\Annotation\Mapping\RequestMapping;/*** Class RpcController** @since 2.0** @Controller()*/
class RpcController
{/*** @RequestMapping("list")* @return array*/public function getList(): array{$bean = BeanFactory::getBean(TestController::class);return [$bean->index()];}}

3、展示结果

在【TestController】文件中的【index】方法中返回的内容是“testBean“,调用的时候返回了一个数组。我的浏览器安装了JSON的格式化工具,所以返回的数据都格式化了。

4、说明

在上面两个文件中都有标红的地方,两个文件的标红处是有关联的。

1、在【TestController】文件中,Bean的写法有很多种,如下所示:

  • 第一种
    •   写法:@Bean()
    •   调用:BeanFactory::getBean(TestController::class);
  • 第二种
    •   写法:@Bean("testBean")
    •   调用:BeanFactory::getBean('testBean');
    •   注意点:@Bean("testBean")中的引号一定要双引号,单引号要报错。
  • 第三种
    •   写法:@Bean(name="testBean",scope=Bean::SINGLETON)
    •   调用:BeanFactory::getBean('testBean');
    •   注意点:scope=Bean::SINGLETON 中的scope有三个值,分别是 Bean::SINGLETON(默认), Bean::PROTOTYPE, Bean::REQUEST。
  • 第四种
    •   写法:@Bean(name="testBean",scope=Bean::SINGLETON,alias="testBeanAlias")
    •   调用:BeanFactory::getBean('testBeanAlias');
    •   注意点:alias 表示别名的意思,使用了 alias 那么在调用时可以用别名调用。当然,设置别名后也可以不用别名调用,还是用原来的name也是可以的。

2、关于Bean的源码,可以打开【gateway/vendor/swoft/bean/src/Annotation/Mapping/Bean.php】文件查看。我下载的Swoft版本是2.0的,Bean.php文件内容如下:

<?php declare(strict_types=1);
/*** This file is part of Swoft.** @link     https://swoft.org* @document https://swoft.org/docs* @contact  group@swoft.org* @license  https://github.com/swoft-cloud/swoft/blob/master/LICENSE*/namespace Swoft\Bean\Annotation\Mapping;use Doctrine\Common\Annotations\Annotation\Attribute;
use Doctrine\Common\Annotations\Annotation\Attributes;
use Doctrine\Common\Annotations\Annotation\Enum;
use Doctrine\Common\Annotations\Annotation\Target;/*** Class Bean** @Annotation* @Target("CLASS")* @Attributes({*     @Attribute("name", type="string"),*     @Attribute("scope", type="string"),*     @Attribute("alias", type="string"),* })** @since 2.0*/
final class Bean
{/*** Singleton bean*/public const SINGLETON = 'singleton';/*** New bean*/public const PROTOTYPE = 'prototype';/*** New bean from every request*/public const REQUEST = 'request';/*** New bean for one session*/public const SESSION = 'session';/*** Bean name** @var string*/private $name = '';/*** Bean scope** @var string* @Enum({Bean::SINGLETON, Bean::PROTOTYPE, Bean::REQUEST})*/private $scope = self::SINGLETON;/*** Bean alias** @var string*/private $alias = '';/*** Bean constructor.** @param array $values*/public function __construct(array $values){if (isset($values['value'])) {$this->name = $values['value'];}if (isset($values['name'])) {$this->name = $values['name'];}if (isset($values['scope'])) {$this->scope = $values['scope'];}if (isset($values['alias'])) {$this->alias = $values['alias'];}}/*** @return string*/public function getName(): string{return $this->name;}/*** @return string*/public function getScope(): string{return $this->scope;}/*** @return string*/public function getAlias(): string{return $this->alias;}
}
http://www.yayakq.cn/news/865639/

相关文章:

  • 兰州网站排名哪家公司好ps培训班哪个机构好一点
  • 网站开发解决方案移动互联网终端
  • 成都网站制作收费电脑如何做网站
  • 哪里培训做网站网络营销心得体会1000字
  • 花都 网站建设大数据服务平台有哪些
  • 网站服务公司代买空间有无义务福州seo网站管理
  • 自己动手获取网站访客qq号码wordpress简单企业站
  • 发布一个网站需要什么上海网站建设关键词排名
  • 北京 网站开发 大兴黑群辉建设个人网站
  • html5网站网址装饰装潢
  • 合合肥网站建设婚庆网站建设
  • 重庆网站seo服务写作网站5妙不写就删除
  • 园区网互联及网站建设项目郴州市房价
  • 自己怎么做网站购买空间网页加速器插件
  • 企业官方网站建设如何网站被墙
  • 广告设计图片网站j2ee网站开发
  • 智能网站搭建中国传统文化网页设计
  • 龙华公司做网站亚马逊全球开店官方网站
  • 吉安网站建设兼职免费网站大全app
  • 重庆网站制作服务城市更新论坛破圈
  • 电商网站开发服务如何建设网页游戏网站
  • 昆明哪有做网站的网站导航这么做
  • 服装网站建设的规模和类别专业做蛋糕视频网站
  • 大什么的网站建设公司好阿里邮箱企业版入口
  • 平台如何制作网站淘宝禁止了网站建设类
  • 工信部网站黑名单开发个网站开票名称是什么
  • 莞城做网站个人信息展示页面设计
  • 用struts2框架做的网站重庆产品网站建设
  • 东营市建设局网站下载手机app软件
  • 建设部网站资质人员查询玩具网站建设