cuốn sách gpt4 ai đã làm

php - Thực thi phương thức (ma thuật) khi gọi phương thức hiện có

In lại Tác giả: Hồ Xil Thời gian cập nhật: 2023-11-01 12:51:44 28 4
mua khóa gpt4 Nike

Có phương thức ma thuật nào mà khi gọi một phương thức từ một đối tượng, trước tiên hãy gọi một phương thức ma thuật. Giống như phương thức __call, nhưng phương thức này sẽ chỉ được kích hoạt nếu không tìm thấy phương thức.

Vì vậy, trong trường hợp của tôi, tôi muốn một cái gì đó như thế này:

lớpMyClass
{
chức năng công cộng __startMethod ( $method, $args )
{
// một phương thức vừa được gọi nên phương thức này được gọi đầu tiên
echo ' [bắt đầu] ';
}

chức năng công cộng helloWorld ( )
{
echo ' [Xin chào]';
}
}

$obj = MyClass mới();
$obj->helloWorld();

//Đầu ra:
[bắt đầu] [Xin chào]

Có điều đó trong PHP không? ?

câu trả lời hay nhất

Không có cách trực tiếp nào để thực hiện việc này, nhưng đối với tôi, có vẻ như bạn đang cố gắng triển khai một dạng lập trình hướng theo khía cạnh. Có một số cách để đạt được điều này trong PHP, một cách là thiết lập lớp của bạn như thế này:

lớpMyClass
{
chức năng công cộng __startMethod ( $method, $args )
{
// một phương thức vừa được gọi nên phương thức này được gọi đầu tiên
echo ' [bắt đầu] ';
}

chức năng công cộng _helloWorld ( )
{
echo ' [Xin chào]';
}

chức năng công cộng __call($method, $args)
{
_startMethod($method, $args);
$actualMethod = '_'.$method;
call_user_func_array(array($this, $actualMethod), $args);
}
}

$obj = MyClass mới();
$obj->helloWorld();

Tra cứu các cách khác để triển khai AOP trong PHP và xem cách nào phù hợp nhất với bạn (Tôi sẽ xem liệu tôi có thể tìm thấy liên kết ở đâu đó không).

EDIT: Đây là tập tin dành cho bạn../../../assets/Bachelorscripties/07-MFAPouw.pdf

Về php - thực thi một phương thức (ma thuật) khi một phương thức hiện có được gọi, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/10047505/

28 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress