PHP में डेटा सत्यापन: उपकरणों और पुस्तकालयों के लिए पूर्ण गाइड

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

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 सत्यापन समूहों, कैस्केडिंग जाँच का समर्थन करता है

अनुशंसाएँ