小编Ste*_*rem的帖子

Symfony 2 - 基于"单独"角色的ACL检查权限

比方说,我们有直接绑定到数据库表的3个主要角色user:ROLE_USER,ROLE_MODERATORROLE_ADMIN.

但是,我们还有一些其他角色,用于Crews组件(参见下面的UML).我用的peformed行动以下角色Crew:ROLE_CREW_BOSS,ROLE_CREW_LEFTHAND,ROLE_CREW_RIGHTHAND,ROLE_CREW_MEMBER.



      +----------------+                                     +------------------+
      | users          |                                     | crews            |
      |----------------|                                     |------------------|
      | id             |                                     | id               |
      | username       <---+                                 | name             |
      | password       |   |                             +---> cash             |
      | roles          |   |    +-------------------+    |   | ...              |
      | ...            |   |    | crew_members      |    |   |                  |
      |                |   |    |-------------------|    |   |                  |
      +----------------+   |    | …

acl symfony

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

围绕特定树枝变量{{product.name}}包装上下文html

我想自动换行一些html,<span data-id="..">当我{{ product.name }}在我的twig模板中调用时,我就说.

所以当我在一个twig模板中使用时{{ product.name }},我希望输出为:<span data-type="product" data-id="8" data-prop="name">My product name</span>.我不能使用twig过滤器或宏,因为我真的需要模板语法{{ product.name }},所以最终用户(模板设计师)不必关心它.

我需要这个的原因是因为我正在为twig模板构建一个页面编辑工具,所以我需要从HTML中知道这些变量的上下文.

我试图重写CompilerTwig_Environment用途,但我似乎无法改变树枝变量节点的输出.

我怎样才能做到这一点?

编辑

我想提一下,我需要这个来使用{{ product.name }}语法,因为其他设计师将使用Symfony 2之外的那些模板.我想在前端编辑几乎所有的枝条变量,所以带过滤器或宏的解决方案确实可以工作,但它会破坏我正在编写的平台的可用性和可读性.目前在twig中没有可以实现我想要的公共API,这就是为什么我在摆弄twig编译器.我没有必要的Twig内部知识来实现​​这一目标.如果有人能够指出我的方向会很棒!

更新2

我找到了一个可以达到我想要的地方.每个GetAttr节点都编译为$this->getAttribute($someContext, "property").因此,如果我可以更改已编译的twig模板的子类,我可以实现我想要的.默认情况下,所有树枝模板都从Twig_Template.我想扩展这个方法.

如何更改所有已编译的twig模板的子类?

更新3 我找到了一种方法来为所有已编译的树枝模板使用我自己的基类.我可以简单地将它设置为树枝环境中的一个选项,请参阅此链接.我希望明天能够开始工作,我将就如何一起解决这个问题发表一个正确的答案.不确定我将如何处理转义,因为这将在$this->getAttribute()调用之后发生.

twig twig-extension

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

Android ActionBar选项卡背景颜色分割模式

熙,

首先,我想说我正在使用ActionBarSherlock(截图是在三星Galaxy S3上拍摄的).

我有一个带有标签栏的操作栏,我希望标签栏在分割时(标签栏在操作栏下方)呈现灰色,并且当标签栏位于操作栏内时,变焦颜色(或与操作栏背景颜色相同) .

这是我的styles.xml的一小段代码snippit:

<style name="Theme.OSP.Light" parent="@style/Theme.Sherlock.Light">
        <item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>
        <item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item>

        <item name="actionBarTabBarStyle">@style/Widget.Styled.ActionBar.TabBar</item>
        <item name="android:actionBarTabBarStyle">@style/Widget.Styled.ActionBar.TabBar</item>
    </style>

    <style name="Widget.Styled.ActionBar" parent="Widget.Sherlock.Light.ActionBar">        
        <item name="android:background">#F0F0F0</item>
        <item name="background">#F0F0F0</item>
    </style>

    <style name="Widget.Styled.ActionBar.TabBar" parent="Widget.Sherlock.Light.ActionBar.TabBar">
        <item name="android:background">#E0E0E0</item>
        <item name="android:gravity">center</item>
    </style>
Run Code Online (Sandbox Code Playgroud)

下面是一些截图,使我的问题更加清晰.

风景(动作栏未分割).这不行,标签栏应该与操作栏具有相同的颜色,但它具有相同的灰色: 风景(动作栏不分割)

肖像(动作栏分裂).没关系,tabbar在这种状态下颜色为灰色: 肖像(动作栏被分割)

tabs android background android-actionbar

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

检查stl容器中是否已存在值的最快方法

我持有一个非常大的内存地址列表(周围400.000),需要检查一个地址是否已经存在400.000次.

一个代码示例来说明我的设置:

std::set<uintptr_t> existingAddresses; // this one contains 400.000 entries

while (true) {
    // a new list with possible new addresses
    std::set<uintptr_t> newAddresses; // also contains about ~400.000 entries

    // in my own code, these represent a new address list
    for (auto newAddress : newAddresses) {

        // already processed this address, skip it
        if (existingAddresses.find(newAddress) != existingAddresses.end()) {
          continue;
        }

        // we didn't have this address yet, so process it.
        SomeHeavyTask(newAddress);

        // so we don't process it again …
Run Code Online (Sandbox Code Playgroud)

c++ c++11

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