PHP如何在调用某些内置函数后自动调用自定义函数?

时间:2018-11-07 09:49:58

标签: php function function-call

因此,假设我需要在调用内置PHP // Replace this with your desired start/end times and guests. $start = new DateTime('tomorrow 4:00pm'); $end = new DateTime('tomorrow 5:00pm'); $guests = array( array( 'name' => 'Homer Simpson', 'email' => 'hsimpson@example.com', ), array( 'name' => 'Marge Simpson', 'email' => 'msimpson@example.com', ), ); // Set connection information. $host = ''; $username = ''; $password = ''; $version = Client::VERSION_2016; $client = new Client($host, $username, $password, $version); // Build the request, $request = new CreateItemType(); $request->SendMeetingInvitations = CalendarItemCreateOrDeleteOperationType::SEND_ONLY_TO_ALL; $request->Items = new NonEmptyArrayOfAllItemsType(); // Build the event to be added. $event = new CalendarItemType(); $event->RequiredAttendees = new NonEmptyArrayOfAttendeesType(); $event->Start = $start->format('c'); $event->End = $end->format('c'); $event->Subject = 'EWS Test Event'; // Set the event body. $event->Body = new BodyType(); $event->Body->_ = 'This is the event body'; $event->Body->BodyType = BodyTypeType::TEXT; // Iterate over the guests, adding each as an attendee to the request. foreach ($guests as $guest) { $attendee = new AttendeeType(); $attendee->Mailbox = new EmailAddressType(); $attendee->Mailbox->EmailAddress = $guest['email']; $attendee->Mailbox->Name = $guest['name']; $attendee->Mailbox->RoutingType = RoutingType::SMTP; $event->RequiredAttendees->Attendee[] = $attendee; } // Add the event to the request. You could add multiple events to create more // than one in a single request. $request->Items->CalendarItem[] = $event; $response = $client->CreateItem($request); // Iterate over the results, printing any error messages or event ids. $response_messages = $response->ResponseMessages->CreateItemResponseMessage; foreach ($response_messages as $response_message) { // Make sure the request succeeded. if ($response_message->ResponseClass != ResponseClassType::SUCCESS) { $code = $response_message->ResponseCode; $message = $response_message->MessageText; fwrite(STDERR, "Event failed to create with \"$code: $message\"\n"); continue; } // Iterate over the created events, printing the id for each. foreach ($response_message->Items->CalendarItem as $item) { $id = $item->ItemId->Id; fwrite(STDOUT, "Created event $id\n"); } } 函数之后调用我的指定函数,可以这样做吗?找不到任何相关信息,或者我无法正确搜索它。

我需要像回调一样工作,因此每次调用date()函数时,指定的函数也应在此之后运行,并具有提供给date()函数的所有参数。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以定义调用_date()的替代功能date()和您的特殊功能。因此,您在代码中使用_date()而不是date()

function _date($format, $timestamp = null){
    $result = !isset($timestamp) ? date($format) : date($format, $timestamp);
    myFunction($format, $timestamp);
    return $result;
}
function myFunction($format, $timestamp){
    echo $format."/";
}
echo _date("Y-m-d");
// output: Y-m-d/2018-11-07

demo中查看结果