我有两个申请.遗留的一个是用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) 我已经按照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灯项目
我正在使用Silverstripe 3.1.该网站将拥有数百个用户和大量文件/资产.
如何在管理员中为用户和文件增加列出的项目数(从每页15到50左右).
如果我可以默认为管理员的所有区域设置它,那就更好了.
我尝试使用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没有任何内容.
你能告诉我哪里弄错了或者暗示我可能出错了吗?
到目前为止,我看到MySQLi和PDO在连接数据库时都是很好的方法.我需要的是哪种方法在两者之间更安全.特别是对于一个为大型项目开发网站的人来说会与很多人进行互动
我有一个显示如下的字符串:
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做到这一点?可能吗?
谢谢.
对于一个项目,我有一个动态的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) 我与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) 我经常对在emacs缓冲区中git log <fname>查看该文件时看到文件的git历史记录(例如运行)感兴趣.当然可以只打开一个shell缓冲区并发出命令,但肯定必须有一些花哨的方法来直接执行此操作.
问题:
我需要安装任何东西才能做到这一点,还是现代emacs的标准功能?
php ×5
c# ×2
symfony ×2
wpf ×2
.net ×1
c#-4.0 ×1
css ×1
css3 ×1
data-binding ×1
emacs ×1
git ×1
mvvm-light ×1
mysql ×1
pdo ×1
redis ×1
replace ×1
security ×1
session ×1
silverstripe ×1
symfony-3.1 ×1