gallu/slim-littie-tools

为 Slim 框架骨架应用提供的微小工具

v1.0.7 2023-08-20 11:44 UTC

README

Slim Framework(4.x)用の、比較的小さなツール群です。

关于安装

composer require gallu/slim-littie-tools:^v1.0

请使用此命令进行安装。

StaticBase.php

用于只包含静态方法的类的实例生成守卫类

WithContainerBase.php

用于在构造函数中接收Container的类的基类

WithStaticContainerBase.php

用于通过static属性接收Container的类的基类

./Controller

ControllerBase.php

用于Controller的继承类。构造函数中包含Container。

./Exception

包含内部使用的异常类。

./Libs

Config.php

用于简化从Container中获取'设置'的封装

DB.php ConnectPDO.php ConnectPDODummy.php

包含设置DB连接和Container设置的类以及获取DB句柄的类
PDO与实际的扩展PDO类不同

PDO.php

上述提到的扩展PDO类。
可以知道事务的有无,并且可以通过一个方法发出预处理语句。

Filter.php

根据规则过滤(修改/变形)数据。
当规则多个时,请用|连接。

  • trim 使用trim函数去除前后空白等
  • empty_string_to_null 空字符串则转换为NULL
  • strtolower 使用strtolower函数处理(将英文字符全部转换为小写)
  • strtoupper 使用strtoupper函数处理(将英文字符全部转换为大写)
  • floor 截断小数(类型为float型)
  • ceil 向上取整(类型为float型)
  • abs 绝对值
  • int 转换为int类型
  • string 转换为string类型
  • zip_hyphen 格式化带连字符的邮政编码(如果邮政编码无效,则直接返回输入值)
  • zip_space 格式化带空格的邮政编码(如果邮政编码无效,则直接返回输入值)
  • zip_shorten 格式化纯数字邮政编码(如果邮政编码无效,则直接返回输入值)
  • hirakana 将所有平假名和片假名转换为全角平假名
  • katakana 将所有平假名和片假名转换为全角片假名

Validator.php

检查值是否正确
※ 无required,且输入为空字符串时,validate返回true

  • required 必须检查
  • datetime 日期格式检查
  • alpha 英文字母
  • alpha_num 英文字母或数字
  • min_length:数 (作为文字的)最小长度(字节长度)。如果小于参数的数则错误
  • max_length:数 (作为文字的)最大长度(字节长度)。如果超过参数的数则错误
  • range_length:数-数 (作为文字的)范围(字节长度)。参数是“n以上m以下”。如果超出范围则错误
  • min_m_length:数 (作为文字的)最小长度(文字数(mb_length))。如果小于参数的数则错误
  • max_m_length:数 (作为文字的)最大长度(文字数(mb_length))。如果超过参数的数则错误
  • range_m_length:数-数 (作为文字的)范围(文字数(mb_length))。参数是“n以上m以下”。如果超出范围则错误
  • min_number:数 (数值的)最小值。如果小于参数的数则错误
  • max_number:数 (数值的)最大值。如果超过参数的数则错误
  • range_number:数-数 (数值的)范围。参数是“n以上m以下”。如果超出范围则错误
  • compare_with 在自身列名+'_check'中查找,检查值。如果不相等则错误。通常用于密码或电子邮件
  • int int类型,或者“可以识别为int的数字字符串”
  • float float类型,或者“可以识别为float的数字字符串”
  • zip 邮政编码格式( nnn-nnnn , nnn nnnn , nnnnnnn )
  • tel 电话号码格式( 支持连字符、空格、数字)
  • hirakana 文字全部是全角平假名(和全角空格(全角半角都可以))
  • katakana 文字全部是全角片假名(和全角空格(全角半角都可以))
  • email 电子邮件格式(filter_var()使用FILTER_VALIDATE_EMAIL)

./Libs/Http

Cookies.php

get关于“非最短格式”时返回空字符串的检查。
set关于“当指定了设置时更改默认值”的处理。
添加了delete方法。

Request.php

关于getParam等,“非最短格式”时返回空字符串的检查(Param's'系未添加其钩子,请注意)
添加了getSpecifiedParams()方法(获取传递数组的列: 如果指定的key不存在于GET/POST中,则不会创建key)
将第二个参数显式地传递给getSpecifiedParams()方法,如果指定的key不存在于GET/POST中,则key将被创建为“值为NULL”。

使用getSrcIp()方法可以获取“访问源的IP地址”。如果有HTTP_X_FORWARDED_FOR则使用它,如果没有则使用REMOTE_ADDR。如果以其他名称传入,也可以通过参数指定。

./Middleware

AddHeader.php

主要用于出于安全等原因“需要添加的”头。
如果需要覆盖,请将$setting['setting']['add_response_header']中记为[key => value]的形式,则会进行覆盖。

CsrfGuard.php

Slim-Csrf( https://github.com/slimphp/Slim-Csrf )的轻量级包装。
在分配Middleware的同时,添加了“当路由名为此名称时不进行检查”的处理。
使用setNotCoveredList()方法传递“排除目标的路由名”。

SlimLittleToolsUse.php

Config或DB等,使一些Libs内的类有效工作的类。具体来说,“将container放入静态属性中”。

./Model

ModelContainer.php

“Model数组”。基本上是数组本身,但添加了toAarray()方法的实现,即“调用保持的各个model的toArray()并返回结果”。

ModelBase.php

所谓的“Model”类的基类。
具体的使用方法,请参考其他链接。

./Trait

./src

Slim-Skeleton系中常出现在“src”中的代码的“推荐样本”。
可能还有其他必要的设置,所以建议复制并使用。

返回值一览表

Model

insert
null / 自身的实例
update
false / true
delete
false / PDOStatement实例
find / findBy
null / 自身的实例
findByAll
null / ModelCollection实例

PDO

preparedQuery
false / PDOStatement实例