gallu/slim-littie-tools
Composer 安装命令:
composer require gallu/slim-littie-tools
包简介
little tools for Slim Framework skeleton applications
关键字:
README 文档
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内の「setting」の設定を簡単に取得する為のラッパー
DB.php ConnectPDO.php ConnectPDODummy.php
「settingに設定をいれたらDBハンドルへの接続&Containerへの設定」と「DBハンドルの取得」ができるクラス
PDOとあるが、実際には拡張されたPDOクラス
PDO.php
上述に記載のある、拡張されたPDOクラス。
トランザクションの有無が把握できる + 1メソッドでプリペアドステートメントが発行できる。
Filter.php
データを、ルールにそってフィルタリング(データの修正/変形)を行います。
ルールを複数記述する場合は、 | でつなげてください。
- trim trim関数で前後の空白などを除去
- empty_string_to_null 空文字ならNULLに変換する
- strtolower strtolower関数で処理(英字をすべて小文字にする)
- strtoupper strtoupper関数で処理(英字をすべて大文字にする)
- floor 端数の切り捨て(型はfloat型になる)
- ceil 端数の切り上げ(型はfloat型になる)
- abs 絶対値
- int int型へのキャスト
- string string型へのキャスト
- zip_hyphen ハイフン付きの郵便番号にフォーマット(郵便番号としてinvalidなら入力値をそのまま返す)
- zip_space スペース付きの郵便番号にフォーマット(郵便番号としてinvalidなら入力値をそのまま返す)
- zip_shorten 数字のみの郵便番号にフォーマット(郵便番号としてinvalidなら入力値をそのまま返す)
- 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' を探して、値をチェック。等しくなければエラー。パスワードとかemailで使う想定
- int int型、もしくは「intとして認識可能な数字だけの文字列」であること
- float float型、もしくは「floatとして認識可能な数字だけの文字列」であること
- zip 郵便番号形式( nnn-nnnn , nnn nnnn , nnnnnnn )であること
- tel 電話番号形式( ハイフン、スペース、数字のみは一通り対応)であること
- hirakana 文字がすべて「全角ひらがな(かスペース(全角半角ともOK))」でること
- katakana 文字がすべて「全角カタカナ(かスペース(全角半角ともOK))」でること
- email emailフォーマットである事(filter_var()のFILTER_VALIDATE_EMAILを使ってます)
./Libs/Http:
Cookies.php
getについて「非最短形式の場合には空文字を返す」ようにチェック。
setについて「第三引数にsettingを指定したら"そのCookieだけ"defaultを変更する」処理を追加。
deleteメソッドを追加。
Request.php
getParam等について、「非最短形式の場合には空文字を返す」ようにチェック(Param's'系はそのフックを入れていないので注意)。
getSpecifiedParams()メソッドの追加(引数で渡した配列のカラムをまとめて取得: 指定されたkeyがGET/POSTに存在しない場合、keyは作成されません)。
getSpecifiedParams()メソッドに第二引数で true を明示的に渡すと、指定されたkeyがGET/POSTに存在しない場合に「値がNULL」でkeyが作成されます。
getSrcIp()メソッドを使うと「アクセス元のIPアドレス」が取得できます。あればHTTP_X_FORWARDED_FOR、無ければREMOTE_ADDRを見に行きます。それ以外のnameで入ってくる場合、引数での指定も可能です。
./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インスタンス
gallu/slim-littie-tools 适用场景与选型建议
gallu/slim-littie-tools 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 300 次下载、GitHub Stars 达 1, 最近一次更新时间为 2018 年 07 月 14 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「microframework」 「rest」 「slim」 「psr7」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 gallu/slim-littie-tools 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 gallu/slim-littie-tools 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 gallu/slim-littie-tools 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Secure session middleware for Slim 3 framework
A PSR-7 compatible library for making CRUD API endpoints
Api bundle
A lightweight, secure-by-default PHP microframework built on Slim – providing Laravel-like features (ORM, authentication, migrations, caching) without the bloat. Perfect for building REST APIs and small-to-medium PHP applications.
Adds request-parameter validation to the SLIM 3.x PHP framework
Slim Framework 3 CSRF protection middleware utilities
统计信息
- 总下载量: 300
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 2
- 依赖项目数: 2
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2018-07-14