PHP में डेटा सत्यापन: अंतर्निहित फ़ंक्शन से लेकर पेशेवर पुस्तकालयों तक
डेटा सत्यापन एक सुरक्षित और स्थिर वेब एप्लिकेशन की आधारशिलाओं में से एक है। PHP में कई दृष्टिकोण मौजूद हैं: सरल अंतर्निहित फ़ंक्शन से लेकर शक्तिशाली पुस्तकालयों तक जो "चेन ऑफ रिस्पॉन्सिबिलिटी" (Chain of Responsibility) पैटर्न को लागू करते हैं और जटिल जाँच परिदृश्यों का समर्थन करते हैं। इस लेख में हम PHP पर सत्यापन के लिए तीन लोकप्रिय उपकरणों पर चर्चा करेंगे: Respect\\Validation, Symfony Validator और Aura.Filter, साथ ही भाषा की अंतर्निहित क्षमताओं की याद दिलाएँगे।
1. PHP के अंतर्निहित फ़ंक्शन
तृतीय-पक्ष पुस्तकालयों को जोड़ने से पहले, यह याद रखना उचित है कि PHP डेटा को फ़िल्टर और जाँचने के लिए बुनियादी उपकरण प्रदान करता है:
filter_var()— फ़िल्टर के अनुसार डेटा की जाँच और सफाई (email, URL, integer आदि)preg_match()— रेगुलर एक्सप्रेशन द्वारा जाँचempty(),is_numeric(),strlen()— सरल जाँचctype_alpha(),ctype_digit()— वर्ण सेट की जाँच
filter_var के उपयोग का उदाहरण:
<?php$email = "user@example.com";if (filter_var($email, FILTER_VALIDATE_EMAIL)) { echo "Email सही है";} else { echo "गलत email";}?>2. Respect\\Validation
Respect\\Validation PHP में सत्यापन के लिए सबसे लोकप्रिय पुस्तकालयों में से एक है। इसका मुख्य लाभ पठनीय, श्रृंखलाबद्ध सिंटैक्स (fluent interface) और तैयार नियमों की विशाल संख्या (100 से अधिक) है।
स्थापना
composer require respect/validationउपयोग का उदाहरण
<?phpuse Respect\\Validation\\Validator as v;
$user = [ 'name' => 'इवान', 'email' => 'ivan@test.com', 'age' => 25, 'website' => 'https://example.com'];
$validator = v::key('name', v::stringType()->length(2, 50)) ->key('email', v::email()) ->key('age', v::intType()->between(18, 120)) ->key('website', v::optional(v::url()));
try { $validator->assert($user); echo "डेटा मान्य है!";} catch (\\Respect\\Validation\\Exceptions\\NestedValidationException $e) { print_r($e->getMessages());}?>पुस्तकालय कस्टम त्रुटि संदेश, सरणियों की नेस्टेड सत्यापन का समर्थन करता है, और allOf(), oneOf() और noneOf() के माध्यम से नियमों को संयोजित करने की अनुमति देता है।
3. Symfony Validator
Symfony Validator घटक Symfony पारिस्थितिकी तंत्र का हिस्सा है, लेकिन इसका उपयोग अलग से भी किया जा सकता है। यह एनोटेशन, XML और YAML कॉन्फ़िगरेशन के समर्थन के साथ जटिल डेटा संरचनाओं के सत्यापन के लिए एक औद्योगिक मानक है।
स्थापना
composer require symfony/validatorविशेषताओं (PHP 8+) के उपयोग के साथ उदाहरण
<?phpuse Symfony\\Component\\Validator\\Validation;use Symfony\\Component\\Validator\\Constraints as Assert;
class User{ #[Assert\\NotBlank] #[Assert\\Length(min: 2, max: 50)] public string $name;
#[Assert\\NotBlank] #[Assert\\Email] public string $email;
#[Assert\\NotBlank] #[Assert\\Positive] #[Assert\\LessThan(150)] public int $age;}
$user = new User();$user->name = 'इवान';$user->email = 'ivan@test.com';$user->age = 25;
$validator = Validation::createValidatorBuilder() ->enableAttributeMapping() ->getValidator();
$violations = $validator->validate($user);
if (count($violations) === 0) { echo "सत्यापन सफल!";} else { foreach ($violations as $violation) { echo $violation->getPropertyPath() . ': ' . $violation->getMessage() . ""; }}?>Symfony Validator सत्यापन समूहों, कैस्केडिंग जाँच का समर्थन करता है
पुस्तकालय में भी
Entity Framework Core C# (.NET): पूरी गाइड उदाहरणों के साथ
जावा में ऑब्जेक्ट सीरियलाइज़ेशन: शुरुआती लोगों के लिए पूर्ण गाइड
स्विफ्ट में रिएक्टिव प्रोग्रामिंग: iOS/macOS के लिए Combine और RxSwift
Inversify TypeScript: पूर्ण गाइड उदाहरण और IoC कंटेनर
Elasticsearch C# (.NET) क्लाइंट: NEST और Elastic.Clients.Elasticsearch