symfony2中service的简单用法

本文详细介绍了如何在PHP应用中创建并配置一个服务层,包括服务文件的建立、路由配置、控制器处理以及核心业务逻辑实现。通过具体实例展示了服务层如何用于地址管理,包括删除、新增和修改地址的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

针对一个简单的service的个人写法

1.首先需要在Bundle中建一个service文件夹。在文件夹中写一个service的php文件  如 bookService.php



2.配置service路由;



3.controller的处理


/**
 * 删除地址
 *
 * @param  string   $receiverAddressId
 *
 */
public function deleteAddress($receiverAddressId){
    $repository = $this->entityManager->getRepository('AppBundle:ReceiverAddress');
    $receiverAddress = $repository->find($receiverAddressId);
    if (empty($receiverAddress) || $receiverAddress->getStatus() == 2) {
        throw new \Exception('该地址不存在或者已经被删除',BaseException::ERROR_CODE_NO_AUTHORITY);
    }

    $receiverAddress->setStatus(2);

    $this->entityManager->flush();
}
/**
 * 增加地址
 *
 * @param  string   $receiverAddressId
 * @param  string   $userId
 *@param  string   $receiver
 * @param  string   $address
 * @param  string   $tel
 * @param  string   $zipCode
 * @reruen $receiverAddressId
 */
public function addAddress($userId,$receiver,$address,$tel,$zipCode){
    $receiverAddress = new ReceiverAddress();
    $receiverAddress->setUserId($userId);
    $receiverAddress->setReceiver($receiver);
    $receiverAddress->setAddress($address);
    $receiverAddress->setTel($tel);
    $receiverAddress->setZipCode($zipCode);

    $this->entityManager->persist($receiverAddress);
    $this->entityManager->flush();

    $data = $receiverAddress->getId();
    return $data;
}
/**
 * 修改地址
 *
 * @param  string   $receiverAddressId
 * @param  string   $userId
 *@param  string   $receiver
 * @param  string   $address
 * @param  string   $tel
 * @param  string   $zipCode
 *
 */
public function modifyAddress($receiverAddressId,$userId,$receiver,$address,$tel,$zipCode){
    $receiverAddress = $this->entityManager->getRepository('AppBundle:ReceiverAddress')->find($receiverAddressId);
    if (empty($receiverAddress) || $receiverAddress->getStatus() == 2) {
        throw new \Exception('该地址不存在或者已经被删除',BaseException::ERROR_CODE_NO_AUTHORITY);
    }

    $receiverAddress->setUserId($userId);
    $receiverAddress->setReceiver($receiver);
    $receiverAddress->setAddress($address);
    $receiverAddress->setTel($tel);
    $receiverAddress->setZipCode($zipCode);

    $this->entityManager->flush();
}


4.service的文件书写



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值