为了账号安全,请及时绑定邮箱和手机立即绑定

JSON 响应包含 PHP 中的函数

JSON 响应包含 PHP 中的函数

PHP
长风秋雁 2022-01-24 13:08:16
我有一个具有 JSON 响应的 PHP 代码。我需要将其分离['name' => $message->getName(), 'mes' => $message->getMes(), 'update_time' => $message->getUpdateTime()->format('Y-m-d H:i:s')]成一个独立的函数。当我需要时,我可以调用它。但是,我不知道该怎么做。这是我的控制器/*** @Route("/message/board/reset/{id}", name = "message_reset", requirements = {"id" = "\d+"})*/public function editMeg($id){    $entityManager = $this->getDoctrine()->getEntityManager();    $message = $entityManager->find('MegBundle:message', $id);    $UserN = $message->getName();    $UserM = $message->getMes();    return new JsonResponse(['result' => 'ok', 'ret' => ['name' => $message->getName(), 'mes' => $message->getMes(), 'update_time' => $message->getUpdateTime()->format('Y-m-d H:i:s')]]);}我希望这是合理的,并且有办法做到这一点。我很感激任何帮助。我Heop它可以像这样/**     * @Route("/message/board/updata/{id}", name = "message_updata", requirements = {"id" = "\d+"})     * @Method("PUT")     */    public function updataMeg(Request $request, $id)    {        $entityManager = $this->getDoctrine()->getEntityManager();        $message = $entityManager->find('MegBundle:message', $id);        $message->setMes($request->request->get("txtMes"));        $entityManager->flush();        return new JsonResponse(['result' => 'ok', 'ret' => jsonreturn()]);    }    public function jsonreturn()    {        $json = 'name' => $message->getName(), 'mes' => $message->getMes(), 'update_time' => $message->getUpdateTime()->format('Y-m-d H:i:s');    }
查看完整描述

3 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

最后,我尝试以下代码:


控制器.php:


/**

* @Route("/message/board/updata/{id}", name = "message_updata", requirements = {"id" = "\d+"})

* @Method("PUT")

*/

public function updataMeg(Request $request, $id)

{

    $entityManager = $this->getDoctrine()->getEntityManager();

    $message = $entityManager->find('MegBundle:message', $id);

    $message->setMes($request->request->get('txtMes'));

    $entityManager->flush();

    $message->toArray($message);

    return new JsonResponse(['result' => 'ok', 'ret' => $message]);

}

实体.php


public function toArray($message)

{

    $this->message = array('name' => $message->getName(), 'mes' => $message->getMes(), 'update_time' => $message->getUpdateTime()->format('Y-m-d H:i:s'));

}

我得到


{"result":"ok","ret":{"message":{"name":"AAA","mes":"test","update_time":"2019-09-25 08:13:04 "}}}


查看完整回答
反对 回复 2022-01-24
?
狐的传说

TA贡献1804条经验 获得超3个赞

也许你想这样做:


private function jsonreturn($message) {

  return ['name' => $message->getName(), 'mes' => $message->getMes(), 'update_time' => $message->getUpdateTime()->format('Y-m-d H:i:s')];

}

只需将$message对象传递给此函数


查看完整回答
反对 回复 2022-01-24
?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

您需要的格式是json编码的,因此,您可以尝试以下代码:


private function jsonreturn($message) {

  echo json_encode(['name' => $message->getName(), 'mes' => $message->getMes(), 'update_time' => $message->getUpdateTime()->format('Y-m-d H:i:s')]);

}


查看完整回答
反对 回复 2022-01-24
  • 3 回答
  • 0 关注
  • 151 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号