저는 새로운 Zend 개발자입니다. 특히 개념 상 문제가 있습니다 (특히 doctrine 사용).가능한 데이터베이스 구성 문제
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'
)
)
)
),
에서 그 라인을 추가해야합니다.
<?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 파일
나는 여기 이 파일의 코드위한 인증/법인/User.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',
)
)
)
),
);
내가 지금 가지고있는 문제는 내 dataBase에 액세스하는 것입니다. 구성 문제라고 생각합니다.
내 클래스 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와 같음을 알게되었습니다. LL.
문제의 출처를 알려주세요.
도움 주셔서 감사합니다.
오류 메시지는 Doctrine과 관련이 없습니다. 레이아웃 템플릿을 찾을 수 없습니다. (옆으로 : 코드에서 SPACES를 사용하고 모든 탭을 제거하십시오.)) – Sam
감사합니다 Sam = D 죄송합니다.이 포럼에서 처음입니다. –