PHP | Función ReflectionMethod getPrototype()

La función ReflectionMethod::getPrototype() es una función incorporada en PHP que se usa para devolver el prototipo del método especificado; de lo contrario, se devuelve una excepción/error si el método no tiene un prototipo.

Sintaxis:

ReflectionMethod ReflectionMethod::getPrototype( void )

Parámetros: Esta función no acepta ningún parámetro.

Valor devuelto: esta función devuelve el prototipo del método especificado; de lo contrario, se devuelve una excepción/error si el método no tiene un prototipo.

Los siguientes programas ilustran la función ReflectionMethod::getPrototype() en PHP:
Programa 1:

<?php
   
// Initializing a user-defined class Department1
class Department1 {
   
    public function Marketing_Dpt() {
        return 'Department1';
    }
}
   
// Initializing a subclass of the above class Department1
class Department2 extends Department1{
   
    public function Marketing_Dpt() {
        return 'Department2';
    }
   
}
  
// Again Initializing a subclass of the above subclass Department2
class Department3 extends Department2{
   
    public function Coding_Dpt() {
        return 'Department3';
    }
   
}
   
// Using the ReflectionMethod() over the above 
// subclass Department2
$A = new ReflectionMethod('Department3', 'Marketing_Dpt');
   
// Calling the getPrototype() function
$B = $A->getPrototype();
   
// Getting the prototype 
var_dump($B);
?>

Producción:

object(ReflectionMethod)#2 (2) {
  ["name"]=>
  string(13) "Marketing_Dpt"
  ["class"]=>
  string(11) "Department1"
}

Programa 2:

<?php
  
// Initializing a user-defined class
class Company {
  
    protected function GeeksforGeeks($name) {
        return 'GFG' . $name;
    }
}
  
// Using ReflectionMethod() over the class Company
$A = new ReflectionMethod('Company', 'GeeksforGeeks');
  
// Calling the getPrototype() function
$B = $A->getPrototype();
  
// Getting the prototype or an error is returned
// if the method does not have a prototype.
var_dump($B);
?>

Salida: El método no tiene ningún prototipo que le dé un error.

PHP Fatal error: Uncaught ReflectionException: Method Company::
GeeksforGeeks does not have a prototype in 
/home/9d8367b263ee4d7ec6941876b0eae792.php:15
Stack trace:
#0 /home/9d8367b263ee4d7ec6941876b0eae792.php(15): 
ReflectionMethod->getPrototype()
#1 {main}
  thrown in /home/9d8367b263ee4d7ec6941876b0eae792.php on line 15

Referencia: https://www.php.net/manual/en/reflectionmethod.getprototype.php

Publicación traducida automáticamente

Artículo escrito por Kanchan_Ray y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *