doctrine2 – 如何测试连接在学说2中的作用?
发布时间:2020-12-13 18:09:40 所属栏目:PHP教程 来源:网络整理
导读:我正在寻找一种方法来测试连接是否与doctrine 2一起工作. 因为在我的应用程序中,用户可以自己更改信息连接. 我想检查用户是否输入了正确的登录名和正确的密码. 我怎样才能做到这一点 ? 我试图将此代码放入try / catch块: try{ $entityManager = $this-getE
我正在寻找一种方法来测试连接是否与doctrine 2一起工作.
因为在我的应用程序中,用户可以自己更改信息连接. 我怎样才能做到这一点 ? 我试图将此代码放入try / catch块: try{ $entityManager = $this->getEntityManager() ; $repository = $entityManager->getRepository('AuthentificationEntityUser'); $userToIdentify = $repository->findOneBy(array('login' => $this->_username,'password' => $this->_password)); }catch(Exception $e){ $code = Result::FAILURE ; $identity = "unknow" ; $messages = array( "message" => "Mauvaise combinaison de login/password",) ; } 问题是,即使信息连接是正确的,我也无法捕获异常. 否则我有这个错误: <b>Fatal error</b>: Uncaught exception 'ZendViewExceptionRuntimeException' with message 'ZendViewRendererPhpRenderer::render: Unable to render template "layout/layout"; resolver could not resolve to a file' in C:xampphtdocspoemsV3vendorzendframeworkzendframeworklibraryZendViewRendererPhpRenderer.php:451 Stack trace: #0 C:xampphtdocspoemsV3vendorzendframeworkzendframeworklibraryZendViewView.php(203): ZendViewRendererPhpRenderer->render(Object(ZendViewModelViewModel)) #1 C:xampphtdocspoemsV3vendorzendframeworkzendframeworklibraryZendMvcViewHttpDefaultRenderingStrategy.php(128): ZendViewView->render(Object(ZendViewModelViewModel)) #2 [internal function]: ZendMvcViewHttpDefaultRenderingStrategy->render(Object(ZendMvcMvcEvent))#3 C:xampphtdocspoemsV3vendorzendframeworkzendframeworklibraryZendEventManagerEventManager.php(469): call_user_func(Array,Object(ZendMvcMvcEvent))#4 C:xampphtdocspoemsV3vendorzendframeworkzendframeworklibraryZendEventManagerEventMa in <b>C:xampphtdocspoemsV3vendorzendframeworkzendframeworklibraryZendViewRendererPhpRenderer.php</b> on line <b>451</b><br /> 你对我如何测试连接是否有效有任何想法吗? 谢谢.
不要直接使用EntityManager.您可以改为使用以下内容来检查连接参数:
try { $entityManager->getConnection()->connect(); } catch (Exception $e) { // failed to connect } 遗憾的是,这是检查是否出现问题的唯一真正方法,因为异常类型会根据您使用的驱动程序而改变. 对于另一个例外(与视图相关的例外),您只需调整视图脚本路径即可.我建议你保持skeleton application module启用,以便默认布局始终存在:你可以override it at any time. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |