Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 获取Silex项目中数据库的用户ID_Php_Symfony_Silex - Fatal编程技术网

Php 获取Silex项目中数据库的用户ID

Php 获取Silex项目中数据库的用户ID,php,symfony,silex,Php,Symfony,Silex,我用Silex启动了一个新项目,它看起来像是一个既酷又快的框架,但我对SecurityServiceProvider试图获取uid的尝试感到疯狂。我认为它应该是类似于getId()的Symfony,但我得到了一个错误,该函数不存在 PHP致命错误:调用未定义的方法Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorage::getUser() 如果我得到了当前登录的用户,我有他的信息,但没有Id $user

我用Silex启动了一个新项目,它看起来像是一个既酷又快的框架,但我对SecurityServiceProvider试图获取uid的尝试感到疯狂。我认为它应该是类似于getId()的Symfony,但我得到了一个错误,该函数不存在

PHP致命错误:调用未定义的方法Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorage::getUser()

如果我得到了当前登录的用户,我有他的信息,但没有Id

$user = $app['user'];
print_r($user);
Symfony\Component\Security\Core\User\User对象( [用户名:Symfony\Component\Security\Core\User\User:private]=> myuser@mymail.com [密码:Symfony\Component\Security\Core\User\User:private]=> 5FZ2Z8QIkA7UTZ4BYkoC+GsReLf569mSKDsfods6LYQ8t+A8EW9OAIRCFMPALBPH4FOBIIfYLFUZZG== [已启用:Symfony\Component\Security\Core\User\User:private]=>1 [AccountNoExpired:Symfony\Component\Security\Core\User\User:private] =>1[CredentialsNoneExpired:Symfony\Component\Security\Core\User\User:private] =>1[帐户未锁定:Symfony\Component\Security\Core\User\User:private] =>1[角色:Symfony\Component\Security\Core\User\User:private]=>Array([0]=>ROLE\u User))

有什么想法吗?提前谢谢

// Symfony 2.6+
$token = $app['security.token_storage']->getToken();

// Symfony 2.3/2.5
$token = $app['security']->getToken();
获取用户信息:

$user = $token->getUser();
检查
$user

var_dump($user);

如果有人实现了一个新的UserProvider,那么应该在provider上添加自定义字段,并在Symfony的用户类上定义它们。无论如何谢谢你

我这样做了,并且得到了sameYou已经安装的composer require symfony/security,对吗?并注册到你的$app?当然,如果没有,我无法完成登录过程。我使用的是自定义提供商,可能我需要指定要从用户表中获取的所有字段,但我真的不知道在哪里:/n如果你可以发送github或其他链接,我可以检查它。