Sobes.tech
Middle

PHP-ში რეფლექსია რა მიზნით არის საჭირო?

sobes.tech AI

პასუხი AI-სგან

PHP-யில் Reflection என்பது குறியீட்டின் அமைப்பை ஆய்வு செய்து மாற்ற அனுமதிக்கிறது. இது வகுப்புகள், பொருட்கள், முறைகள், பண்புகள், நிலைத்துவைகள் மற்றும் பெயரிடப்பட்ட இடங்கள் பற்றிய தகவலை பெறும்.

முக்கிய பயன்பாடுகள்:

  • உள்ளடக்க ஆய்வு: உள்ளடக்கத்தில் உள்ள மெட்டாடேட்டாவை பெறுதல் (முறை பெயர்கள், வாதங்கள், அணுகல் மாற்றிகள்).
  • டைனமிக் பொருட்கள் உருவாக்கல் மற்றும் முறைகள் அழைப்பு: வகுப்பின் நகல்களை உருவாக்கி, அவற்றின் முறைகளை பிழையற்ற பெயரால் அழைக்கும்.
  • படிவங்கள் மற்றும் நூலகங்களை உருவாக்கல்: பயனர் குறியீட்டை பகுப்பாய்வு செய்து, அதனுடன் தொடர்பு கொள்ளும் சீரான அமைப்புகளை உருவாக்குதல் (உதாரணம்: IoC கன்டெய்னர்கள், ORM).
  • பிழை திருத்தல் மற்றும் சோதனை: இயங்கும் போது குறியீட்டை பகுப்பாய்வு செய்யும் கருவிகள்.
  • தானாக ஆவணங்களை உருவாக்குதல்.

ReflectionClass உதவியுடன் வகுப்பு பற்றிய தகவலை பெறும் உதாரணம்:

<?php
// stdClass வகுப்பின் தகவலை பெறுதல்
$reflectionClass = new ReflectionClass('stdClass');

echo $reflectionClass->getName(); // வெளிப்படுத்தும்: stdClass

$methods = $reflectionClass->getMethods();
foreach ($methods as $method) {
    echo $method->getName() . "\n"; // முறைகளின் பெயர்களை வெளிப்படுத்தும் (இருப்பின்)
}

டைனமிக் முறையை அழைக்கும் உதாரணம்:

<?php
class MyClass {
    public function myMethod($arg) {
        return "வணக்கம், " . $arg;
    }
}

$className = 'MyClass';
$methodName = 'myMethod';
$argument = 'உலகம்';

$reflectionMethod = new ReflectionMethod($className, $methodName);
$object = new $className();

$result = $reflectionMethod->invoke($object, $argument);
echo $result; // வெளிப்படுத்தும்: வணக்கம், உலகம்