我正在使用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对象
如果我说这一切都错了,请随时告诉我!
我无法找到一种方法来security.yml包含根据Symfony2环境包含的不同文件.例如,我想为我的验收测试提供一个内存用户提供程序,因为我不需要在这里测试我的实体和内容,我只想对我的视图进行验收测试.
但是,事实证明,这并不容易.我security.yml从我的包中删除config.yml,重命名为security_prod.yml并创建了一个security_test.yml具有in_memory用户提供程序的包.然后,我已经包括了security_prod.yml和security_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写了很多网站.现在,我必须使用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的例外.:/
我正在使用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,以输出图像图标?
因此,当我在我的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?
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'.我稍后需要比较主题标签以查看表单是否已更改.
所以,我需要做的是在每个输出当前元素的ID field_row.我得到的是使用以下代码覆盖Symfony的默认field_row块:
{% block field_row %}
{% spaceless %}
<div class="clearfix" id="{{ form.get('name') }}-row">
{{ form_label(form) }}
<div class="input">
{{ form_widget(form) }}
</div>
</div>
{% endspaceless %}
{% endblock field_row %}
Run Code Online (Sandbox Code Playgroud)
然而,这个{{ form.get('name') }}结构对我来说似乎很尴尬,我确信有一个更文明的方式来做这件事.任何人?
// 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 ×4
symfony ×4
javascript ×2
ajax ×1
asp.net-mvc ×1
css ×1
doctrine-orm ×1
glyphicons ×1
holder.js ×1
jquery ×1
json ×1
phpunit ×1
symfony4 ×1
twig ×1