0
我是一個新的Zend開發人員,我有一些概念問題(尤其是與教條)。可能的數據庫配置問題
我有一個叫做MyAuthenticationProcess的類。 該類正在嘗試通過在數據庫上驗證其身份來驗證用戶身份。
正如我在互聯網上看到的,我應該實現3件事情,以便與我的數據庫進行通信。
首先,我要在我的module.config.php
'doctrine' => array(
'driver' => array(
__NAMESPACE__. '_driver' => array(
'class' => 'Doctrine\ORM\Mapping\Driver\AnnotationDriver',
'cache' => 'array',
'paths' => array(__DIR__ . '/../src/' . __NAMESPACE__ . '/Entity')
),
'orm_default' => array(
'drivers' => array(
__NAMESPACE__.'\Entity' => __NAMESPACE__.'_driver'
)
)
)
),
添加這些行第二,我要創建一個將包含我的實體的文件。我創造了這個文件在身份認證/實體/ user.php的
下面是該文件的代碼:
<?php
namespace Authentification\Entity;
use Doctrine\ORM\Mapping as ORM;
use Zend\InputFilter\InputFilter;
use Zend\InputFilter\Factory as InputFactory;
use Zend\InputFilter\InputFilterAwareInterface;
use Zend\InputFilter\InputFilterInterface;
/**
* A User table.
*
* @ORM\Entity
* @ORM\Table(name="user")
* @property string $login
* @property string $password
* @property int $id
*/
class User {
/**
* @ORM\Id
* @ORM\Column(type="integer");
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\Column(type="string")
*/
protected $login;
/**
* @ORM\Column(type="string")
*/
protected $password;
/**
* Magic getter to expose protected properties.
*
* @param string $property
* @return mixed
*/
public function __get($property)
{
return $this->$property;
}
/**
* Magic setter to save protected properties.
*
* @param string $property
* @param mixed $value
*/
public function __set($property, $value)
{
$this->$property = $value;
}
}
?>
而完成我加入這個配置到這個文件:配置/自動加載/ local.php
<?php
return array(
'doctrine' => array(
'connection' => array(
'orm_default' => array(
'driverClass' => 'Doctrine\DBAL\Driver\PDOMySql\Driver',
'params' => array(
'host' => 'localhost',
'port' => '3306',
'user' => 'root',
'password' => '',
'dbname' => 'zf2tutorial',
)
)
)
),
);
我現在的問題是訪問我的數據庫。 我想這是一個配置問題。
在我的類MyAuthenticationProcess我試圖讓我的表「用戶」的所有條目。但我不能。
這裏是我用來做這樣的代碼:
$users = $this->getEntityManager()->getRepository('Authentification\Entity\User')->findAll() ;
var_dump($users) ;
這裏是我的錯誤:
<br />
<b>Fatal error</b>: Uncaught exception 'Zend\View\Exception\RuntimeException' with message 'Zend\View\Renderer\PhpRenderer::render: Unable to render template "layout/layout"; resolver could not resolve to a file' in xampp\htdocs\kjsencha\vendor\zendframework\zendframework\library\Zend\View\Renderer\PhpRenderer.php:457
Stack trace:
#0 xampp\htdocs\kjsencha\vendor\zendframework\zendframework\library\Zend\View\View.php(201): Zend\View\Renderer\PhpRenderer->render(Object(Zend\View\Model\ViewModel))
#1 xampp\htdocs\kjsencha\vendor\zendframework\zendframework\library\Zend\Mvc\View\Http\DefaultRenderingStrategy.php(126): Zend\View\View->render(Object(Zend\View\Model\ViewModel))
#2 [internal function]: Zend\Mvc\View\Http\DefaultRenderingStrategy->render(Object(Zend\Mvc\MvcEvent))
#3 xampp\htdocs\kjsencha\vendor\zendframework\zendframework\library\Zend\EventManager\EventManager.php(460): call_user_func(Array, Object(Zend\Mvc\MvcEvent)) in <b>\xampp\htdocs\kjsencha\vendor\zendframework\zendframework\library\Zend\View\Renderer\PhpRenderer.php</b> on line <b>457</b><br />
要確保這是我嘗試配置的問題知道如果使用此連接建立連接:
$users = $this->getEntityManager()->getConnection() ;
var_dump($users) ;
我很驚訝,看到用戶等於NU二。
你知道問題出在哪裏嗎?
謝謝你的幫助。
該錯誤消息與Doctrine無關。找不到佈局模板。 (另外:請在你的代碼中使用SPACES並擺脫所有的Tabs)) – Sam
謝謝Sam = D 對不起,這是我第一次參加這個論壇。 –