shana0 2019-06-26
获取登录用户信息
控制器中
$this->getUser();
//等价于
$this->get('security.token_storage')
->getToken()
->getUser();Twig中:
{% if app.user %}{{ app.user.username }}{% else %}游客{% endif %}用户密码加密
/**
*@var \Symfony\Component\Security\Core\Encoder\UserPasswordEncoder
*/
$encoder = $this->get('security.password_encoder');校验密码:
$encoder->isPasswordValid($user, $userForm->getPassword());
密码加密:
$password = $encoder->encodePassword($user, $userForm->getPlainPassword());
文件上传相关
$file = $request->files->get('file'); //获取上传的文件
if($file instanceof UploadedFile){
//不为空
$filename = $this->get('kit.file_uploader')->upload($file, 'file');
}else{
//未上传
}获取根目录和host
$this->getContainer()->get('kernel')->getRootDir()
$root = $this->container->get('kernel')->getRootDir();
$root = $this->get('kernel')->getRootDir();
// xx/xxx/app
//Symfony 3.3
$root = $this->get('kernel')->getProjectDir()
%kernel.project_dir%
use %kernel.project_dir%/web/ instead of %kernel.root_dir%/../web/.get HOST
$request()->getHost()
获取当前路由名称
// controller
$routeName = $request->get('_route');
//twig
app.request.get('_route')