小编Nic*_*ich的帖子

Symfony2:Doctrine 订阅者抛出 ContextErrorException - 必须是 Doctrine\Common\Persistence\Event\PreUpdateEventArgs 的实例

我有这样的听众

use Doctrine\Common\EventSubscriber;
use Doctrine\Common\Persistence\Event\LifecycleEventArgs;
use Doctrine\Common\Persistence\Event\PreUpdateEventArgs;
use Doctrine\Common\Persistence\ObjectManager;
use Doctrine\ORM\Events;

class MachineSubscriber implements EventSubscriber
Run Code Online (Sandbox Code Playgroud)

和方法

/**
     * @param PreUpdateEventArgs $args
     */
    public function preUpdate(PreUpdateEventArgs $args)
Run Code Online (Sandbox Code Playgroud)

和教义抛出异常

ContextErrorException:可捕获的致命错误:传递给 Certificate\MachineBundle\Event\MachineSubscriber::preUpdate() 的参数 1 必须是 Doctrine\Common\Persistence\Event\PreUpdateEventArgs 的实例,给定的 Doctrine\ORM\Event\PreUpdateEventArgs 实例,

这很奇怪,因为我使用了正确的课程。

doctrine symfony doctrine-orm

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

Symfony2 - AccessDecisionManager 使用的安全投票者的优先级设置如何?

在 GitHub 上看到默认配置使用优先级标签,如下所示:

<service id="security.access.simple_role_voter" class="%security.access.simple_role_voter.class%" public="false">
    <tag name="security.voter" priority="245" />
</service>
Run Code Online (Sandbox Code Playgroud)

我在AccessDecisionManager本身中找不到对这个“优先级”的任何引用。

priority设置对决策过程有什么影响?

acl authorization symfony

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

如何在 Symfony 中扩展 LdapUserProvider 并使用自定义 LDAP 用户提供程序?

我正在努力更换 LdapUserProvider。

我创建了我自己的提供程序(基于 LdapUserProvider 但检索更多信息的 App\Security\MyLdapUserProvider)和我自己的用户界面(App\Security\MyUser),具有更多属性来存储数据。

最后我想检索用户的组和显示名称。

这是我的配置:

服务.yaml:

# add more service definitions when explicit configuration is needed
# please note that last definitions always *replace* previous ones
Symfony\Component\Ldap\Ldap:
    arguments: ['@Symfony\Component\Ldap\Adapter\ExtLdap\Adapter']
Symfony\Component\Ldap\Adapter\ExtLdap\Adapter:
    arguments:
        - host: 10.106.1.1
          port: 389
          #encryption: tls
          options:
              protocol_version: 3
              referrals: false
Run Code Online (Sandbox Code Playgroud)

安全.yaml:

providers:
    #in_memory: { memory: ~ }
    my_ldap:
        ldap:
            service: Symfony\Component\Ldap\Ldap
            base_dn: "dc=XXXXXX,dc=com"
            search_dn: "CN=XXXXXXXXXX,OU=LDAP,OU=Services Accounts,OU=Administration,DC=XXXXXXXXX,DC=com"
            search_password: "ergergergergerg"
            default_roles: ROLE_USER
            filter: "({uid_key}={username})"
            uid_key: samAccountName
            #password_attribute: displayName
firewalls:
    dev:
        pattern: ^/(_(profiler|wdt)|css|images|js)/
        security: false

    main:
        pattern: …
Run Code Online (Sandbox Code Playgroud)

symfony symfony4

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

Symfony2:如何将INSERT DELAYED与doctrine一起使用或创建非阻塞数据库操作?

出于性能原因,我想使用mysql的INSERT DELAYED查询来持久保存日志对象.

你有什么想法可以使用学说来执行吗?

php sql database doctrine symfony

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

Symfony 3 - Doctrine\Common\Annotations\AnnotationRegistry::registerLoader() 必须是 Doctrine\Common\Annotations\void 的实例,没有返回

我有一个使用 Ubuntu 16 设置的 EC2 服务器,并安装了 LAMP 和 Symfony3。

\n\n

服务器在线,所以没有问题。

\n\n

我已将我的 Symfony 文件上传到 /var/www/html/project 并成功设置了我的parameter.yml 文件,设置了数据库,并完成了所有安装要求。我已经完成了composer.phar安装,学说:架构:更新等 - 这一切都有效。

\n\n

我已将 000-default.conf 更改为以下内容并重新启动了 apache。

\n\n
<VirtualHost *:80>\n    ServerName site.com\n    ServerAlias dev.site.com\n\n        ServerAdmin admin@site.com\n        DocumentRoot /var/www/html/project/web\n        DirectoryIndex app.php\n        <Directory /var/www/html/project/web >\n                DirectoryIndex app.php\n                AllowOverride All\n                Allow from All\n        </Directory>\n\n        # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,\n        # error, crit, alert, emerg.\n        # It is also possible to configure the loglevel for particular\n        # modules, e.g.\n        #LogLevel info …
Run Code Online (Sandbox Code Playgroud)

php apache symfony doctrine-orm

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

如何覆盖FOSUserBundle/Doctrine/UserManager.php

我正在将fileupload系统与fosuserbundle集成

我需要覆盖updateUser函数

/vendor/friendsofsymfony/user-bundle/FOS/UserBundle/Doctrine/UserManager.php
Run Code Online (Sandbox Code Playgroud)

我把这个文件复制到了

/ACME/UserBundle/Doctrine/UserManager.php
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

这是我的临时/vendor/friendsofsymfony/user-bundle/FOS/UserBundle/Doctrine/UserManager.php

public function updateUser(UserInterface $user, $andFlush = true)
{
    $this->updateCanonicalFields($user);
    $this->updatePassword($user);

   //it works but it  should not be used here.
    $user->upload();
    //

    $this->objectManager->persist($user);
    if ($andFlush) {
        $this->objectManager->flush();
    }
}     
Run Code Online (Sandbox Code Playgroud)

symfony fosuserbundle

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

如何使用OG元标记进行Pinterest共享

我有一个应用程序,我在我的网站上使用Pinterest共享.为了分享标题我正在使用og元标记,如下所示:

<meta property="og:title" content="ABC SCHOOL2"> 
Run Code Online (Sandbox Code Playgroud)

现在我想分享一下描述.请告诉我哪个og mata标签用于描述?

opengraph pinterest

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

Symfony2 - 如何使用带有Doctrine MongoDB ODM的postLoad事件监听器来更改文档?

我有一个文档描述了我的应用程序中的模型,我想在文档加载后更改字段值,我发现这样做的方法是使用事件监听器.我在config/services.yml中添加了一个新的监听器(postLoad监听器),我无法弄清楚如何获取文件并在发送之前对其进行更改.

帮助将不胜感激.:)

这是我添加到config/service.yml(在服务下)

core.listener:
  class: Matan\CoreBundle\EventListener\DocumentListener
  tags:
    - { name: doctrine_mongodb.odm.event_listener, event: postLoad }
Run Code Online (Sandbox Code Playgroud)

DocumentListener.php

namespace Matan\CoreBundle\EventListener;

use Matan\CoreBundle\Document\App;

class DocumentListener
{
    public function postLoad()
    {
        //I Want to change it here
    }
}
Run Code Online (Sandbox Code Playgroud)

php doctrine mongodb symfony

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

Symfony2:如何用全局Twig变量替换某个字符串?

我在config.yml中有以下内容

twig:
    globals:
        locale_list_sg: Singapore
        locale_list_cn: China
Run Code Online (Sandbox Code Playgroud)

在我的twig模板中,我希望根据一个参数得到"Singpaore"和"China"的值.因此,我将它们连接起来并显示:

{{'locale_list_' ~ countryId}}
Run Code Online (Sandbox Code Playgroud)

但是,上面将显示locale_list_sg而不是进入config.yml并提取值.

php symfony twig

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

Symfony2:如何在扩展的 load() 方法中访问服务?

是否可以在捆绑扩展中获得学说服务?

我可以访问容器,但无法获得学说服务。

...
class UltroExtension extends Extension
{
    public function load(array $configs, ContainerBuilder $container){
        $dm = $container->get('doctrine_mongodb');
    ...
    }
}
Run Code Online (Sandbox Code Playgroud)

我收到此错误:服务定义“doctrine_mongodb”不存在。

doctrine dependency-injection symfony

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