小编Jak*_*zak的帖子

如何在php中解析soap xml响应并从字符串中获取信息

我在从 SOAP 响应中提取信息时遇到一些问题。这是我得到的回应:

<?xml version="1.0" encoding="utf-8" ?> 
- <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <soap:Body>
- <GetInfoFromSendingResponse xmlns="http://test.test.com/">
  <GetInfoFromSendingResult>{"SendingID":"2468","Subject":"Test","ID":"2468","CampaignID":"890","ForwardAddress":"test@test.ro","SendingTime":"1/14/2016 8:00:00 AM","SendLeadsToEmail":"0","LanguageID":"6","LeadsTestMode":true,"WebversionLink":"","Language":"FR"}</GetInfoFromSendingResult> 
  </GetInfoFromSendingResponse>
  </soap:Body>
  </soap:Envelope>
Run Code Online (Sandbox Code Playgroud)

我需要来自变量的信息GetInfoFromSendingResult并将其存储在变量中,以便我可以使用该信息。

"Language"示例:根据SOAP 响应中提供的信息更改表单的语言。任何帮助表示赞赏。

php xml soap xml-parsing

5
推荐指数
1
解决办法
7654
查看次数

Symfony,在实体上放置自定义方法?

我正在学习Symfony,我正试图弄清楚在实体上放置自定义操作的位置......

例如,如果我有一个实体Order,在哪里放$order->complete()?或者$order->sendToProduction(),$order->queueForDelivery()

这些只是示例,我有复杂的实体,我必须对它们执行许多操作.

在控制器?

  • 不,因为可以从不同的控制器调用相同的动作

在实体?

  • 这将是MVC模型中更合适的方式,但在这里我找不到从Entity类内部执行自定义mysql查询(doctrine/em不可用)的简单方法,我觉得奇怪,因为db操作应该是在实体层面上,我相信......

在EntityController中?

  • 这似乎不合适,例如,从侦听器调用存储库方法并不容易,并直接在对象上调用它们...

还有什么?我必须创建服务吗?实用课程?

php symfony

5
推荐指数
1
解决办法
1024
查看次数

将工厂传递给symfony 2服务

我有一个依赖于数据库连接的类,如下所示:

class Test 
{
   private $conn;
   public function __construct(Connection $conn) {
       $this->conn = $conn;
   }
}
Run Code Online (Sandbox Code Playgroud)

这项服务可能如下所示:

 services:
      service.test:
          class: Test
          arguments:
             - ["@database_connection"]
Run Code Online (Sandbox Code Playgroud)

现在,我想传递我自己的连接服务/对象,在启动时创建一个Connection.但我不能把它作为一个论点,因为它想要一个Connection对象,而不是一个工厂.

我怎样才能最好地接近这个?

我已经尝试setConnectionTest类上添加一个,但保持当前定义和服务完好无损.

php symfony

5
推荐指数
1
解决办法
186
查看次数

为zf2实现密码验证器

编写验证两个输入(必须是eqeal)的密码验证器的好方法是什么,以及如何将其集成到zf2表单中.

php validation zend-framework2

4
推荐指数
1
解决办法
4701
查看次数

Symfony 3:提交表单后设置值

我有一个form collection并想field2在提交表单后设置,具体取决于field1. field2在表单中不可编辑,但需要。

我尝试了每个FormEvent (FormEvents::)但收到错误:

SQLSTATE[23000]:违反完整性约束:1048 列“field2”不能为空

// AppBundle/Form/MyFormType.php

// ...
$builder->addEventListener(FormEvents::POST_SUBMIT, function(FormEvent $even) {
    $data = $event->getData();
    $form = $event->getForm();

    if (isset($data['field1'])) { // isset
        $field2 = $this->container->get('repository')->find($data['field1'])->getValue(); // service works

        $data['field2'] = $field2; // !!! doesn't work !!!              
        $data->setField2($field2); // !!! doesn't work !!!    
    }
});
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?提前致谢!

php symfony-forms symfony

4
推荐指数
1
解决办法
7140
查看次数

Javascript重定向,打破了按钮

根据StackOverflow上的许多答案,location.replace(URL)您可以重定向用户,同时将页面保留在后退按钮历史记录中.

我想做相反的事情,所以我正在使用,location.href = URL但我仍然正在经历后退按钮的正确工作:这是为什么?

此外,location.replace()在Chrome和IE10中使用似乎也保留了后退按钮.请注意,我没有重定向,location.replace("http://...")但有location.replace("/page.html")

我想将我的用户从一个页面重定向到配置向导,而在向导内部,用户不应该在页面之间来回切换:相反,按"后退"应该将其重定向到原始页面,在向导之外.

一种解决方案是通过AJAX加载向导的页面并注入它们.html().我们已经以这种方式开发了大多数Web应用程序页面,但对于这个特定部分,服务器端开发人员忽略了AJAX解决方案(如图!).

我能做什么?

javascript jquery

2
推荐指数
1
解决办法
4716
查看次数

我可以在子文件夹中组织 Doctrine YAML 映射吗?

我在 Symfony3 项目中为 Doctrine 实体设置了自定义映射设置,如下所示:

MyModel:
    type: yml
    dir: %kernel.root_dir%/../src/AppBundle/Resources/config/doctrine/MyModel
    prefix: MyProject\MyModel\Model
    is_bundle: false
Run Code Online (Sandbox Code Playgroud)

假设我有一个 entity MyProject\MyModel\Model\SubNamespace\MyEntity。现在,我必须将其 yml 映射放入 中%kernel.root_dir%/../src/AppBundle/Resources/config/doctrine/MyModel/SubNamespace.MyEntity.orm.yml,并且它工作正常。

我可以将 Doctrine 配置为能够在子文件夹中组织映射文件,而不是将文件名作为前缀后命名空间部分的串联吗?

在这种情况下,如果 %kernel.root_dir%/../src/AppBundle/Resources/config/doctrine/MyModel/SubNamespace/MyEntity.orm.yml

原因是映射目录正在增长,并且很难在其中找到任何特定文件。

当然,对每个子文件夹都进行配置并不是一个解决方案。;-)

php yaml symfony doctrine-orm

2
推荐指数
1
解决办法
813
查看次数

Windows 8中的作曲家设置

我正在尝试安装适用于Windows的Composer-Setup,但安装时出现错误而不能继续

这个错误:

连接错误[ERR_CONNECTION]:无法连接到getcomposer.org请求https://getcomposer.org/installer失败并出现错误:SSL:握手超时.无法启用加密.无法打开流:操作失败

  • 版本php:5.6.8
  • XAMPP
  • 窗户8

php xampp ssl composer-php

1
推荐指数
1
解决办法
1089
查看次数

对PHP中的简单开关感到困惑(5.5.38)

我已经设置了以下类,它模仿我正在进行的一个并尝试修复.

目标

根据传入的初始值返回费用(值).

问题

我在下面的当前代码中有两个问题:

  1. 当传入的第一个值为0(零)时返回12p是不正确的 - 它应该被第一个案例捕获并返回15p.

  2. 我还没有解决它,但我想退还最后一个案例的发行费用(如果未定义下一个案例).对于下面的例子; 要设置的最后一个限制是$lower_3变量 - 这意味着传递的任何大于31*的值应返回10p的费用.然而,我看到null正在返回,因为支票刚刚落到最后一个案例.

代码

<?php

class IssuanceScheme
{
    private $lower_1 = 0;
    private $upper_1 = 20;
    private $issuanceFee_1 = '15p';

    private $lower_2 = 21;
    private $upper_2 = 30;
    private $issuanceFee_2 = '12p';

    private $lower_3 = 31;
    private $upper_3 = null; //50;
    private $issuanceFee_3 = '10p';

    private $lower_4 = null; //51;
    private $upper_4 = null; //75;
    private $issuanceFee_4 …
Run Code Online (Sandbox Code Playgroud)

php switch-statement

1
推荐指数
1
解决办法
46
查看次数

为什么Symfony需要学说/ orm

为什么Symfony的要求doctrine/orm,并doctrine/doctrine-bundle在同一时间?

不应该doctrine/orm是一个依赖doctrine/doctrine-bundle

这种格式不允许我将doctrine/orm与其他学说库无效组合吗?

symfony doctrine-orm

1
推荐指数
1
解决办法
61
查看次数

尝试从命名空间AppBundle \ Repository加载类“ Roles”

我在数据库中有角色:

AppBundle\Entity\Roles:
 type:     entity
 table:     Roles
 repositoryClass: AppBundle\Repository\Roles
Run Code Online (Sandbox Code Playgroud)

空类用于测试:

namespace AppBundle\Repository;
use Doctrine\ORM\EntityRepository;
use AppBundle\Entity\Roles;

class RolesRepository extends \Doctrine\ORM\EntityRepository
{
}
Run Code Online (Sandbox Code Playgroud)

我的控制器中的一个简单用例:

namespace AppBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use AppBundle\Entity\Roles;
class ClientsController extends CommonController
{
    public function newAction(Request $request)
    {
        // [...]
        $role = $this->getDoctrine()
               ->getRepository('AppBundle:Roles')
               ->findOneBy(array('role'=>'ROLE_CLIENT'));
        // [ ...]
    }
}
Run Code Online (Sandbox Code Playgroud)

当我只在我的.orm.yml文件中放入“ repositoryClass:\ AppBundle \ Repository \ Roles”时,我得到了错误消息:

试图从命名空间“ \ AppBundle \ Repository”中加载类“ Roles”。您是否忘记了另一个名称空间的“使用”语句?

有人可以帮我吗?

php doctrine symfony symfony-2.7

1
推荐指数
1
解决办法
326
查看次数

同一页面中的多个symfony分页

我会在同一页面上添加几个分页按钮。这是我的页面:

https://i.stack.imgur.com/IV7xy.jpg

目前,我像这样使用knppaginator:

$paginator  = $this->get('knp_paginator');
    $pagination = $paginator->paginate(
        $demandes,
        $request->query->getInt('page', 1),
        5
    );
Run Code Online (Sandbox Code Playgroud)

我尝试以这种方式使用knppaginator:

$paginator  = $this->get('knp_paginator');
    $pagination = $paginator->paginate(
        $demandes,
        $request->query->getInt('page', 1),
        5
    );
    $paginator  = $this->get('knp_paginator');
    $paginationF = $paginator->paginate(
        $forumTopics,
        $request->query->getInt('page', 1),
        5
    );
Run Code Online (Sandbox Code Playgroud)

但这行不通。当我用一个更改页面时,它将更改另一个页面。

谢谢。

php pagination symfony

0
推荐指数
1
解决办法
771
查看次数

在SQL Server中转换

这是在SQL SERVER 2012环境中我有以下问题,我有一个带有类型字段的表datetime.

这个字段就像yyyy-mm-dd hh:mm:ss:msmsms- "2013-12-12 00:00:00.000"

我需要提取yyyy到一个字段.mm另一个和dd最后一个.

我试着这样做

SELECT        distinct CONVERT(CHAR (10), Data, 120) as Dia, 
 CONVERT(CHAR (7), Data, 120) as Mes, 
CONVERT(CHAR (4), Data, 120) as Ano
FROM            Vendas
Run Code Online (Sandbox Code Playgroud)

但我得到的输出是

Day 12-12-2013
Month 12-2013
Year 2013
Run Code Online (Sandbox Code Playgroud)

这一年是正确的,但我找不到一种方法来切割日和月的正确部分.

有人可以帮帮我吗?

sql sql-server

-2
推荐指数
1
解决办法
161
查看次数