PHP Type Hinting Explained | Type Hinting In PHP In Hindi

Other Blogs

Blogs ❯❯ PHP

Image could not load

PHP Type Hinting

What is Type Hinting ?

Type Hinting एक mechanism है जो आपको function और method signatures में argument types specify करने की सुविधा देता है , जैसे बाकी languages like : Java , C , C++ etc . में होता है ।

ये ensure करता है की आपके functions / methods को सही type का data mile, और अगर type match नहीं करता, तो एक TypeError throw होता है।

आपको पता होगा कि PHP एक loosely typed language मतलब कोई function/method define करते time आपको कोई type define करने की need नहीं होती। जिस भी type की value आप function call करते time pass करोगे , function उसे accept कर लेगा।

<?php function print_type($x) { echo gettype($x); echo "\n"; } print_type(12); print_type(3.4); print_type("hi"); print_type(true); print_type(new stdClass); print_type([1,2]); ?>

example में आप देख सकते हैं कि function में defined variable के लिए call करते time किसी भी type की value को pass कर सकते हैं।

लेकिन PHP आपको ये option भी देती है कि आप proper syntax और type के साथ code लिख सकते हैं , जिसे Type Hinting कहते है।

इसका मतलब है की आप function या method call करते वक्त जो arguments pass करते हैं, उनके types को specify कर सकते हैं , अगर wrong type pass होता है, तो run-time error throw होता है।

Need Of Type Hinting

  • Error Prevention : Type hinting से ensure होता है की functions और methods को सही type के arguments मिल रहे हैं, जिस से unexpected behavior और runtime errors कम होते हैं।

  • Code Clarity : जब आप types specify करते हैं, तो code ज़्यादा self-explanatory और समझने में आसान हो जाता है।

  • Refactoring and Maintenance : Type hinting से code को refactor और maintain करना आसान हो जाता है, क्योंकि types clearly defined होते हैं।

Types of Type Hinting In PHP

PHP में type hinting कई types के लिए होता है, जैसे -

  • Classes and Interfaces : Ensure करता है की argument किसी specific class या interface का instance है।

  • Array : Ensure करता है की argument एक array है।

  • Callable : Ensure करता है की argument एक callable type है।

  • Scalar Types (since PHP 7.0) : int, float, string, और bool include करता है।

  • Iterable (since PHP 7.1 ): Ensure करता है की argument एक array या object है जो Traversable interface implement करता है।

  • Object (since PHP 7.2) : Ensure करता है की argument कोई भी object है।

  • Union Types (since PHP 8.0) : Multiple acceptable types specify करने की सुविधा देता है।

PHP Type Hinting Example

<?php // define argument's type & methd return type. function sum(int $a, int $b) : void { echo $a+$b; echo "\n"; } // now call the function. sum(12,23); ?>

Example में defined function को आप देख कर ही अंदाजा लगा सकते है ,कि function किस तरह की values accept कर रहा है और void return कर रहा है।

अब अगर same function को different values से access करना चाहेंगे तो error आएगी।

For eg.

// call function with string value.
sum('a', 23);

// Fatal error: Uncaught TypeError: sum(): Argument #1 ($a) must be of type int, string given

तो आप देख सकते हैं कि Type Hinting कितनी important और powerful चीज है।

PHP Type Hinting In Class

हालाँकि normal function के अलावा Type Hinting का use Classes में भी बहुत होता है।

<?php class User { private $name; public function __construct(string $name) { $this->name = $name; } public function getName(): string { return $this->name; } } function printUserName(User $user): void { echo $user->getName(); } $user = new User("Alice"); printUserName($user); // Output: Alice. ?>

हालाँकि अगर User object के अलावा कुछ और pass करेंगे तो again आपको error मिलेगी।

printUserName(123);

// Fatal error: Uncaught TypeError: printUserName(): Argument #1 ($user) must be of type User, int given

Advantages of Type Hinting

  • Improved Code Quality : Code quality improve होती है, क्योंकि यह clear होता है की क्या types expected हैं।

  • Better IDE Support : IDEs better code completion, refactoring tools, और error detection provide कर सकती हैं type information के साथ।

  • Enforces Consistency : Ensure करता है की आपके codebase के सभी parts functions और methods को consistently use कर रहे हैं।

  • Enhanced Readability : Developers के लिए data flow को समझना आसान हो जाता ह।

आप समझ गए होंगे कि PHP में Type Hinting क्या है और इसे कैसे implement करते हैं।

Related Topics -

Recent Blogs

Loading ...

Hey ! I'm Rahul founder of learnhindituts.com. Working in IT industry more than 4.5 years. I love to talk about programming as well as writing technical tutorials and blogs that can help to others .... keep learning :)

Get connected with me - LinkedIn Twitter Instagram Facebook

Your Thought ?

Please wait . . .

    0 Comment(s) found !