• Nenhum resultado encontrado

MÓDULO ACADÊMICO – CLASSES PACOTE MODEL/PERSISTENCE MODEL/PERSISTENCE

10.1. PersistenceManager.class.php

<?php

/**

* @package model */

/**

* Interface que define um Manager, classe responsável pelo gerenciamento * de persistência de alguma classe do Model. Todos os Managers deste módulo * devem implementar no mínimo os métodos definidos por este contrato.

*

* Essa idéia segue o design pattern DAO (Data Access Object).

*

* @static

* @package model */

interface PersistenceManager {

/**

* Método utilizado para obtenção de todas as entidades da classe Model correspondente.

*

* @param string $mapKey Chave que deve ser utilizado para mapear os objetos no

<kbd>array</kbd> de saída.

* Pode ser <kbd>null</kbd> - nesse caso o <kbd>array</kbd> terá índices numéricos por default.

* @return array Retorna um <kbd>array</kbd> contendo os objetos encontrados. No caso de não

* haver nenhum objeto, <kbd>array</kbd> estará vazio.

*/

public static function fetchAll($mapKey = null);

/**

* Método utilizado para obtenção de uma entidade da classe Model correspondente através de sua chave primária.

*

* @param mixed $key Chave da entidade desejada, segundo a definição de chave primária da classe Model.

* @return mixed Retorna o objeto encontrado ou <kbd>null</kbd>, caso não encontre.

*/

public static function findByKey($key);

/**

* Método utilizado para obtenção de uma lista de entidade da classe Model correspondente através de consulta

* pelos parâmetros fornecidos através de um objeto de exemplo da classe Model.

*

* @param mixed $model Objeto modelo com parâmetros a serem utilizados para pesquisa.

* @param bool $andOperator Se <kbd>true</kbd> indica que deve ser utilizado o operador booleano AND na pesquisa,

* em caso contrário será utilizado o operador OR, por padrão.

* @return array Retorna um <kbd>array</kbd> contendo os objetos encontrados. No caso de não

* haver nenhum objeto, <kbd>array</kbd> estará vazio.

*/

public static function findByExample($model, $andOperator);

/**

* Método utilizado para gravação de uma entidade da classe Model correspondente. A semântica da operação,

* se vai ser uma inserção ou atualização, é dependente de cada classe Model e deve ser especificada na

* implementação do método pela classe concreta. O exemplo mais comum para chave primária inteira é assumir

* que o ID 0 (zero) sinaliza uma entidade ainda não persistida no banco de dados (e que deve ser inserida)

* e que ID diferente disso mostra que a entidade já existe na base (devendo portanto ser apenas atualizada).

*

* @param mixed $model Objeto a ser gravado.

* @return array Retorna um <kbd>array</kbd> contendo os erros que ocorreram. No caso de não

* haver nenhum erro, <kbd>array</kbd> estará vazio.

*/

public static function save($model);

/**

* Método utilizado para exclusão de uma entidade da classe Model correspondente através de sua chave primária.

*

* @param mixed $key Chave da entidade a ser excluída, segundo a definição de chave primária da classe Model.

* @return array Retorna um <kbd>array</kbd> contendo os erros que ocorreram. No caso de não

* haver nenhum erro, <kbd>array</kbd> estará vazio.

*/

public static function delete($key);

/**

* Retorna um <kbd>array</kbd> associativo para utilização em caixas de seleção, por exemplo. Cada elemento do

* <kbd>array</kbd> terá como chave um identificador da entidade (ID, p.ex.) e como valor uma informação

* significativa para o usuário (Nome, p.ex.).

*

* @return array Retorna um <kbd>array</kbd> contendo as informações encontradas. No caso de não

* haver nenhum registro, <kbd>array</kbd> estará vazio.

*/

public static function getMap();

}

?>

10.2. TipoUnidadeFisicaManager.class.php

* Classe que define o gerenciador de persistência para a classe <kbd>TipoUnidadeFisica</kbd>.

* * @static

* @see PersistenceManager * @package model

*/

class TipoUnidadeFisicaManager implements PersistenceManager {

/**

* @see PersistenceManager::fetchAll() */

public static function fetchAll($mapKey = null) { $pdo = Util::getPDOHandler();

$stmt = $pdo->prepare("SELECT id, nome FROM tipo_unidade_fisica ORDER BY nome");

$stmt->execute();

* @see PersistenceManager::findByKey() */

public static function findByKey($key) { $pdo = Util::getPDOHandler();

$stmt = $pdo->prepare("SELECT nome FROM tipo_unidade_fisica WHERE id = :id ORDER BY nome");

* @see PersistenceManager::findByExample() */

public static function findByExample($tipoUnidadeFisica, $andOperator) { $pdo = Util::getPDOHandler();

}

$sql = $sql . " ORDER BY nome";

$stmt = $pdo->prepare($sql);

if ($tipoUnidadeFisica->getNome() != "") {

$nome = Util::getLikeString($tipoUnidadeFisica->getNome());

$stmt->bindParam(":nome", $nome);

}

$stmt->execute();

$lista = array();

while ($row = $stmt->fetch()) {

$tipoUnidadeFisica= new TipoUnidadeFisica();

$tipoUnidadeFisica->setId($row["id"]);

$tipoUnidadeFisica->setNome($row["nome"]);

$lista[] = $tipoUnidadeFisica;

}

return $lista;

}

/**

* @see PersistenceManager::save() */

public static function save($tipoUnidadeFisica) { $pdo = Util::getPDOHandler();

if ($tipoUnidadeFisica->getId() == 0) {

$sql = "INSERT INTO tipo_unidade_fisica (nome) VALUES (:nome)";

} else {

$sql = "UPDATE tipo_unidade_fisica SET nome = :nome WHERE id = :id";

}

$stmt = $pdo->prepare($sql);

if ($tipoUnidadeFisica->getId() != 0) { $id = $tipoUnidadeFisica->getId();

$stmt->bindParam(":id", $id);

}

$nome = $tipoUnidadeFisica->getNome();

$stmt->bindParam(":nome", $nome);

$stmt->execute();

return array();

}

/**

* @see PersistenceManager::delete() */

public static function delete($key) { $pdo = Util::getPDOHandler();

$stmt = $pdo->prepare("DELETE FROM tipo_unidade_fisica WHERE id = :id");

$stmt->bindParam(":id", $key);

$stmt->execute();

return array();

}

/**

* @see PersistenceManager::getMap() */

public static function getMap() { $pdo = Util::getPDOHandler();

$stmt = $pdo->prepare("SELECT id, nome FROM tipo_unidade_fisica");

$stmt->execute();

$map = array();

while ($row = $stmt->fetch()) { $map[$row["id"]] = $row["nome"];

}

return $map;

} }

?>

10.3. TipoDisciplinaManager.class.php

* Classe que define o gerenciador de persistência para a classe <kbd>TipoDisciplina</kbd>.

*

* @static

* @see PersistenceManager * @package model

*/

class TipoDisciplinaManager implements PersistenceManager {

/**

* @see PersistenceManager::fetchAll() */

public static function fetchAll($mapKey = null) { $pdo = Util::getPDOHandler();

$stmt = $pdo->prepare("SELECT id, nome FROM tipo_disciplina ORDER BY nome");

$stmt->execute();

* @see PersistenceManager::findByKey() */

public static function findByKey($key) { $pdo = Util::getPDOHandler();

$stmt = $pdo->prepare("SELECT nome FROM tipo_disciplina WHERE id = :id ORDER BY nome");

* @see PersistenceManager::findByExample() */

public static function findByExample($tipoDisciplina, $andOperator) { $pdo = Util::getPDOHandler();

}

$sql = $sql . " ORDER BY nome";

$stmt = $pdo->prepare($sql);

if ($tipoDisciplina->getNome() != "") {

$nome = Util::getLikeString($tipoDisciplina->getNome());

$stmt->bindParam(":nome", $nome);

}

$stmt->execute();

$lista = array();

while ($row = $stmt->fetch()) {

$tipoDisciplina= new TipoDisciplina();

$tipoDisciplina->setId($row["id"]);

$tipoDisciplina->setNome($row["nome"]);

$lista[] = $tipoDisciplina;

}

return $lista;

}

/**

* @see PersistenceManager::save() */

public static function save($tipoDisciplina) { $pdo = Util::getPDOHandler();

if ($tipoDisciplina->getId() == 0) {

$sql = "INSERT INTO tipo_disciplina (nome) VALUES (:nome)";

} else {

$sql = "UPDATE tipo_disciplina SET nome = :nome WHERE id = :id";

}

$stmt = $pdo->prepare($sql);

if ($tipoDisciplina->getId() != 0) { $id = $tipoDisciplina->getId();

$stmt->bindParam(":id", $id);

}

$nome = $tipoDisciplina->getNome();

$stmt->bindParam(":nome", $nome);

$stmt->execute();

return array();

}

/**

* @see PersistenceManager::delete() */

public static function delete($key) { $pdo = Util::getPDOHandler();

$stmt = $pdo->prepare("DELETE FROM tipo_disciplina WHERE id = :id");

$stmt->bindParam(":id", $key);

$stmt->execute();

return array();

}

/**

* @see PersistenceManager::getMap() */

public static function getMap() { $pdo = Util::getPDOHandler();

$stmt = $pdo->prepare("SELECT id, nome FROM tipo_disciplina");

$stmt->execute();

$map = array();

while ($row = $stmt->fetch()) { $map[$row["id"]] = $row["nome"];

}

return $map;

} }

?>

10.4. StatusTurmaManager.class.php

* Classe que define o gerenciador de persistência para a classe <kbd>StatusTurma</kbd>.

*

* @static

* @see PersistenceManager * @package model

*/

class StatusTurmaManager implements PersistenceManager {

/**

* @see PersistenceManager::fetchAll() */

public static function fetchAll($mapKey = null) { $pdo = Util::getPDOHandler();

* @see PersistenceManager::findByKey() */

public static function findByKey($key) { $pdo = Util::getPDOHandler();

$stmt = $pdo->prepare("SELECT nome FROM status_turma WHERE id = :id ORDER BY nome");

* @see PersistenceManager::findByExample() */

public static function findByExample($statusTurma, $andOperator) { $pdo = Util::getPDOHandler();

}

public static function save($statusTurma) { $pdo = Util::getPDOHandler();

* @see PersistenceManager::delete() */

* @see PersistenceManager::getMap() */

public static function getMap() { $pdo = Util::getPDOHandler();

$stmt = $pdo->prepare("SELECT id, nome FROM status_turma");

$stmt->execute();

$map = array();

while ($row = $stmt->fetch()) { $map[$row["id"]] = $row["nome"];

}

return $map;

} }

?>

10.5. StatusMatriculaCursoManager.class.php

* Classe que define o gerenciador de persistência para a classe

<kbd>StatusMatriculaCurso</kbd>.

*

* @static

* @see PersistenceManager * @package model

*/

class StatusMatriculaCursoManager implements PersistenceManager {

/**

* @see PersistenceManager::fetchAll() */

public static function fetchAll($mapKey = null) { $pdo = Util::getPDOHandler();

$stmt = $pdo->prepare("SELECT id, nome FROM status_matricula_curso ORDER BY nome");

$stmt->execute();

* @see PersistenceManager::findByKey() */

public static function findByKey($key) { $pdo = Util::getPDOHandler();

$stmt = $pdo->prepare("SELECT nome FROM status_matricula_curso WHERE id = :id ORDER BY nome");

* @see PersistenceManager::findByExample() */

public static function findByExample($statusMatriculaCurso, $andOperator) { $pdo = Util::getPDOHandler();

$sql = "SELECT id, nome FROM status_matricula_curso WHERE";

$sql .= $andOperator ? " 1 = 1" : " 1 = 2";

$operador = $andOperator ? "AND" : "OR";

if ($statusMatriculaCurso->getNome() != "") {

$sql .= " $operador LOWER(nome) LIKE :nome";

}

$sql = $sql . " ORDER BY nome";

$stmt = $pdo->prepare($sql);

if ($statusMatriculaCurso->getNome() != "") {

$nome = Util::getLikeString($statusMatriculaCurso->getNome());

$stmt->bindParam(":nome", $nome);

}

$stmt->execute();

$lista = array();

while ($row = $stmt->fetch()) {

$statusMatriculaCurso= new StatusMatriculaCurso();

$statusMatriculaCurso->setId($row["id"]);

$statusMatriculaCurso->setNome($row["nome"]);

$lista[] = $statusMatriculaCurso;

}

return $lista;

}

/**

* @see PersistenceManager::save() */

public static function save($statusMatriculaCurso) { $pdo = Util::getPDOHandler();

if ($statusMatriculaCurso->getId() == 0) {

$sql = "INSERT INTO status_matricula_curso (nome) VALUES (:nome)";

} else {

$sql = "UPDATE status_matricula_curso SET nome = :nome WHERE id = :id";

}

$stmt = $pdo->prepare($sql);

if ($statusMatriculaCurso->getId() != 0) { $id = $statusMatriculaCurso->getId();

$stmt->bindParam(":id", $id);

}

$nome = $statusMatriculaCurso->getNome();

$stmt->bindParam(":nome", $nome);

$stmt->execute();

return array();

}

/**

* @see PersistenceManager::delete() */

public static function delete($key) { $pdo = Util::getPDOHandler();

$stmt = $pdo->prepare("DELETE FROM status_matricula_curso WHERE id = :id");

$stmt->bindParam(":id", $key);

$stmt->execute();

return array();

}

/**

* @see PersistenceManager::getMap() */

public static function getMap() { $pdo = Util::getPDOHandler();

$stmt = $pdo->prepare("SELECT id, nome FROM status_matricula_curso");

$stmt->execute();

$map = array();

while ($row = $stmt->fetch()) { $map[$row["id"]] = $row["nome"];

}

return $map;

} }

?>

10.6. StatusMatriculaTurmaManager.class.php

* Classe que define o gerenciador de persistência para a classe

<kbd>StatusMatriculaTurma</kbd>.

*

* @static

* @see PersistenceManager * @package model

*/

class StatusMatriculaTurmaManager implements PersistenceManager {

/**

* @see PersistenceManager::fetchAll() */

public static function fetchAll($mapKey = null) { $pdo = Util::getPDOHandler();

$stmt = $pdo->prepare("SELECT id, nome FROM status_matricula_turma ORDER BY nome");

$stmt->execute();

* @see PersistenceManager::findByKey() */

public static function findByKey($key) { $pdo = Util::getPDOHandler();

$stmt = $pdo->prepare("SELECT nome FROM status_matricula_turma WHERE id = :id ORDER BY nome");

* @see PersistenceManager::findByExample() */

public static function findByExample($statusMatriculaTurma, $andOperator) { $pdo = Util::getPDOHandler();

$sql = "SELECT id, nome FROM status_matricula_turma WHERE";

$sql .= $andOperator ? " 1 = 1" : " 1 = 2";

$operador = $andOperator ? "AND" : "OR";

if ($statusMatriculaTurma->getNome() != "") {

$sql .= " $operador LOWER(nome) LIKE :nome";

}

$sql = $sql . " ORDER BY nome";

$stmt = $pdo->prepare($sql);

if ($statusMatriculaTurma->getNome() != "") {

$nome = Util::getLikeString($statusMatriculaTurma->getNome());

$stmt->bindParam(":nome", $nome);

public static function save($statusMatriculaTurma) { $pdo = Util::getPDOHandler();

* @see PersistenceManager::delete() */

public static function delete($key) { $pdo = Util::getPDOHandler();

$stmt = $pdo->prepare("DELETE FROM status_matricula_turma WHERE id = :id");

$stmt->bindParam(":id", $key);

* @see PersistenceManager::getMap() */

public static function getMap() { $pdo = Util::getPDOHandler();

$stmt = $pdo->prepare("SELECT id, nome FROM status_matricula_turma");

$stmt->execute();

$map = array();

while ($row = $stmt->fetch()) { $map[$row["id"]] = $row["nome"];

}

return $map;

} }

?>

Documentos relacionados