symfony笔记之--基础常用知识点

本文介绍了 Symfony 框架中如何获取登录用户信息、进行密码加密验证及文件上传操作,并展示了如何在控制器和 Twig 中使用相关方法。同时,还提供了获取根目录、host 和当前路由名称的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Symfony Basic

  • 获取登录用户信息

    • 控制器中

           $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')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值