小编sto*_*fln的帖子

如何在twig中连接字符串

任何人都知道如何连接树枝中的字符串?我想做的事情如下:

{{ concat('http://', app.request.host) }}
Run Code Online (Sandbox Code Playgroud)

syntax templating string-concatenation twig

427
推荐指数
9
解决办法
31万
查看次数

格式化DateTime对象,尊重Locale :: getDefault()

我有一个DateTime对象,我正在通过它编写

$mytime->format("D d.m.Y")
Run Code Online (Sandbox Code Playgroud)

这给了我完全符合我需要的格式:

星期二5.3.2012

唯一缺少的是正确的语言.我需要Tue(Tuesday)的德语翻译,即Die(Dienstag).

这为我提供了正确的区域设置

Locale::getDefault()
Run Code Online (Sandbox Code Playgroud)

但我不知道怎么告诉DateTime::format它使用它.

有没有办法做这样的事情:

$mytime->format("D d.m.Y", \Locale::getDefault());
Run Code Online (Sandbox Code Playgroud)

php datetime-format

57
推荐指数
3
解决办法
6万
查看次数

android:获取图像尺寸而不打开它

我希望在将它们加载到RAM之前获得存储在SD卡上的图像的宽度和高度(以像素为单位).我需要知道尺寸,所以我可以在加载时相应地对它们进行下采样.如果没有对它们进行下采样,我会得到一个OutOfMemoryException.

任何人都知道如何获取图像文件的尺寸?

android

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

Symfony2:如何获得一个标有"EDIT"ACL权限的类型的所有实体?

有人能告诉我如何获得一个标有"编辑"ACL权限的类型的所有实体吗?

我想用Doctrine EntityManager构建一个查询.

acl doctrine entitymanager symfony

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

使用Symfony2更加冗长地记录错误

我使用以下配置进行生产日志记录:

monolog:
    handlers:
        mail:
            type:         fingers_crossed
            action_level: error
            handler:      grouped
        grouped:
            type:    group
            members: [streamed, buffered]
        streamed:
            type:  stream
            path:  %kernel.logs_dir%/%kernel.environment%.log
            level: debug
        # buffered is used to accumulate errors and send them as batch to the email address
        buffered: 
            type:    buffer
            handler: swift
        swift:
            type:       swift_mailer
            from_email: info@....com
            to_email:   info@....com
            subject:    Error Occurred!
            level:      debug
Run Code Online (Sandbox Code Playgroud)

这会发送如下电子邮件:

[2012-03-21 21:24:09] security.DEBUG:从session [] []中读取SecurityContext

[2012-03-21 21:24:09] security.DEBUG:从用户提供商处重新加载用户.[] []

[2012-03-21 21:24:09] security.DEBUG:用户名"jakob.asdf"已从用户提供程序重新加载.[] [] [2012-03-21 21:24:09] request.INFO:匹配路由"_user_settings"(参数:"_ control":"... Bundle\Controller\UserController :: settingsAction","username": "Jakob.asdf","_ lute":"_ user_settings")[] …

php logging symfony

20
推荐指数
2
解决办法
7941
查看次数

MVP中的组合与继承

我正在使用MVP模式开发大规模应用程序.在开发过程中,我提出了是否应该使用组合或继承的问题.例如:让我们假设我有一个名为形式美孚与场一个.在本申请的另一部分我有一个表格具有相同字段但附加字段Ç.

目前,代码是使用继承方法编写的,其中表单Bar从表单Foo继承.然后,演示者处理与模型略有不同的数据.这很简单,但是如果遵循"是A"的经验法则,是否打败我,因为即使表格不同,它们也处理公共输入(A和B).

然而,在这里我一直在考虑"继承的构成"和Liskov替换原则,并认为我应该使用组合而不是继承.然而,因为我使用的是MVP,所以它比预期的要复杂得多,因为我必须有一个表格Foo的演示者,字段AB,然后是一个带有字段C的Bar的演示者,以及对Foo的演示者的引用,以便它可以将字段AB注入其中.

问题是它已被证明是更多的代码,因为我必须在Foo的演示者中添加一些排序getter和setter,以便能够将数据传递给Bar.如果我打破MVP以提供作曲,这感觉就像某种程度.

所以我的问题是:

对于我的情况,使用组合而不是继承是否真的更好?为什么?

使用组合"打破"MVP?

mvp user-interface inheritance design-patterns composition

20
推荐指数
4
解决办法
1864
查看次数

如何拥有棒棒糖开关按钮

我想为我的应用程序设置Lollipop样式开关按钮:

在此输入图像描述

我怎么能实现这个按钮所以在旧版本的android上看起来也是如此?

android android-switch android-5.0-lollipop

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

如何在Symfony2中的webtestcases中获取EntityManager

我想知道如何在WebTestCase实例中检索实体管理器.

例如,查看在testrun期间是否真的在DB中创建了一个实体.

有什么想法吗?

dependency-injection symfony

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

Symfony2:如何在CLI脚本中设置主机/基本URL

我目前正在编写新闻稿工具,因此必须在CLI脚本中生成绝对URL,该脚本通过cron调用.

不幸的是,Symfony CLI命令对我的host/base_url一无所知,因此路由器会生成带有错误base_url的绝对URL.它总是http://localhost用作基础.

有没有办法告诉路由器正确的base_url?

我的代码:

$this->container->get('router')->generate($route, $parameters, true);
Run Code Online (Sandbox Code Playgroud)

php routing command-line-interface symfony

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

Symfony2/Twig:如何告诉自定义twig标签不要逃避输出

我创建了一个自定义标签,它应该像这样工作:

{{ thumbnail(image.fullPath,620) }}
Run Code Online (Sandbox Code Playgroud)

不幸的是我必须像那样使用它

{{ thumbnail(image.fullPath,620)|raw }}
Run Code Online (Sandbox Code Playgroud)

有没有办法直接在树枝延伸中进行unescape?

我的扩展程序注册缩略图代码如下:

 public function getFunctions()
    {
        return array(
            'thumbnail' => new \Twig_Function_Method($this, 'thumbnail'),
        );
    }
Run Code Online (Sandbox Code Playgroud)

templates symfony twig

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