Zend Framework: Models, Mappers; Default fields in Mappers & Field Operations in models?

I am creating a simple ORM in the Zend Framework to roughly encapsulate a public library application using the DbTable / Mapper / Model approach. I am not sure if I am performing my user-related classes correctly, as I have some logic in Mapper_Userand some in Model_User.

Mapper_user

<?php
class Mapper_Users {

/*
createModelObject would be called by a Controller handling a Form_Regsiter's
data, to create a new Model_User object. This object'd then be saved by the
same Controller by calling Mapper_Users->save();
*/
    public function createModelObject(array $fields) {
        if(!isset($fields['date_registered']))
            $fields['date_registered'] = date('Y-m-d H:i:s');
        if(!isset($fields['max_concurrent_rentals']))
            $fields['max_concurrent_rentals'] = 3;
        return new Model_User($fields);
    }
}
?>

, Model_User (, , ), Model_User / /, , , " " .. , Model_User Mapper_User, Mapper_User->save();. Mapper - .

Model_User?

Model_User

<?php
class Model_User {

    public function setPassword($value) {
        $this->password = md5($value);
    }
}
?>

Model_User->setPassword($value);, , $this->password = md5($value); . , - md5 Mapper_User->save(); , Model_User , .

. , , ", ", , Mapper, ( ) Mapper, ( ) . , - Mapper?

, , !


@RockyFord:

Mapper_User , , 500 Mapper_*.php, - , __construct()

<?php
class Mapper_Users {

    public function __construct() {
        $this->_db = new DbTable_Users();
        if(!$this->_db instanceof Zend_Db_Table_Abstract)
            throw new Exception('Invalid table data gateway provided');
    }
}
?>
+5
2

, , setPassword.

:

public function setPassword($value) {
        $this->password = md5($value);
    }

, .

:

, ?

:. $this->setPassword($password); , .

, - mapper save() , . - , .

:

, , ", ", , Mapper

.

, (Model_User) , Model (Model_User).

() ( , json, xml, , csv...) , (Model_User).

, , , .

, "", , , .

, , Model_User :

class Model_User {
    protected $id;
    protected $name;
    protected $password;
    //continue....
}

, , .

+1

DataMapper , . , , $user->save(), . , ActiveRecord DataMappers, .

DataMapper $mapper->save($user);, . , , .

UPDATE:

:

[...] md5 Mapper_User->save(); , Model_User , , , .

setPasswordHash() .

: !

, , .

public __construct(Zend_Db_Table $dbTable) {
    $this->dbTable = $dbTable;
}

.

+1

All Articles