BossBey File Manager
PHP:
8.2.30
OS:
Linux
User:
imagivibe
Root
/
home
/
imagivibe
/
public_html
/
app.imagivibe.com
/
vendor
/
yoomoney
/
yookassa-sdk-validator
π€ Upload
π New File
π New Folder
Close
Editing: README.md
# YooKassa API PHP Validator [](https://packagist.org/packages/yoomoney/yookassa-sdk-validator) [](https://packagist.org/packages/yoomoney/yookassa-sdk-validator) [](https://packagist.org/packages/yoomoney/yookassa-sdk-validator) [](https://packagist.org/packages/yoomoney/yookassa-sdk-validator) ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ Π²Π°Π»ΠΈΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌΡΡ ΠΏΠΎΠ»ΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΡΠ΅ΡΠ΅Π· ΡΡΠ΅Π½ΠΈΠ΅ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² ΡΡΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ. ΠΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠΎΡΡΠ°Π²Π΅ [YooKassa API PHP Client Library](https://git.yoomoney.ru/projects/SDK/repos/yookassa-sdk-php/browse) ## Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ PHP 8.0 (ΠΈ Π²ΡΡΠ΅) ## Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ### Π ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Composer 1. [Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Composer](https://getcomposer.org/download/). 2. Π ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ: ```bash composer require yoomoney/yookassa-sdk-validator ``` ### Π ΡΠ°ΠΉΠ»Π΅ composer.json ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° 1. ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΡΡΡΠΎΠΊΡ `"yoomoney/yookassa-sdk-validator": "^1.0"` Π² ΡΠΏΠΈΡΠΎΠΊ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² ΡΠ°ΠΉΠ»Π΅ composer.json: ``` ... "require": { "php": ">=8.0", "yoomoney/yookassa-sdk-validator": "^1.0" ... ``` 2. ΠΠ±Π½ΠΎΠ²ΠΈΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°. Π ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³, Π³Π΄Π΅ Π»Π΅ΠΆΠΈΡ composer.json, ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ: ```bash composer install ``` 3. Π ΠΊΠΎΠ΄Π΅ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π²Π°Π»ΠΈΠ΄Π°ΡΠΎΡΠ°: ```php require __DIR__ . '/vendor/autoload.php'; ``` ## ΠΠ°ΡΠ°Π»ΠΎ ΡΠ°Π±ΠΎΡΡ 1. ΠΠΌΠΏΠΎΡΡΠΈΡΡΠΉΡΠ΅ Π½ΡΠΆΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ Π²Π°Π»ΠΈΠ΄Π°ΡΠΎΡΠ°: ```php use YooKassa\Validator\Validator; use YooKassa\Validator\Constraints as Assert; ``` 2. ΠΠΎΠ±Π°Π²ΡΡΠ΅ Π½ΡΠΆΠ½ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° Π΄Π»Ρ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ ΠΏΠΎΠ»Π΅ΠΉ ΠΊΠ»Π°ΡΡΠ° ΡΠ΅ΡΠ΅Π· Π°ΡΡΠΈΠ±ΡΡΡ: ```php #[Assert\NotBlank] #[Assert\Length(min: 2)] private string $title; ``` 3. Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π²Π°Π»ΠΈΠ΄Π°ΡΠΎΡΠ°, ΠΏΠ΅ΡΠ΅Π΄Π°Π² Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ°, ΠΏΠΎΠ»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²Π°Π»ΠΈΠ΄ΠΈΡΠΎΠ²Π°ΡΡ: ```php $validator = new Validator($this); ``` 4. ΠΡΠ·ΠΎΠ²ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ validatePropertyValue(), ΠΏΠ΅ΡΠ΅Π΄Π°Π² Π² Π½Π΅Π΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π²Π°Π»ΠΈΠ΄ΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅: ```php $validator->validatePropertyValue('title', $title); ``` 5. ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ, Π·Π°Π΄Π°Π½Π½ΡΠΌ ΡΠ΅ΡΠ΅Π· Π°ΡΡΠΈΠ±ΡΡΡ, Π²Π°Π»ΠΈΠ΄Π°ΡΠΎΡ Π²ΡΠ±ΡΠΎΡΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅. Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΌΡ-Π»ΠΈΠ±ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Ρ ΠΈΠ»ΠΈ ΡΠΏΠΈΡΠΊΡ ΠΏΡΠ°Π²ΠΈΠ», Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡ Π΄Π»Ρ ΠΏΠΎΠ»Ρ ΠΊΠ»Π°ΡΡΠ°, ΠΏΠ΅ΡΠ΅Π΄Π°ΠΉΡΠ΅ ΠΌΠ°ΡΡΠΈΠ² Ρ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠΎΠ²-ΠΏΡΠ°Π²ΠΈΠ» Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π² ΡΡΠ½ΠΊΡΠΈΡ validatePropertyValue: ```php $validator->validatePropertyValue('title', $title, [Assert\Length::class]); ``` Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΏΡΠ°Π²ΠΈΠ» Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ, Π²ΡΠ·ΠΎΠ²ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ getRulesByPropName(), ΠΏΠ΅ΡΠ΅Π΄Π°Π² Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»Ρ: ```php $constraintsList = $validator->getRulesByPropName('title'); ``` ## Example ```php <?php require_once './vendor/autoload.php'; use YooKassa\Validator\Constraints as Assert; use YooKassa\Validator\Validator; class PaymentItemModel { #[Assert\Length(min: 5)] private ?string $title; private Validator $validator; public function __construct() { $this->validator = new Validator($this); } public function setTitle(?string $title): PaymentItemModel { $this->validator->validatePropertyValue('title', $title); $this->title = $title; return $this; } } $paymentItem = new PaymentItemModel(); try { // ΠΠ°Π»ΠΈΠ΄Π°ΡΠΎΡ Π½Π΅ Π²ΡΠ±ΡΠΎΡΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ $paymentItem->setTitle('title'); echo 'success!'; } catch (Exception $exception) { var_dump($exception->getMessage()); } try { // ΠΠ°Π»ΠΈΠ΄Π°ΡΠΎΡ Π²ΡΠ±ΡΠΎΡΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ $paymentItem->setTitle('titl'); } catch (Exception $exception) { echo 'fail!'; var_dump($exception->getMessage()); } ```
Save
Cancel