是否可以将参数传递给过滤器函数,以便可以按任何名称进行过滤?
就像是
$scope.weDontLike = function(item, name) {
console.log(arguments);
return item.name != name;
};
Run Code Online (Sandbox Code Playgroud) 如何使用空格访问数组键?
标准方式,
{{MyArray.name}}
Run Code Online (Sandbox Code Playgroud)
关键空间,
{{MyArray.first name}} or {{MyArray['first name']}}
Run Code Online (Sandbox Code Playgroud)
不起作用.
我可以覆盖标记对象序列化的方式吗?目前返回所有内容,我想排除id,created_at,updated_at和标记.我正在使用JMS Serializer软件包,Doctrine Extensions Taggable和FPN Tag Bundle.
这是我的设置,我想在实体的命名空间实际上是DoctrineExtensions可能是问题时将Tag Bundle的父设置为FPN.
大多数实体参数都在DoctrineExtensions\Taggable\Entity\Tag(id,name,created_at等)中.我正在覆盖扩展DoctrineExtensions的FPN包.DoctrineExtensions是一个库而不是一个包.
我怎样才能做到这一点?
# app/config/config.yml
# ...
jms_serializer:
metadata:
auto_detection: true
directories:
TagBundle:
namespace_prefix: "FPN\\TagBundle"
path: "@MYTagBundle/Resources/config/serializer/fpn"
# MY\TagBundle\Resources\config\serializer\fpn\Entity.Tag.yml
FPN\TagBundle\Entity\Tag:
exclusion_policy: ALL
properties:
id:
expose: false
name:
expose: true
created_at:
expose: false
updated_at:
expose: false
tagging:
expose: false
# src/MY/TagBundle/Entity/Tag.php
<?php
namespace MY\TagBundle\Entity;
use FPN\TagBundle\Entity\Tag as BaseTag;
class Tag extends BaseTag
{
}
# vendor/fpn/tag-bundle/FPN/TagBundle/Entity/Tag.php
<?php
namespace FPN\TagBundle\Entity;
use DoctrineExtensions\Taggable\Entity\Tag as BaseTag;
class Tag extends BaseTag
{
....
}
# src/MY/TagBundle/MYTagBundle.php
<?php
namespace …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用PostgreSQL的IDENTITY策略设置序列的分配大小和初始值.这不会产生我预期的SQL,但是将策略更改为SEQUENCE可行.这是有意的吗?
id:
id:
type: integer
id: true
generator:
strategy: IDENTITY
sequenceGenerator:
sequenceName: table_id_seq
allocationSize: 10
initialValue: 100000
Run Code Online (Sandbox Code Playgroud) 是否可以为get请求提供未知数量的参数?
例如,这有效,但并不理想.
$app->get('/print/{template}/{arg1}/{arg2}', function ($template, $arg1, $arg2) use ($app) {
$str = $template . " " . $arg1 . " " . $arg2;
return $str;
})
->value('template', FALSE)
->value('arg1', FALSE)
->value('arg2', FALSE);
Run Code Online (Sandbox Code Playgroud)
我想要的是为模板变量之后输入的任何内容返回的参数数组.我不能看到超过4或5个参数需要,但我希望从一开始就尽可能灵活.
理想情况下,我想做这样的事情,
$app->get('/pdf/{template}/{args[]}', function ($template, $args) use ($app) {
$str = $template;;
foreach($args as $arg)
$str .= " " . $arg;
return $str;
});
Run Code Online (Sandbox Code Playgroud) 我目前在 postgresql 数据库中有 2000 条记录,每分钟更新一次,并使用 SQL 语句进行过滤。可以存在多达 1000 个不同的过滤器组合,并且每分钟可以调用大约 500 个不同的过滤器。目前,http 响应会缓存 59 秒以减轻服务器负载和数据库调用。但是我正在考虑在 memcached 中缓存整个 db 表并在 php 中进行过滤。2000 行并不是很多,但是从内存中获取数据的响应时间与数据库相比会快很多。
对于这个行数,php 处理时间是否会超过 sql 过滤的数据库响应时间?在可预见的未来,该表的增长不应超过 3000 行。
我在我的Silex应用程序中使用Knp\Snappy\Pdf生成pdf.文件名是随机的并保存到tmp目录中.
$filename = "/tmp/$random.pdf"
$snappy->generate('/tmp/body.html', $filename, array(), true);
Run Code Online (Sandbox Code Playgroud)
我想在回复中返回pdf,
$response = new Response(file_get_contents($filename));
$response->headers->set('Pragma', 'public');
$response->headers->set('Content-Type', 'application/pdf');
return $response;
Run Code Online (Sandbox Code Playgroud)
pdf正确显示在Web浏览器中.请求完成后,具有随机文件名的文件仍然存在.在返回响应之前,我无法取消链接文件.我已经尝试使用register_shutdown_function注册一个关闭函数并从那里取消链接文件.然而,这似乎不起作用.有任何想法吗?
我可以在我发布的有效负载中使用先前测试中设置的环境变量吗?
例如.
POST /list
{
"some_key": environment.saved_value
}
Run Code Online (Sandbox Code Playgroud) Postgres可以做部分独特的索引,但我找不到任何教条文档,表明对此有任何支持.
http://www.postgresql.org/docs/current/interactive/indexes-partial.html#INDEXES-PARTIAL-EX3
我如何在Symfony中拥有一个实体,例如电子邮件.我想在哪里存储默认电子邮件的布尔标志.
电子邮件表看起来像,
id,user_id,email,default
1,1,email@something.com,false
2,1,email2@something.com,true
3,1,email3@something.com,false
Run Code Online (Sandbox Code Playgroud)
我想在user_id上使用唯一约束,默认= true.
SQL我会做类似的事情,
CREATE UNIQUE INDEX default_constraint ON emails (user_id)
WHERE default;
Run Code Online (Sandbox Code Playgroud)
还有另一种方法吗?我在实体中考虑了prePersist函数,但这需要db调用来检查.
编辑:我也在考虑一个事件监听器, http://symfony.com/doc/current/cookbook/doctrine/event_listeners_subscribers.html
我不确定我是否想听每个prePersist事件,我可以听一个特定的实体而不必过滤if语句.例如if($ entity instanceof Product){
php ×5
symfony ×5
postgresql ×3
doctrine-orm ×2
silex ×2
angularjs ×1
database ×1
doctrine ×1
javascript ×1
memcached ×1
postman ×1
routing ×1