小编sha*_*yyx的帖子

Symfony 2 - 致命错误:无法在第532行的C:\ ...\app\cache\dev\classes.php中重新声明类SessionHandlerInterface

重新安装我的wamp环境后,打开app_dev.php后,屏幕上会显示此错误消息:

致命错误:无法在第532行的C:...\app\cache\dev\classes.php中重新声明类SessionHandlerInterface

有没有人知道出了什么问题?

php symfony

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

GoLang,REST,PATCH和构建UPDATE查询

几天以来,我一直在努力研究如何在Go REST API中继续使用PATCH请求,直到我找到一篇关于使用指针和omitempty标记文章,我已经填充并且工作正常.很好,直到我意识到我仍然需要构建一个UPDATESQL查询.

struct看起来像这样:

type Resource struct {
    Name        *string `json:"name,omitempty"        sql:"resource_id"`
    Description *string `json:"description,omitempty" sql:"description"`
}
Run Code Online (Sandbox Code Playgroud)

我期待一个PATCH /resources/{resource-id}包含这样一个请求体的请求:

{"description":"Some new description"}
Run Code Online (Sandbox Code Playgroud)

在我的处理程序中,我将以Resource这种方式构建对象(忽略导入,忽略错误处理):

var resource Resource
resourceID, _ := mux.Vars(r)["resource-id"]

d := json.NewDecoder(r.Body)
d.Decode(&resource)

// at this point our resource object should only contain
// the Description field with the value from JSON in request body
Run Code Online (Sandbox Code Playgroud)

现在,对于正常UPDATE(PUT请求)我会这样做(简化):

stmt, _ := db.Prepare(`UPDATE resources …
Run Code Online (Sandbox Code Playgroud)

sql rest go http-patch

16
推荐指数
2
解决办法
4897
查看次数

LDAP/AD过滤器 - "objectclass不等于"不起作用

我正在使用LDAP Active Directory并尝试列出所有用户.我有这个完美的过滤器:

(&(objectclass=user)(|(memberOf=...)(memberOf=...)...)(|(userprincipalname=...)(displayname=...)))
Run Code Online (Sandbox Code Playgroud)

不幸的是,我们还有AD中的计算机单元和其他设备与对象类"用户",所以使用以前的过滤器,我得到了所有用户,计算机,设备,房间等.

这些计算机和设备还有一个对象类"计算机",因此我需要使用objectclass!="computer"扩展过滤器,以便仅列出真实用户.到目前为止,我尝试过这些过滤器,它们都没有工作(没有数据返回!):

(&(objectclass=user)(!objectclass=computer)(|(memberOf=...)(memberOf=...)...)(|(userprincipalname=...)(displayname=...)))
(&(objectclass=user)(!(objectclass=computer))(|(memberOf=...)(memberOf=...)...)(|(userprincipalname=...)(displayname=...)))
(!(objectclass=computer))(&(objectclass=user)(|(memberOf=...)(memberOf=...)...)(|(userprincipalname=...)(displayname=...)))
(!objectclass=computer)(&(objectclass=user)(|(memberOf=...)(memberOf=...)...)(|(userprincipalname=...)(displayname=...)))
Run Code Online (Sandbox Code Playgroud)

(真实用户没有对象类"计算机").

我正在使用PHP ldap实现,所以使用ldap_search()方法.

"不等于"语法在此处找到:http://technet.microsoft.com/en-us/library/aa996205%28EXCHG.65%29.aspx或此处:http://msdn.microsoft.com/ EN-US /库/ aa746475%28V = vs.85%29.aspx

也许我可以尝试过滤DN中的用户(!CN = Computers),但首先我想过滤(!objectclass = computer),因为它对我来说更合乎逻辑.

objectclass!="computer"表达式的正确语法是什么?

php ldap active-directory ldap-query

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

memcached中的ZF2身份验证会话存储

在我们的Intranet应用程序中,我们使用SSO(单点登录)登录,而客户端和auth源应用程序上的会话都存储在memcached中.

会话设置为在垃圾收集器可能将其视为删除之前的12小时.两个应用程序都是使用ZF2编写的.

不幸的是,问题是,在一段时间后(我没有确切的值),浏览器会丢失导致重定向到auth origin的会话,其中会话仍处于活动状态,因此用户被重定向回客户端并且浏览器会话刷新.如果用户没有未保存的工作,这不是什么大问题,因为这两个重定向在1秒内发生,用户甚至可能没有注意到它们.

但是当用户有未保存的工作时,它确实是一个大问题,即使尝试保存它也会导致重定向,工作也就消失了.

以下是会话的配置Bootstrap.php:

class Module
{
    public function onBootstrap(MvcEvent $e)
    {
        // ...
        $serviceManager      = $e->getApplication()->getServiceManager();
        $sessionManager      = $serviceManager->get('session_manager_memcached');
        $sessionManager->start();
        Container::setDefaultManager($sessionManager);
        // ...
    }

    public function getServiceConfig()
    {
        return array(
            'factories' => array(
                // ...
                'session_manager_memcached' => function ($sm) {
                    $systemConfig = $sm->get('config');
                    $config = new SessionConfig;
                    $config->setOptions(array(
                        'phpSaveHandler' => 'memcache',
                        'savePath' => 'tcp://localhost:11211?timeout=1&retry_interval=15&persistent=1',
                        'cookie_httponly' => true,
                        'use_only_cookies' => true,
                        'cookie_lifetime' => 0,
                        'gc_maxlifetime' => 43200, // 12h
                        'remember_me_seconds' => 43200 // 12h
                    ));
                    return …
Run Code Online (Sandbox Code Playgroud)

php authentication session memcached zend-framework2

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

Doctrine 1.2 hydrate方法 - 数组到模型对象

我对Doctrine模型hydrate()方法有一点问题.我使用这种方法从给定的数组中水合一个conrete模型的对象,如下所示:

$model = new Doctrine\Model\Model;
$model->hydrate($model_array);
Run Code Online (Sandbox Code Playgroud)

使用嵌套的子模型对简单物体进行保湿时,一切都很完美.现在问题是我需要使用嵌套对象来水合(使用此方法)一个对象(其中一些对象也有嵌套对象).

如果我使用HYDRATE_RECORD它会很好但查询中的所有记录都将作为对象返回,这意味着更多的内存消耗.因此,我正在使用HYDRATE_ARRAY并按需将水泥混凝土阵列水合成物体.

假设我有一个模型A,它有嵌套模型AB,AC(一对多),AD和AC有另一个嵌套模型ACE.在print_rA数组之后我们可以看到这个结构:

A Array (
    ...
    ab Array ( ... )
    ac Array (
        AC Array (
            ...
            ace Array ( ... )
        )
        AC Array (
            ...
            ace Array ( ... )
        )
        ...
    )
    ad Array ( ... )
)
Run Code Online (Sandbox Code Playgroud)

通常在使用水合物后,我会认为这将是我的目标:

A Object {
    ...
    ab Object { ... }
    ac Array (
        AC Object {
            ...
            ace Object { ... }
        } …
Run Code Online (Sandbox Code Playgroud)

php doctrine doctrine-1.2

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

Opencart在自定义脚本中发送电子邮件

我的opencart中有一个脚本,由我自己制作,并希望让它发送一封电子邮件,但我认为当我尝试获取电子邮件参数时,它们会返回null.

这是我的代码:

    $email_to = "somewhere@example.com";
    $config = new Config();
    $mail = new Mail();


    $mail->protocol = $config->get('config_mail_protocol');
    $mail->parameter = $config->get('config_mail_parameter');
    $mail->hostname = $config->get('config_smtp_host');
    $mail->username = $config->get('config_smtp_username');
    $mail->password = $config->get('config_smtp_password');
    $mail->port = $config->get('config_smtp_port');
    $mail->timeout = $config->get('config_smtp_timeout');            
    $mail->setTo($email_to);
    $mail->setFrom("nuno@[mydomain].com");
    $mail->setSender("nuno@[mydomain].com");
    $mail->setSubject("test send mail");
    $mail->setText("test message body text");
    $mail->send();
Run Code Online (Sandbox Code Playgroud)

当我尝试呼叫时:echo $config->get('config_mail_protocol');它返回null.

php scripting opencart

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

ControllerPlugin类中的ZF2 getServiceLocator

我试图在插件类中获取服务定位器/实体管理器,我该怎么做到.

在我的控制器中,我得到这样的.

public function getEntityManager()
{
    if(null === $this->em){
        $this->em = $this->getServiceLocator()->get('doctrine.entitymanager.orm_default');
    }
    return $this->em;
}

public function setEntityManager(EntityManager $em)
{
    $this->em = $em;
}
Run Code Online (Sandbox Code Playgroud)

但是在插件类中,我在$ this-> getServiceLocator()行上遇到错误.因为这在插件类中不可用.

我怎样才能这样做,以便我可以获取一些记录并在插件中插入少量数据库.

我的插件类中有MvcEvent $ e对象,我可以利用它来获取实体管理器吗?

我用这个插件来创建我的插件

任何指南都会受到关注.

更新:

namespace Auth\Controller\Plugin;

use Zend\Mvc\Controller\Plugin\AbstractPlugin;
use Zend\EventManager\EventInterface as Event;
use Zend\Authentication\AuthenticationService;

use Doctrine\ORM\EntityManager;
use Auth\Entity\User;
use Zend\Mvc\MvcEvent;
class AclPlugin extends AbstractPlugin
{

    /*
    * @var Doctrine\ORM\EntityManager
    */
    protected $em;

    public function checkAcl($e)
    {

        $auth = new AuthenticationService();
        if ($auth->hasIdentity()) {
            $storage = $auth->getStorage()->read();            
            if …
Run Code Online (Sandbox Code Playgroud)

php zend-framework2

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

检查smarty数组中是否存在密钥

我有一个看起来像这样的数组:

array(
    'name1' => array('city1', 'city2', 'city3'),
    'name2' => array('city1', 'city4'),
    'namen' => array('city1', 'city7', 'cityn')
);
Run Code Online (Sandbox Code Playgroud)

传递给smarty的是:$my_names 我的Smarty模板中有一个循环,如下所示:

{{foreach from=$names item=name}}
  {{foreach from=$cities item=city}}
  //Check if name1 exist and after check if the city is in the array for that name
  {{/foreach}}
{{/foreach}}
Run Code Online (Sandbox Code Playgroud)

我没有看到如何使用$name$city访问数组$my_names

我试过了if($my_names.$name.$city),但它不起作用.

php arrays smarty

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

Android CheckBoxPreference - 取消/检查所有首选项

我只有一个PreferenceScreen包含CheckBoxPreferences(要选择的类别).我需要一个选项来检查/取消选中所有这些选项.我有以下代码来完成这项工作,但是有一个问题:屏幕上的复选框没有更新 - 我需要在视图上调用一些无效的东西.

这是我现在的代码:

    private void checkAll() {
        SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this);
        SharedPreferences.Editor editor = settings.edit();
        @SuppressWarnings("unchecked")
        Map<String, Boolean> categories = (Map<String, Boolean>) settings.getAll();
        for(String s : categories.keySet()) {
            editor.putBoolean(s, true);
        }
        editor.commit();
    }

    private void uncheckAll() {
        SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this);
        SharedPreferences.Editor editor = settings.edit();
        @SuppressWarnings("unchecked")
        Map<String, Boolean> categories = (Map<String, Boolean>) settings.getAll();
        for(String s : categories.keySet()) {
            editor.putBoolean(s, false);
        }
        editor.commit();
        this.restart();
    }
Run Code Online (Sandbox Code Playgroud)

这段代码工作正常但我需要以某种方式刷新视图以查看结果imediatelly(不仅仅是在关闭并重新启动设置活动之后).

谢谢大家的任何建议!

android checkboxpreference

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

如何通过ServletContextListener的上下文查找来访问EJB bean

需要从servlet上下文侦听器的contextInitialized()方法调用EJB服务.应用程序在JBOSS上运行,虽然上下文监听器工作正常,但我无法通过JNDI查找来访问EJB bean.

因为JBOSS中的Web部署发生在EJB bean与JNDI树绑定之前.如何克服这个?有没有办法尽早配置JNDI绑定,或者在EJB完全部署后再启动Web部署?

我已经把Thread.sleep()这个contextInitialized()方法中的服务调用之前放了,它在我的JBoss5.1.0 GA中运行正常,并且在同一版本的其他机器JBoss中同样没有用.

应用程序需要这个,因为我们希望从数据库加载一些主数据并使其在Web层中可用(缓存类型).JBOSS startupmbean适合这个要求吗?如果是,我如何将数据提供给Web层?

如果有其他方法,请建议.

jboss spring ejb app-startup servletcontextlistener

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