小编kix*_*kix的帖子

将JSON对象发布到Symfony 2

我正在使用Symfony 2开发一个项目,我已经构建了一个bundle来处理我的所有数据库服务,它们传递JSON数据.

我的问题/问题:

  • 可以发布一个直接的JSON对象吗?目前我正在欺骗我的ajax调用的正常表单帖子,json={"key":"value"}如果我不给它一个名字给对象一个名字我似乎无法从Symfony请求对象获取数据$JSON = $request->request->get('json');

  • 我希望能够使用一个服务包来处理来自AJAX调用的数据或正常的Symfony表单.目前我正在提交提交的Symfony表单,然后使用JSON_ENCODE获取数据,我只是无法解决如何将数据发布到我期望请求数据的服务控制器.

总结一下:

  • 我希望Symfony接受JSON post对象而不是表单.

  • 我想使用Request/Response在控制器之间传递JSON对象

如果我说这一切都错了,请随时告诉我!

php ajax json symfony

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

针对不同环境的不同security.yml文件

我无法找到一种方法来security.yml包含根据Symfony2环境包含的不同文件.例如,我想为我的验收测试提供一个内存用户提供程序,因为我不需要在这里测试我的实体和内容,我只想对我的视图进行验收测试.

但是,事实证明,这并不容易.我security.yml从我的包中删除config.yml,重命名为security_prod.yml并创建了一个security_test.yml具有in_memory用户提供程序的包.然后,我已经包括了security_prod.ymlsecurity_test.yml我的生产和测试分别CONFIGS.

但它似乎根本不起作用:

$ SYMFONY_ENV=test app/console cache:clear                                                      

  [Symfony\Component\Config\Definition\Exception\InvalidConfigurationException]                                                           
  You are not allowed to define new elements for path "security.providers". Please define all elements for this path in one config file.  

$ SYMFONY_ENV=prod app/console cache:clear                                                      

  [Symfony\Component\Config\Definition\Exception\ForbiddenOverwriteException]                                                                         
  Configuration path "security.access_control" cannot be overwritten. You have to define all options for this path, and any of its sub-paths in one   
  configuration section.                                                                                                                              
Run Code Online (Sandbox Code Playgroud)

在我看来,security.yml文件名是硬编码的(这对于Symfony来说太奇怪了),但事实并非如此.

所以问题是:如何security.yml …

php symfony

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

将会话变量检索到ASP.NET MVC 4(razor,view)

我用PHP写了很多网站.现在,我必须使用ASP MVC 4(c#)创建网站,我被Sessions困住了.

IE用户应该登录页面,输入他/她的登录名和密码.如果它们是正确的,在控制器中,我用UserId设置会话,如下所示:

Session["UserId"] = 10
Run Code Online (Sandbox Code Playgroud)

此UserId值用于显示PartialViews(登录表单或(登录后)某些应用程序菜单).如何在Razor视图中获取此UserId?

在此之后:

if (Session.UserId == 10) { @Html.Partial("LoggedMenu") }
Run Code Online (Sandbox Code Playgroud)

我有StackOverflow的例外.:/

asp.net-mvc session-variables asp.net-mvc-4

8
推荐指数
1
解决办法
9万
查看次数

如何在Holder.js图像中使用Bootstrap Glyphicons

我正在使用Bootstrap构建项目的前端,我希望使用3.0.0中的Glyphicons而不是通常的文本.我该怎么做?

那些熟悉Holder.js的人会知道JS基本上会在客户端创建占位符图像.这具有有用的带宽节省应用程序,因为您只需要下载脚本的重量(大约4Kb)并让客户机器生成图像.

我想将Glyphicons与holder.js结合起来,即时生成大量高质量的图标.

使用Bootstrap调用Glyphicon如下:

<span class="glyphicon glyphicon-user"></span>
Run Code Online (Sandbox Code Playgroud)

使用holder.js调用带有"Hello World"文本的动态图像,如下所示:

<img data-src="holder.js/200x200/text:Hello World">
Run Code Online (Sandbox Code Playgroud)

我知道Bootstrap CSS将Glyphicon类定义为字体,然后使用伪before元素来调用辅助类定义的特定字符.见下文:

.glyphicon {
    position: relative;
    top: 1px;
    display: inline-block;
    font-family: 'Glyphicons Halflings';
    -webkit-font-smoothing: antialiased;
    font-style: normal;
    font-weight: normal;
    line-height: 1;
}

.glyphicon-user:before {
    content: "\e008";
}
Run Code Online (Sandbox Code Playgroud)

如何轻松地将正确字体中的特定glyphicon字符传递给holder.js,以输出图像图标?

javascript css twitter-bootstrap glyphicons holder.js

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

Doctrine的实体经理崩溃并停留下来

因此,当我在我的ZF/Doctrine应用程序上运行测试时,一些测试会破坏Doctrine Entity Manager,并且由于EM被关闭,所有顺序测试都会失败.

我在我的tests/bootstrap.php中设置了EM:

$application = new Zend_Application(
    APPLICATION_ENV,
    APPLICATION_PATH . '/configs/application.ini'
);
$application->bootstrap();
(...)
$bootstrap = $application->getBootstrap();
$em = $bootstrap->getResource('doctrinemanager');
Run Code Online (Sandbox Code Playgroud)

然后我在测试setUp()函数中设置它($ this - > _ service是正在测试的服务):

$em = App::getEntityManager();
$this->_em = clone $em;
$this->_service->setEm($this->_em);
Run Code Online (Sandbox Code Playgroud)

然后当我运行导致EM抛出异常并关闭的测试(这对我来说是正确的行为)时,它会在所有测试中保持关闭状态,当然由于EM关闭而失败.正如你猜测的那样,这不是我期望的测试行为.

我在设置服务之前尝试克隆EM,但它没有用.

有没有一种简单的方法可以使用一些Doctrine方法重新打开EM?

php phpunit doctrine-orm

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

字符串到Javascript/Jquery中的唯一哈希

Javascript/Jquery中是否有一个函数可以从字符串中生成hashtag?我正在寻找几分钟的答案,我找不到它:/也许有其他方法可以做到这一点?我有Symfony 2.4应用程序.

我将表单数据序列化为字符串,例如:

"cloud_adm_dictionary_type%5Bitems%5D%5B0%5D%5BdictName%5D=Otwartabbb&cloud_adm_dictionary_type%5Bitems%5D%5B0%5D%5BdictValue1%5D=fa-comments-o+text-muted&cloud_adm_dictionary_type%5Bitems%5D%5B0%5D%5BdictActive%5D=1&cloud_adm_dictionary_type%5Bitems%5D%5B1%5D%5BdictName%5D=Wycena&cloud_adm_dictionary_type%5Bitems%5D%5B1%5D%5BdictValue1%5D=fa-comments-o+text-muted&cloud_adm_dictionary_type%5Bitems%5D%5B1%5D%5BdictActive%5D=1&cloud_adm_dictionary_type%5Bitems%5D%5B2%5D%5BdictName%5D=Negocjacje&cloud_adm_dictionary_type%5Bitems%5D%5B2%5D%5BdictValue1%5D=fa-comments-o+text-muted&cloud_adm_dictionary_type%5Bitems%5D%5B2%5D%5BisDefault%5D=1&cloud_adm_dictionary_type%5Bitems%5D%5B2%5D%5BdictActive%5D=1&cloud_adm_dictionary_type%5Bitems%5D%5B3%5D%5BdictName%5D=Wygrana&cloud_adm_dictionary_type%5Bitems%5D%5B3%5D%5BdictValue1%5D=fa-thumbs-o-up+text-primary&cloud_adm_dictionary_type%5Bitems%5D%5B3%5D%5BdictActive%5D=1&cloud_adm_dictionary_type%5Bitems%5D%5B4%5D%5BdictName%5D=Przegrana&cloud_adm_dictionary_type%5Bitems%5D%5B4%5D%5BdictValue1%5D=fa-thumbs-o-down+text-danger&cloud_adm_dictionary_type%5Bitems%5D%5B4%5D%5BdictActive%5D=1&cloud_adm_dictionary_type%5B_token%5D=3PBJr_pPjHhAIB95N7PUReP5asrXsGwCILAxZLyGTUg deal:738
cloud_adm_dictionary_type%5Bitems%5D%5B0%5D%5BdictName%5D=w%C5%82asnee&cloud_adm_dictionary_type%5Bitems%5D%5B0%5D%5BdictActive%5D=1&cloud_adm_dictionary_type%5Bitems%5D%5B1%5D%5BdictName%5D=proklienckii&cloud_adm_dictionary_type%5Bitems%5D%5B1%5D%5BdictActive%5D=1&cloud_adm_dictionary_type%5Bitems%5D%5B2%5D%5BdictName%5D=telemarketing&cloud_adm_dictionary_type%5Bitems%5D%5B2%5D%5BdictActive%5D=1&cloud_adm_dictionary_type%5Bitems%5D%5B3%5D%5BdictName%5D=mailing&cloud_adm_dictionary_type%5Bitems%5D%5B3%5D%5BdictActive%5D=1&cloud_adm_dictionary_type%5Bitems%5D%5B4%5D%5BdictName%5D=www&cloud_adm_dictionary_type%5Bitems%5D%5B4%5D%5BdictActive%5D=1&cloud_adm_dictionary_type%5Bitems%5D%5B5%5D%5BdictName%5D=partner&cloud_adm_dictionary_type%5Bitems%5D%5B5%5D%5BdictActive%5D=1&cloud_adm_dictionary_type%5Bitems%5D%5B6%5D%5BdictName%5D=nowe+zrodlo&cloud_adm_dictionary_type%5Bitems%5D%5B6%5D%5BdictActive%5D=1&cloud_adm_dictionary_type%5Bitems%5D%5B7%5D%5BdictName%5D=Aaa&cloud_adm_dictionary_type%5Bitems%5D%5B7%5D%5BdictActive%5D=1&cloud_adm_dictionary_type%5B_token%5D=3PBJr_pPjHhAIB95N7PUReP5asrXsGwCILAxZLyGTUg"
Run Code Online (Sandbox Code Playgroud)

我想从那里做标签,比如我不知道'462423dfdaak542634'.我稍后需要比较主题标签以查看表单是否已更改.

javascript jquery

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

在Symfony2/Twig中获取表单小部件名称

所以,我需要做的是在每个输出当前元素的ID field_row.我得到的是使用以下代码覆盖Symfony的默认field_row块:

{% block field_row %}
{% spaceless %}
<div class="clearfix" id="{{ form.get('name') }}-row">
    {{ form_label(form) }}
    <div class="input"&gt;
        {{ form_widget(form) }}
    </div>
</div>
{% endspaceless %}
{% endblock field_row %}
Run Code Online (Sandbox Code Playgroud)

然而,这个{{ form.get('name') }}结构对我来说似乎很尴尬,我确信有一个更文明的方式来做这件事.任何人?

symfony-forms symfony twig

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

为什么不应该在Symfony4的生产环境中加载.env?

index.php 默认情况下,前端控制器具有

// The check is to ensure we don't use .env in production
if (!isset($_SERVER['APP_ENV'])) {
    (new Dotenv())->load(__DIR__.'/../.env');
}
Run Code Online (Sandbox Code Playgroud)

这是什么原因呢?为什么.env在生产环境中应该忽略文件?

php environment-variables symfony symfony4

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