小编Rob*_*ert的帖子

如何在Symfony3应用程序中阅读Zend2会话

我有两个申请.遗留的一个是用Zend Framework编写的,Symfony 3.1中的一个新的应该与旧的一个分享会话.

在旧的应用程序中使用本机文件存储,所以当我去app_dev.php并且我写的时, session_start(); var_dump($_SESSION);我在会话中看到'__ZF'键,我需要在symfony3应用程序中访问它.

显然,上面的代码只是检查会话是否在域内共享.

在symfony3应用程序中,我试图描述该事件,KernelEvents::REQUEST并且我希望从请求中获取原始会话并创建一个包含来自Zend2的参数的包.

class SessionSubscriber implements EventSubscriberInterface
{
    public function onKernelRequest(GetResponseEvent $event)
    {

        if ($event->isMasterRequest() && true == $event->getRequest()->hasSession()) {
            var_dump($event->getRequest());
            $event->getRequest()->getSession()->registerBag(new ZendSessionBag());
            var_dump($event->getRequest()->getSession()->getBag('zf'));
            exit;
            return;
        }
    }
    public static function getSubscribedEvents()
    {
        return array(
            KernelEvents::REQUEST => (array('onKernelRequest', 127))
        );
    }
}
Run Code Online (Sandbox Code Playgroud)

但我无法访问原始会话数据 $event->getRequest();

到目前为止这是我的包的样子.根据我的理解,我应该可以访问initialize()方法中的原始会话数据

class ZendSessionBag implements SessionBagInterface
{
    private $storageKey;
    private $sessionData;


    public function __construct($storageKey = '__ZF')
    {
        $this->storageKey = $storageKey;
    }

    public function getName()
    {
        return 'zf';
    }

    public …
Run Code Online (Sandbox Code Playgroud)

php session symfony zend-framework2

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

Visual Studio 2012中的MVVM Light不显示任何项目模板

我已经按照http://www.galasoft.ch/mvvm/installing/上的指南在VS 2012上安装了MVVM灯.我从http://mvvmlight.codeplex下载了适用于Visual Studio 2012的MVVM Light Toolkit V4.1 . com/release和安装后,当我在VS 2012中单击FILE-> NEW PROJECT时,我看不到任何MVVM灯光项目.

我默认选择安装二进制文件,模板和代码片段.我不知道发生了什么.

我错了什么?没有错误.

我的目标是用C#中的VS 2012创建MVVM灯项目

c# wpf mvvm-light c#-4.0 visual-studio-2012

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

在Silverstripe管理员中增加分页

我正在使用Silverstripe 3.1.该网站将拥有数百个用户和大量文件/资产.

如何在管理员中为用户和文件增加列出的项目数(从每页15到50左右).

如果我可以默认为管理员的所有区域设置它,那就更好了.

php silverstripe

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

使用Redis设置Symfony 3.1缓存组件

我尝试使用Redis设置Symfony 3.1缓存.我按照本教程:

https://symfony.com/blog/new-in-symfony-3-1-cache-component

我安装了predis/predis和SncRedisBundle.

在我的config.yml我已经把

framework:
    cache:
        app: cache.adapter.redis
        default_redis_provider: redis://192.168.34.10
    snc_redis:
     clients:
        default:
            type: predis
            alias: default
            dsn: redis://192.168.34.10
            logging: %kernel.debug%
        cache:
            type: predis
            alias: cache
            dsn: redis://192.168.34.10
            logging: %kernel.debug%
            options:
                connection_timeout: 10
                read_write_timeout: 30
Run Code Online (Sandbox Code Playgroud)

现在,当我尝试通过snc_redis它正常访问redis时.但是当我尝试使用缓存组件时:

public function getLoggedUserAcl($userId)
{
    $cachedResources = $this->cacheAdapter->getItem('acl.rules');
    $cachedResources->expiresAfter(100);

    if ($cachedResources->isHit()) {
        dump('hit');
        $resources = $cachedResources->get();
    } else {
        dump('not-hit');
        $resources = $this->api->getCollection(Resource::class, null, null, [
            'userId' => $userId
        ]);

        $cachedResources->set($resources);
    }

    return $resources;
}
Run Code Online (Sandbox Code Playgroud)

CacheAdapter是@cache.app服务.

它一直在转储NOT_HIT.在日志中,REDIS没有任何内容.

你能告诉我哪里弄错了或者暗示我可能出错了吗?

php redis symfony symfony-3.1 symfony-cache

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

哪种方法在MySQLi和PDO之间更安全

到目前为止,我看到MySQLi和PDO在连接数据库时都是很好的方法.我需要的是哪种方法在两者之间更安全.特别是对于一个为大型项目开发网站的人来说会与很多人进行互动

php mysql security pdo sql-injection

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

使用php替换字符串的每秒逗号

我有一个显示如下的字符串:

1235, 3, 1343, 5, 1234, 1
Run Code Online (Sandbox Code Playgroud)

我需要用分号替换每一秒的逗号

1235, 3; 1343, 5; 1234, 1
Run Code Online (Sandbox Code Playgroud)

字符串长度将始终不同,但将遵循与上述相同的模式,即数字逗号空格数字逗号空格等.

我怎么能用PHP做到这一点?可能吗?

谢谢.

php replace

3
推荐指数
2
解决办法
2314
查看次数

如果<a>标签带有#,则删除光标

对于一个项目,我有一个动态的megamenu.

在主菜单中,我有<a>带有URL的标签& #.我需要分配cursor:pointer作为cursor:default<a>携带标签href="#".

有没有可能控制使用CSS

<ul>
  <li><a href="#">Dummy</a></li>
  <li><a href="url.htm">Dummy</a></li>
  <li><a href="url.htm">Dummy</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

css css3

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

WPF Datagrid绑定不显示值

我与WPF完全混淆,我尝试在WPF中绑定到datagrid

这是XAML代码

<Grid x:Name="LayoutRoot">
    <Grid HorizontalAlignment="Left" Height="440" VerticalAlignment="Top" Width="632">
        <DataGrid HorizontalAlignment="Left" Height="420" Margin="10,10,0,0" VerticalAlignment="Top" Width="603" ItemsSource="{Binding Source=MailCollection}" AutoGenerateColumns="False">
            <DataGrid.Columns>
                <DataGridTextColumn  Header="id" Binding="{Binding Id}"/>
                <DataGridTextColumn  Header="nazwa" Binding="{Binding Name}"/>
            </DataGrid.Columns>
        </DataGrid>
    </Grid>
</Grid>
Run Code Online (Sandbox Code Playgroud)

这是MailTpl类

public class MailTpl
{
    public string Id { get; set; }
    public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

以下是我的约束方式

public partial class WindowDataGridTest : Window
{
    ObservableCollection<MailTpl> _MailCollection = new ObservableCollection<MailTpl>();

    public ObservableCollection<MailTpl> MailCollection { get { return _MailCollection; } }

    public WindowDataGridTest()
    {
        _MailCollection.Add(new MailTpl { …
Run Code Online (Sandbox Code Playgroud)

.net c# data-binding wpf expression-blend

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

直接从emacs缓冲区查看文件的git历史记录

我经常对在emacs缓冲区中git log <fname>查看该文件时看到文件的git历史记录(例如运行)感兴趣.当然可以只打开一个shell缓冲区并发出命令,但肯定必须有一些花哨的方法来直接执行此操作.

问题:

我需要安装任何东西才能做到这一点,还是现代emacs的标准功能?

git emacs

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