2008-05-26 00:57:32 +04:00
|
|
|
<?php
|
|
|
|
require_once 'lib/DoctrineTestInit.php';
|
|
|
|
|
2008-07-11 14:48:04 +04:00
|
|
|
class Orm_Entity_AccessorTest extends Doctrine_OrmTestCase
|
2008-05-26 00:57:32 +04:00
|
|
|
{
|
|
|
|
public function testGetterSetterOverride()
|
2008-07-11 14:48:04 +04:00
|
|
|
{
|
2008-05-26 00:57:32 +04:00
|
|
|
$entity1 = new CustomAccessorMutatorTestEntity();
|
|
|
|
$entity1->username = 'romanb';
|
|
|
|
$this->assertEquals('romanb?!', $entity1->username);
|
|
|
|
|
|
|
|
$entity2 = new MagicAccessorMutatorTestEntity();
|
|
|
|
$entity2->username = 'romanb';
|
|
|
|
$this->assertEquals('romanb?!', $entity1->username);
|
|
|
|
}
|
2008-07-11 14:48:04 +04:00
|
|
|
|
|
|
|
|
2008-05-26 00:57:32 +04:00
|
|
|
}
|
|
|
|
|
2008-07-11 14:48:04 +04:00
|
|
|
|
|
|
|
/* Local test classes */
|
|
|
|
|
2008-05-26 00:57:32 +04:00
|
|
|
class CustomAccessorMutatorTestEntity extends Doctrine_Entity
|
|
|
|
{
|
2008-07-21 00:13:24 +04:00
|
|
|
public static function initMetadata($mapping)
|
2008-05-26 00:57:32 +04:00
|
|
|
{
|
2008-07-21 00:13:24 +04:00
|
|
|
$mapping->mapField(array(
|
|
|
|
'fieldName' => 'id',
|
|
|
|
'type' => 'integer',
|
|
|
|
'length' => 4,
|
|
|
|
'id' => true
|
|
|
|
));
|
|
|
|
$mapping->mapField(array(
|
|
|
|
'fieldName' => 'username',
|
|
|
|
'type' => 'string',
|
|
|
|
'length' => 50,
|
|
|
|
'accessor' => 'getUsernameCustom',
|
|
|
|
'mutator' => 'setUsernameCustom'
|
|
|
|
));
|
2008-05-26 00:57:32 +04:00
|
|
|
}
|
|
|
|
|
|
|
|
public function getUsernameCustom()
|
|
|
|
{
|
2008-06-15 19:56:28 +04:00
|
|
|
return $this->_rawGetField('username') . "!";
|
2008-05-26 00:57:32 +04:00
|
|
|
}
|
|
|
|
|
|
|
|
public function setUsernameCustom($username)
|
|
|
|
{
|
2008-06-15 19:56:28 +04:00
|
|
|
$this->_rawSetField('username', $username . "?");
|
2008-05-26 00:57:32 +04:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class MagicAccessorMutatorTestEntity extends Doctrine_Entity
|
|
|
|
{
|
2008-07-21 00:13:24 +04:00
|
|
|
public static function initMetadata($mapping)
|
2008-05-26 00:57:32 +04:00
|
|
|
{
|
2008-07-21 00:13:24 +04:00
|
|
|
$mapping->mapField(array(
|
|
|
|
'fieldName' => 'id',
|
|
|
|
'type' => 'integer',
|
|
|
|
'length' => 4,
|
|
|
|
'id' => true
|
|
|
|
));
|
|
|
|
$mapping->mapField(array(
|
|
|
|
'fieldName' => 'username',
|
|
|
|
'type' => 'string',
|
|
|
|
'length' => 50
|
|
|
|
));
|
2008-05-26 00:57:32 +04:00
|
|
|
}
|
|
|
|
|
|
|
|
public function getUsername()
|
|
|
|
{
|
2008-06-15 19:56:28 +04:00
|
|
|
return $this->_rawGetField('username') . "!";
|
2008-05-26 00:57:32 +04:00
|
|
|
}
|
|
|
|
|
|
|
|
public function setUsername($username)
|
|
|
|
{
|
2008-06-15 19:56:28 +04:00
|
|
|
$this->_rawSetField('username', $username . "?");
|
2008-05-26 00:57:32 +04:00
|
|
|
}
|
|
|
|
}
|