Download the PHP package hrb981027/treasure-bag without Composer

On this page you can find all versions of the php package hrb981027/treasure-bag. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package treasure-bag

TreasureBag

百宝箱,内容包含常用的辅助函数、类库、服务中心 SDK

安装

辅助函数、类库

Parental 库

Fork 的 calebporzio/parental 包,并改为 Hyperf 框架专用版本

辅助函数

服务中心 SDK

配置

配置文件位于config/autoload/treasureBag.php,如文件不存在可以使用如下命令快速生成配置文件

配置项 类型 默认值 备注
service_center_host string 'http://localhost' 服务中心地址
service.name string '' 当前服务名称
service.description string '' 当前服务描述
service.path array [] 当前服务网关匹配路径
service.publish.topic string '' 当前服务发布事件主题
service.publish.description string '' 当前服务发布事件描述
service_hostname string 'localhost' 当前服务主机名
service_port int 9501 当前服务端口

使用

服务中心

配置

在配置文件中server一项,可使用预设的服务,示例如下

鉴权放行路径

目前只能通过注解的形式标注无需鉴权路径,带有该注解时,类或方法必须要有对应路由(config/routes.php 配置同样生效),否则无效。示例如下

如果注解标注在控制器类上,对应的鉴权放行路径为:/api/**,如果控制器注解带有 prefix 参数则也生效

如果注解标注在控制器方法上,对应的鉴权放行路径为:/api/test,如果类和方法同时带有@Secure注解,则只有类注解生效

如果服务有多个网关匹配路径,则可以通过@Secure(path="")参数设置该放行路径属于哪个匹配路径,示例如下

如果 path 参数为空,则默认为配置文件中 path[0]

注册服务

建议在框架启动时进行注册服务,示例如下

服务发现

配置

服务路由器的地址由服务注册完成后自动设置,所以无需任何手动配置

请求

目标服务可使用预设的服务,示例如下

发布事件

配置

事件总线的地址由服务注册完成后自动设置,所以无需任何手动配置

发布

事件名称可使用预设的枚举类,示例如下

订阅

目前只能通过注解的形式标注订阅事件的接收 URL,带有该注解时,方法必须要有对应路由且请求方式必须含有POST(config/routes.php 配置同样生效),否则无效。通过设置 topic 参数设置需要订阅的事件(可多个) ,事件名称可使用预设的枚举类,示例如下

枚举类

Hrb981027\TreasureBag\Lib\Enum\Enum 类提供了 toArrayinArray 方法,如需使用该方法,可继承此类

标准响应

响应代码值枚举类放置于 Hrb981027\TreasureBag\Lib\Enum\ResponseCode

标准响应体类放置于 Hrb981027\TreasureBag\Lib\ResponseContent\StandardResponseContent,示例如下

标准异常处理

配置文件位于 config/autoload/exceptions.php\Hrb981027\TreasureBag\Exception\Handler\StandardExceptionHandler::class 配置在对应的 server 下即可,示例如下

参数类

继承 Hrb981027\TreasureBag\Lib\Param\AbstractParam 类可实现:构造函数数组递归赋值、自动校验属性类型和必填性、转数组,继承该类的同时也必须携带相关 注解 ,赋值时数组键名和属性名对应关系为snake风格 —> 小驼峰风格,转数组时为 小驼峰风格 —> snake风格

普通用法

继承 AbstractParam 类并携带相关 注解,示例如下

使用如下

数组内类型定义

如果需要定义一个整型的集合(数组),通过 @var int[] 定义,示例如下

修改赋值或转数组时数组键名对应属性名的默认处理函数

赋值时数组键名和属性名对应关系为snake风格 —> 小驼峰风格,转数组时为 小驼峰风格 —> snake风格,可以通过 @ParaminHandleoutHandle 参数来修改默认的处理函数

单个属性赋值或转数组时,键名单独对应

可能会出现个别奇葩的属性在赋值或者转数组时,键名的转换并不是和其他属性的处理模式一样,这时可以通过 @ParamPropertyinout 参数来单独定义该属性对应数组的键名,此处只能传入固定值,示例如下

使用如下

对参数进行必填和不能为空进行校验

通过设置 @ParamPropertyrequiredfilledtrue 来开启对该参数的校验,开启 required 后该参数必填(可为空),开启 filled 后该参数必填且不能为空(使用 empty 函数校验)

属性类型为另一个参数类

属性类型不仅可以为 php 基础数据类型,也可以是另一个参数类(也必须继承 AbstractParam,且携带对应的 注解),数组内的类型定义必须为参数类的全命名空间,使用 use 无效,示例如下

使用如下

个别属性不想被外部赋值或转数组时输出

通过设置 @ParamPropertyallowInallowOut 参数来开关是否允许输入输出,示例如下


All versions of treasure-bag with dependencies

PHP Build Version
Package Version
Requires php Version >=8.0
hyperf/constants Version ^2.2
hyperf/guzzle Version ^2.2
hyperf/utils Version ^2.2
phpdocumentor/reflection-docblock Version ^5.3
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package hrb981027/treasure-bag contains the following files

Loading the files please wait ....