php8.5
Home/ Manual/ runkit7 / functions/ runkit7_method_add

runkit7_method_add

PHP function Edit on GitHub ✎

(PECL runkit7 >= Unknown)

Dynamically adds a new method to a given class

Description

runkit7_method_add(string $class_name, string $method_name, string $argument_list, string $code, int $flags = RUNKIT7_ACC_PUBLIC, string $doc_comment = null, [string $return_type], [bool $is_strict]): bool
runkit7_method_add(string $class_name, string $method_name, Closure $closure, int $flags = RUNKIT7_ACC_PUBLIC, string $doc_comment = null, [string $return_type], [bool $is_strict]): bool

Parameters

class_name

The class to which this method will be added

method_name

The name of the method to add

argument_list

Comma-delimited list of arguments for the newly-created method

code

The code to be evaluated when method_name is called

closure

A closure that defines the method.

flags

The type of method to create, can be RUNKIT7_ACC_PUBLIC, RUNKIT7_ACC_PROTECTED or RUNKIT7_ACC_PRIVATE optionally combined via bitwise OR with RUNKIT7_ACC_STATIC

doc_comment

The doc comment of the method.

return_type

The return type of the method.

is_strict

Whether the method behaves as if it were declared in a file with strict_types=1

Return Values

Success

Examples

runkit7_method_add() example

php
<?php
class Example {
    function foo() {
        echo "foo!\n";
    }
}

// create an Example object
$e = new Example();

// Add a new public method
runkit7_method_add(
    'Example',
    'add',
    '$num1, $num2',
    'return $num1 + $num2;',
    RUNKIT7_ACC_PUBLIC
);

// add 12 + 4
echo $e->add(12, 4);
?>

The above example will output:

output
16

See Also

Source: reference/runkit7/functions/runkit7-method-add.xml · from the official PHP manual (php/doc-en)