小编ex3*_*x3v的帖子

Symfony2 - 创建自己的供应商包 - 项目和git策略

我们正在考虑创建我们自己common的实体映射和服务包,以便在几个单独的应用程序中使用.捆绑包应该易于修改,运行,包含和测试.我知道构建捆绑包的最佳实践,但我不知道git在开发时使用什么策略.

我们应该创建commonbundle作为一个整体项目并将整个存储库提交给我们的git服务器,还是最好只为commonbundle的root启动源代码控制并仅推送其内容?我在捆绑包中看到了这种方法github,但我不知道以这种方式开发捆绑包的简单方便.

php git bundle symfony

78
推荐指数
2
解决办法
3万
查看次数

卷曲 - 无法使用p12证书连接

我正在尝试使用Curl连接到某些外部公司提供的服务来收集一些数据.除了解决问题之外,他们还向我发送了p12建立连接所需的证书文件.

当我尝试使用它时curl,我收到以下错误:

#58: not supported file type 'P12' for certificate
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经尝试更新curl和php-curl.没有改变.

我的代码:

...
curl_setopt($ch, CURLOPT_SSLCERT, 'cert_path');
curl_setopt($ch, CURLOPT_SSLCERTTYPE, 'P12');
curl_setopt($ch, CURLOPT_SSLCERTPASSWD, 'my_pass');
...
Run Code Online (Sandbox Code Playgroud)

有趣的是,这段代码适用于我们的生产环境,而它不适用于我的本地机器(Linux Mint 16).

php ssl curl

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

FreeMarker:期望一个布尔值,但是这被评估为一个数字

我有一个模板,我在其中:

<#if result.numFound > 10> 
  (some data)
</#if>
Run Code Online (Sandbox Code Playgroud)

这给了我解析错误:

For "#if" condition: Expected a boolean, but this evaluated to a number
Run Code Online (Sandbox Code Playgroud)

result.numFoundInteger.我已经阅读了文档,也许我错过了一些东西......

java template-engine freemarker

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

Symfony2/Twig - 迭代选择选项

通常的显示方式select是打电话

{{ form_row(form.doctor_service_id, {'attr':{'class':'form-control'}}) }}
Run Code Online (Sandbox Code Playgroud)

我想做两件事:

  1. 检查此字段是否实际上是一个选择字段
  2. 迭代每个选项(值,名称).我知道twig迭代器是如何工作的,我只是不知道如何访问select选项并将它们转换为它.

php symfony twig

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

PHPUnit mock抛出不兼容的声明错误

我正在使用PHPUnit 3.6.10(遗憾的是我目前无法升级到更新的版本).在处理一些遗留代码的模拟时,我得到了一个奇怪的错误.尝试谷歌,只有与静态方法相关的结果出现了,这不是我的情况.

有这个课程:

class ServicesMapper extends DbMapper
{
    //... (some methods)

    public function saveTravel(ServiceTravel $oTravel) {
        $this->getAdapter()->insert('services_travels', $oTravel->getToArray());
    }

    //... (some methods)
}
Run Code Online (Sandbox Code Playgroud)

我试着嘲笑它:

(内部单元测试类)

/**
 * @return ServicesMapper
 */
private function getServicesMapperStub()
{
    $stub = $this->getMock('ServicesMapper');

    $stub->expects($this->any())
            ->method('searchBy')
            ->will($this->returnValue(array()));

    return $stub;
}
Run Code Online (Sandbox Code Playgroud)

现在,在运行这个假测试时(我知道这个测试什么都不做,这只是为了显示问题):

   /**
    * @test
    */
    public function fakeMockTest(){
        $serviceMapper = $this->getServicesMapperStub();
        $this->assertTrue(true);
    }
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

Declaration of Mock_ServicesMapper_60b00178::saveTravel() 
should be compatible with ServicesMapper::saveTravel(ServiceTravel $oTravel)
Run Code Online (Sandbox Code Playgroud)

我在很多地方使用这种嘲讽方式,除了这种特殊情况外,它运作良好.我的代码出了什么问题?

顺便说一句:我也试图用嘲弄saveTravel方法解决这个问题,没有运气.

php phpunit unit-testing mocking

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

Symfony2 - 在twig partial/subrequest中获取主要请求的当前路由

在由独立控制器呈现的Twig部分呈现中,我想检查当前主路由是否等于比较路由,因此我可以将列表项标记为活动.

我怎样才能做到这一点?试图在BarController中获取当前路线,如:

$route = $request->get('_route');
Run Code Online (Sandbox Code Playgroud)

回报null.

Uri也不是我想要的,因为在下面的代码中调用代码bar:

app.request.uri
Run Code Online (Sandbox Code Playgroud)

返回类似于的路线: localhost/_fragment?path=path_to_bar_route

完整的例子

主控制器:FooController扩展Controller {

    public function fooAction(){}
}
Run Code Online (Sandbox Code Playgroud)

fooAction树枝:

...some stuff...

{{ render(controller('FooBundle:Bar:bar')) }}

...some stuff...
Run Code Online (Sandbox Code Playgroud)

酒吧控制器:

BarController extends Controller{

    public function barAction(){}
}
Run Code Online (Sandbox Code Playgroud)

barAction树枝:

<ul>   
    <li class="{{ (item1route == currentroute) ? 'active' : ''}}">
        Item 1
    </li>
    <li class="{{ (item2route == currentroute) ? 'active' : ''}}">
        Item 2
    </li>
    <li class="{{ (item3route == currentroute) ? 'active' : ''}}">
        Item 3
    </li>  
</ul>
Run Code Online (Sandbox Code Playgroud)

php symfony twig

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

使用 Ajax 和 PHP 进行长轮询 - Apache 冻结

我们尝试在我们公司的 ERP 中实现基于长轮询的通知服务。类似于 Facebook 通知。

使用的技术:

  • PHP在循环的每次迭代中timeout设置为 60 秒和 1 秒sleep
  • 用于 AJAX 处理的 jQuery。
  • Apache 作为网络服务器。

经过近一个月的编码,我们进入了生产阶段。部署几分钟后,我们不得不回滚一切。事实证明,我们的服务器(8 核)无法处理来自 20 名员工的长请求,每个员工使用约 5 个浏览器选项卡。例如:用户使用我们的 ERP 打开了 3 个选项卡,每个选项卡上都有一个长轮询 AJAX。打开第 4 个选项卡是不可能的 - 它会挂起,直到前 3 个选项卡中的一个被杀死(因此 AJAX 停止)。

“Apache 的局限性”,我们认为。所以我们去谷歌搜索。我找到了一些关于 Apache 的 MPM 模块和配置的信息,所以我试了一下。我们的服务器使用preforkMPM,apachectl -l如图所示。所以我在配置中更改了几行,看起来像这样:

<IfModule mpm_prefork_module>
    StartServers          1
    MinSpareServers       16
    MaxSpareServers      32
    ServerLimit          50%
    MaxClients          150
    MaxClients           50%
    MaxRequestsPerChild   0
</IfModule>
Run Code Online (Sandbox Code Playgroud)

有趣的是,它可以在我的本地机器上使用类似的配置运行。在服务器上,看起来 Apache 忽略了配置,因为MinSpareServers设置为 16,它在重新启动后启动 8。当他不知道该怎么做。

php apache ajax long-polling

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

是否有适用于 Java/Spring Web 应用程序的表单生成器?

我从迁移PHPJavaSpring。我注意到Spring,即使它是很棒的框架,也会遗漏其他平台上其他框架中捆绑的东西。我最怀念的一个是使用专用构建器构建表单的能力,而无需编写一行html.

让我们Symfony2举个例子(点击这里查看全文):

/**
 * Controller class
 */ 
public function newAction(Request $request)
{
    // create a task and give it some dummy data for this example
    $task = new Task();
    $task->setTask('Write a blog post');
    $task->setDueDate(new \DateTime('tomorrow'));

    $form = $this->createFormBuilder($task)
        ->add('task', 'text')
        ->add('dueDate', 'date')
        ->add('save', 'submit', array('label' => 'Create Post'))
        ->getForm();

    return $this->render('AcmeTaskBundle:Default:new.html.twig', array(
        'form' => $form->createView(),
    ));
}
Run Code Online (Sandbox Code Playgroud)

有了这段代码,我所要做的就是在我的视图中调用form(实际上是表单的toString()方法,但适当的twig插件会处理它)。HTML 是动态生成和填充的:

{{ form(form) }} …
Run Code Online (Sandbox Code Playgroud)

java forms spring spring-mvc

5
推荐指数
0
解决办法
4046
查看次数

Spring @Transactional on class vs on method

我正在使用Spring BootSpring Data JPA.

有以下课程:

import org.springframework.transaction.annotation.Transactional;

@Transactional(propagation = Propagation.REQUIRED)
public class Foo{

    public void bar(){}

}
Run Code Online (Sandbox Code Playgroud)

bar()和任何其他成员方法也是交易?

我还有第二个问题.在许多教程中,人们倾向于做这样的事情:

import org.springframework.transaction.annotation.Transactional;

@Transactional(propagation = Propagation.REQUIRED, readOnly = true)
public class Foo{

    @Transactional(propagation = Propagation.REQUIRED, readOnly = false)
    public void bar(){}

}
Run Code Online (Sandbox Code Playgroud)

为什么?使用readOnly truefalse安全问题?

java spring jpa spring-mvc

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

可以有一个浮动水平滚动条?

我有一个有大桌子的网站,它非常高,因此要进入水平滚动条我必须滚动到页面底部.

反正有没有水平滚动条漂浮在窗口的底部,总是可以访问,而不必先滚动到网页的底部?

html css jquery web

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