我正在使用Symfony安全设置.一切正常,但我不知道如何做一件重要的事情:
在twig中,我可以通过以下方式获取当前用户的信息:
Welcome, {{ app.user.username }}
Run Code Online (Sandbox Code Playgroud)
或类似的
如何在Controller中访问相同的信息?具体来说,我想获取当前用户实体,以便我可以将其关联存储在另一个实体中(一对一映射).
我真的希望它会
$this->get('security.context')->getToken()->getUser()
Run Code Online (Sandbox Code Playgroud)
但这不起作用.它给了我一类的类型
Symfony\Component\Security\Core\User\User
Run Code Online (Sandbox Code Playgroud)
我想要一个类型
Acme\AuctionBundle\Entity\User
Run Code Online (Sandbox Code Playgroud)
这是我的实体....
可能重复:
如何在git中看到传入的提交?
什么是"hg outgoing"或"hg incoming"的git等价物?
在Mercurial中,hg outgoing列出比服务器上的更改集更新的变更集,如果我这样做,将发送hg push.同样反向hg incoming和hg pull.
我是否必须date使用child_process 手动运行命令并从中获取结果以获取日期?有没有其他方式使用节点?
我正在尝试为使用South迁移的Django应用程序创建一些功能测试.
最后,我还将创建斜纹测试.
当我尝试运行现有测试时,由于South迁移的问题,未成功创建测试数据库.(58次迁移中的第7次失败)
似乎为了测试的目的,最好从Django模型构建测试数据库,就像syncdb一样,而不是来自South.
如何设置Django测试套件以从当前模型构建测试数据库而不是尝试使用South?
有人可以解释为什么创造了ashmem吗?
我正在浏览mm/ashmem.c.就像我所知,内核正在考虑将ashmem作为文件支持的内存,可以是mmap'd.但是,为什么要去实施ashmem呢?似乎可以通过安装RAM fs然后使用filemap/mmap来共享内存来实现相同的功能.
我确信ashmem可以做更多花哨的东西 - 从查看代码,它似乎与固定/取消固定页面有关?
我知道在通过网络发送文件之前解压缩文件可以节省带宽,对于可以缓存的静态文件,它对服务器端CPU使用率没有显着影响.
但客户呢?他们必须对任何发送的文件进行gunzip,这将占用CPU时间.另外,我担心在进行任何解析之前必须接收整个文件并进行喷枪压缩.
这让我很奇怪,因为我看到两种情况:
1) client has fast internet --> gzip is relevant
2) client has slow internet --> gzip prevents partial parsing
Run Code Online (Sandbox Code Playgroud)
显然,准确的加速(或减慢?)将取决于正在传输的文件和客户端的确切情况.但是,我很好奇客户端的时间成本(或者我如何衡量成本)?
好吧,我知道我不能从一个控制器直接调用一个twig模板函数,但是为了建立链接,我通常会这样做{{ path('_routeName') }},那很好.
但是,现在我想在控制器中制定一些链接,然后通过以下参数传递给模板:
$params = array(
'breadcrumbs' = array(
'Donuts' => '/donuts',
'Bearclaws' => '/donuts/bearclaws',
'Strawberry bearclaw' => null,
),
);
return $this->render('Bundle:Donut:info.html.twig', $params);
Run Code Online (Sandbox Code Playgroud)
除了我不想硬编码这些链接.我想要的是能够做到的
'Donuts' => path('_donutRoute'),
Run Code Online (Sandbox Code Playgroud)
但如何达到路径方法或等效?
我目前有这个架构:
CREATE TABLE `users` (
`users_id` int(11) NOT NULL AUTO_INCREMENT,
`users_name` varchar(50),
`users_lastname` varchar(50),
`users_dob` date,
`users_type` int(11) NOT NULL default 0,
`users_access` int(11) NOT NULL default 0,
`users_level` int(11) NOT NULL default 0,
/* etc...*/
PRIMARY KEY (`users_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
CREATE TABLE `users_types` (
`types_id` int(11) NOT NULL AUTO_INCREMENT,
`types_name` varchar(50),
PRIMARY KEY (`types_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
/* etc..*/
Run Code Online (Sandbox Code Playgroud)
查询:
SELECT
types_name AS user_type,
/* all other fields*/
users.*
FROM users
INNER JOIN users_types ON (users.users_type=types_id); …Run Code Online (Sandbox Code Playgroud) 我正在努力学习使用,awk但它的表现并不像我期望的那样.这是我的麻烦:
$ echo "Hello brave new world" | awk "{print $1}"
Hello brave new world
Run Code Online (Sandbox Code Playgroud)
我希望看到"你好",因为这是第一个字段.为什么空格不算作字段分隔符?
我想制作一个本地配置文件,config_local.yml它允许正确配置每个开发环境,而不会搞砸其他人的开发环境.我希望它是一个单独的文件,以便我可以"gitignore"它,并知道项目中没有任何必要的东西,同时没有git的问题经常告诉我config_dev.yml有新的变化(并运行风险)有人做出这些改变).
现在,我有config_dev.yml在做
imports:
- { resource: config_local.yml }
Run Code Online (Sandbox Code Playgroud)
这很好,除非文件不存在(即对于存储库的新克隆).
我的问题是:有没有办法让这包括可选的?即,如果文件存在则导入它,否则忽略它.
编辑:我希望语法如下:
imports:
- { resource: config.yml }
? { resource: config_local.yml }
Run Code Online (Sandbox Code Playgroud)