PHP ��U
前一頁 |  | 下一頁

# classkit_method_redefine

(PECL)

classkit_method_redefine -- Dynamically changes the code of the given method

## Description

bool classkit_method_redefine ( string classname, string methodname, string args, string code [, int flags] )

> 注: This function cannot be used to manipulate the currently running (or chained) method.

警告
�o�Ө�ƬO����ʽ��C�o�Ө�ƪ�欰�B�W�١B�M����ƪ����L���b��PHP�o�椤�i��|�b�q�p�U���ܡC �ϥΦ��ݦۦ�Ӿ᭷�I�C

## Parameters

classname

  The class in which to redefine the method

methodname

  The name of the method to redefine

args

  Comma-delimited list of arguments for the redefined method

code

  The new code to be evaluated when methodname is called

flags

  The redefined method can be `CLASSKIT_ACC_PUBLIC`, `CLASSKIT_ACC_PROTECTED` or `CLASSKIT_ACC_PRIVATE`

  > 注: This parameter is only used as of PHP 5, because, prior to this, all methods were public.

## Return Values

�\�^��`TRUE`�Ѧ^��`FALSE`�C

## �d��

範例 1. classkit_method_redefine() example

`<?php class Example { function foo() { return "foo!\n"; } } // create an Example object $e = new Example(); // output Example::foo() (before redefine) echo "Before: " . $e->foo(); // Redefine the 'foo' method classkit_method_redefine( 'Example', 'foo', '', 'return "bar!\n";', CLASSKIT_ACC_PUBLIC ); // output Example::foo() (after redefine) echo "After: " . $e->foo(); ?>`

The above example will output:

    Before: foo!
    After: bar!

## �Ѧ�

classkit_method_add()
classkit_method_copy()
classkit_method_remove()
classkit_method_rename()

前一頁 | 內容 | 下一頁
classkit_method_copy | 上一層 | classkit_method_remove