小编cha*_*asr的帖子

使用 GPG 签署现有提交

我正在寻找一种方法来复制git commit -S除了特定提交之外的内容,例如通过提供其 SHA。

是否可以?

git github

5
推荐指数
2
解决办法
2093
查看次数

应该避免使用逻辑运算符(使用||而不是'或')sensiolabs洞察力

我正在使用SensioLabs Insight将我的项目代码质量保持在使用过的工具的最佳实践之上.

此行在SLInsight分析期间导致警告:

$handle = fopen($file, 'w') or die('Cannot open file: '.$file);
Run Code Online (Sandbox Code Playgroud)

SensioLabs说:

应避免使用逻辑运算符.

[...]

or运算符与||的优先级不同.这可能导致意外行为,使用|| 代替.

好的,但是,如果我只是使用|| 而不是'或',像这样:

$handle = fopen($file, 'w') || die('Cannot open file: '.$file);
Run Code Online (Sandbox Code Playgroud)

No such file or directory因为fopen失败而得到了经典的错误,而不是我所期待的(死亡动作和回复消息).

为避免这种情况,我在使用条件之前执行以下操作fopen:

if(!file_exists($file)) {
    throw $this->createNotFoundException('Le fichier '.$file.' n\'existe pas.');
}
$handle = fopen($file'.log', 'r');
Run Code Online (Sandbox Code Playgroud)

什么是'||'的好用 在我想要的变量任务?

感谢先生,赐教.

php logical-operators

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

在 Symfony 中注册另一个包

我正在开发一个可重用的包,该包将在 Packagist 上发布。

我想让捆绑包的配置尽可能简单。
但是,bundle 使用了几个涉及注册的 3rd 方 bundle。

实际上,这就是我需要做的:

// app/AppKernel.php

// ...
class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = array(
            // ...
            new FOS\RestBundle\FOSRestBundle(),
            new JMS\SerializerBundle\JMSSerializerBundle(),
            new FOS\UserBundle\FOSUserBundle(),
            new Lexik\Bundle\JWTAuthenticationBundle\LexikJWTAuthenticationBundle(),
            new Gesdinet\JWTRefreshTokenBundle\GesdinetJWTRefreshTokenBundle(),
            // ...
            new RCH\JWTUserBundle\RCHJWTUserBundle(), // My bundle here
        );

        // ...
    }

    // ...
}
Run Code Online (Sandbox Code Playgroud)

有没有办法通过仅注册我创建的捆绑包来注册一组捆绑包?

也许AppKernel可以通过AppKernel在应用程序的实际中注册我的包来加载一种。

如果不可能,我将不胜感激给我原因。

php symfony

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

如何根据FOSUserBundle中的角色重定向到不同的路由?

我是Symfony2的新手,后来是FOSUserBundle.我理解捆绑包是什么以及使用它的内容但是我对如何使用捆绑包与我已经存在的视图和控制器相关联有疑问.

我已经设置了捆绑包并让它工作但我对下一个任务感到困惑.

设置:在FOSUserBundle的登录页面上,我希望将"管理员用户"路由到某个页面,将"普通用户"路由到另一个页面.我在哪里放置这个逻辑?我目前在我的捆绑包的DefaultController中有它但得到页面:localhost isn't working...localhost redirected you too many times...我清除了缓存但仍然是相同的结果.

DefaultController:

namespace Pas\ShopTestBundle\Controller;

use Symfony\Component\HttpFoundation\Request;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;

class DefaultController extends Controller
{
    /**
     * @Route("/")
     * @Template()
     */
    public function indexAction(Request $request) {   

        if ('admin_login' === $request->get('_route')) {
            return $this->redirectToRoute('product'); //just test to product
        } else {
            return $this->redirectToRoute('login'); //just test to login
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

现在,我的ULTIMATE目标是,一旦用户登录,就会在他们发送到的页面上显示他们的用户名.我该如何编码呢?它去哪儿了?

我非常感谢你的帮助,谢谢大家.

Symfony 2.7:FOSUserBundle 2.0

编辑:security.yml

security:

    encoders:
        FOS\UserBundle\Model\UserInterface: bcrypt

    role_hierarchy:
        ROLE_ADMIN:  ROLE_ADMIN
        ROLE_NORMAL: ROLE_NORMAL

    # http://symfony.com/doc/current/book/security.html#where-do-users-come-from-user-providers
    providers: …
Run Code Online (Sandbox Code Playgroud)

php symfony fosuserbundle

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

标签 统计

php ×3

symfony ×2

fosuserbundle ×1

git ×1

github ×1

logical-operators ×1