Você está na página 1de 6

PREPARADOS?!?!

1. Qual a importncia do mtodo setView de um objeto do tipo Zend_Form?


O que poderia acontecer se esse mtodo no fosse chamado ao usar o ZF como uma
biblioteca de componentes?
R: um objeto de exibio utilizado na renderizao.
Quando utilizado com o MVC, zend_layout tenta usar o objeto view registrado com o
viewRenderer se nenhum objeto for passado explicitamente.

Professor
R: O mtodo setView de um objeto do tipo Zend_Form associa o formulrio referncia de
rint $form
uma View, pr-requisito para executar o comando: p

2. Com exceo dos tipos Zend_Form_Element_Text e


Zend_Form_Element_Submit, cite outros trs tipos de elementos que podem ser
adicionados a um formulrio.
R: Zend_Form_Element_Button, Zend_Form_Element_Textarea,
Zend_Form_Element_Checkbox e Zend_Form_Element_Password.

Professor
R: Zend_Form_Element_Button, Zend_Form_Element_Hidden, Zend_Form_Element_Reset

3. Qual o mtodo de um objeto do tipo Zend_Form utilizado para definir o


destino para onde os dados do formulrio devem ser enviados? Fornea um exemplo
de uso desse mtodo.
R: $form->setAction('zend-formulario.php?enviar=ok');

Professor
R: $form = new Zend_Form(cds);
$form->setAction (destino-pag.php);

4. Fornea o cdigo necessrio para criar um objeto do tipo Zend_Form, inserir


nesse formulrio trs elementos dos tipos citados no Item 2 e imprim-lo no body de
uma pgina web.
R: $form = new Zend_Form;
$form->setMethod('post');
$form->setAction('module/controller/action');
$form->addElement('Checkbok', 'Elemento1');
$form->addElement('Textarea', 'Elemento2');
$form->addElement('Password', 'Elemento3');
echo $this->form;

Professor
R: $form = new Zend_Form(cds);
$form->setAction (destino-pag.php);
$element = new Zend_Form_Element_Hidden(user);
$element->setValue($_SESSION[user]);
$form->addElement($element);

$envia = new Zend_Form_Element_Button(Envia);


$envia->setAttrib(onclick, metodoScript());
$form->addElement($envia);

$zera = new Zend_Form_Element_Reset(Apagar);


$form->addElement($zera);

$form->setView(new Zend_View());
print $form;

5. Quais as diferenas do mtodo fetchAll de um objeto do tipo


Zend_Db_Adapter em relao ao de um objeto do tipo Zend_Db_Table?
R: O fetchAll em relao a um objeto do tipo Zend_Db_Adapter seleciona todos os registros
da tabela DE ACORDO COM AS COLUNAS e o f etchAll em relao a um objeto do tipo
Zend_Db_Table SELECIONA TODOS OS REGISTROS DA TABELA COM TODAS AS
COLUNAS.

Professor
R: O mtodo fetchAll de um Zend_Db_Table no precisa de parmetros e o mtodo de
um Zend_Db_Adapter precisa de uma instruo S QL SELECT para qual a tabela e quais
colunas devem ser retornadas

6. Fornea uma razo para fazer uso do mtodo setFetchMode da classe


Zend_Db_Adapter e d um exemplo de cdigo.
R: O resultado de fetchall() por padro uma matriz de duas dimenses, onde a primeira
equivale aos registros e a segunda aos campos.Na segunda as chaves dos elementos so
nomes dos campos, -> Esse ultimo detalhe pode ser configurado com o metodo
setFetchMode() usando as constantes Zend_Db::FETCH.

$stmt = $db -> query ( 'SELECT * FROM bugs' )


;
$stmt -> setFetchMode ( Zend_Db:: FETCH_NUM ) ;
$rows = $stmt -> fetchAll ( ) ;
echo $rows [ 0 ] [ 0 ] ;

Professor
R: O setFetchMode define como ser o retorno do conjunto.
$cdcol = Zend_Db::factory(PDO_MYSQL,
array(host=>localhost,username=>root,password=>,dbname=>cdcol));

$cdcol->setFetchMode(Zend_Db::FETCH_OBJ);

7. Para que pode ser utilizada a funo PHP set_include_path em um projeto


web que usa o Zend como uma biblioteca de componentes?
R: Para que possamos definir o diretrio da biblioteca Zend, deste modo temos apenas
uma biblioteca que pode ser referenciada em qualquer projeto
Professor
R: Para incluir na lista de diretrios buscados (durante o require ou include) uma pasta
que j contm os arquivos da biblioteca do Zend.

8. Suponha que um arquivo .htaccess tenha sido criado em uma pasta chamada
website e que o acesso via HTTP a essa pasta realizado a partir da seguinte
requisio: http://www.meusite.com.br/website
O arquivo .htaccess possui o seguinte contedo:
RewriteEngine on RewriteRule ^excluir\/([az]+)\/([az09]*)$ destino.php?pg=$1&id=$2
Analise as requisies a seguir e explique por que para uma das requisies h o
redirecionamento para pgina destino.php e para a outra requisio ocorre o erro
404.
http://www.meusite.com.br/excluir/Livro/3
http://www.meusite.com.br/excluir/carro/
R: As instrues acima requisitada aps a pasta excluir espera 2 parmetros, sendo assim
o caminho localhost/excluir/Livro/3 fornece os parmetros Livro e 3 por isso redireciona,
j o caminho localhost/excluir/carro fornece somente 1 por isso o erro.

Professor
R: Considerando que o comando do .htaccess seja RewriteEngine on e que as
requisies sejam feitas dentro do diretrio website a primeira requisio resulta em erro
404, pois o padro esperado para a primeira varivel no abrange letras maisculas e o
segundo parmetro opcional

9. Elabore um contedo .htaccess que envia dois parmetros para uma pgina
chamada cadastro.php. O primeiro parmetro deve conter apenas letras minsculas
e o segundo, apenas nmeros. O arquivo ser salvo em uma pasta chamada sistema
e dever atender seguinte requisio:
http://localhost/semana17/sistema/cadastro/cliente/1123
R: RewriteEngine on
RewriteRule ^sistema\/cadastro\/([a-z]+)\/([0-9]*)$p=$1&p=$2

Professor
R: RewriteEngine on
RewriteRule ^cadastro\/([a-z]+)\/([0-9]+)$ cadastro.php?par01=$1&par02=$2

+ indica que pode ter 1 ou mais algarismos


* indica que pode ter 0 ou mais algarismos

10. Qual o tipo retornado pelo mtodo find de um objeto Zend_Db_Table? Qual
o tipo retornado pelo mtodo fetchRow desse mesmo objeto? Explique a diferena
dos tipos retornados em ambos os mtodos do mesmo objeto.
R: O mtodo find() retorna um objeto do tipo Zend_Db_Table_Rowset.
J o mtodo fetchRow() retorna apenas um objeto do tipo Zend_Db_Row.
Zend_Db_Row Uma linha(registro) da tabela.
Zend_Db_Rowset Conjunto de linhas da tabela.

Professor
R: O mtodo find retorna um objeto do tipo Zend_Db_Table_Rowset. O mtodo
fetchRow retorna um objeto do tipo Zend_Db_Table_Row.
Rowset um objeto para um conjunto de linhas de uma tabela e Row um objeto que
manipula/representa uma linha da tabela.

11. Quais as diferena do mtodo delete de um objeto do tipo


Zend_Db_Adapter em relao ao de um objeto do tipo Zend_Db_Table?
R: O delete em relao a um objeto do tipo Z end_Db_Adapter deleta os registros da tabela
e o delete em relao a um objeto do tipo Zend_Db_Table deleta toda a tabela

Professor
R: Um objeto do tipo Zend_Db_Table no possui o mtodo delete. O mtodo delete de
um Zend_Db_Adapter necessita de dois parmetros: o nome da tabela e o critrio que
identifica o registro que se deseja excluir.

Zend_Db_Adapter:
- insert -> Param(nome da tabela + vetor associativo)
- update -> Param(nome da tabela + vetor associativo + critrio)
- delete -> Param(nome da tabela + critrio)

12. Um dos benefcios da arquitetura de software MVC a organizao do cdigo.


Com essa arquitetura os cdigos da aplicao podem ser organizados de acordo com
o que fazem. Explique o que faz o cdigo de cada uma das camadas dessa
arquitetura.
R:
View - onde os dados so apresentados
Model - onde est a regra de negcio, onde est a programao e a comunicao
com o banco de dados
Controller - onde realiza a conexo com as duas outras camadas, controla a view e
a model

Professor

R:
View - contm cdigos que definem as telas do sistema.
Model - contm cdigos que obtm ou armazena dados no banco.

Controller - contm cdigos que promovem a integrao entre as camadas view e

model.
13. Fornea trs tipos de elementos da arquitetura MVC que podem ser criados
com a Zend Tool. D exemplos de comandos para criar cada um desses elementos.
R: zf create controller Cds - CONTROL
zf create action preEditar Cds - VIEW
zf create db-table Cds cds - MODEL
zf create model Cds - MODEL

Professor
R: zf create controller NomeControlador
zf create action nome Acao NomeControlador
zf create model NomeModelo

14. Quais so os ambientes predefinidos para uma aplicao MVC com Zend? De
que modo pode ser definido o ambiente utilizado para executar a aplicao?
R:
Os ambientes so.
production
testing
development
staging

Para escolher: SetEnv APPLICATION_ENV development


-
Professor
R: Os ambientes predefinidos de uma aplicao Zend so: desenvolvimento, teste,
homologao e produo. Para definir qual ambiente ser usado basto inserir no .htaccess
a instruo: SetEnv APPLICATION_ENV [ambiente]

15. Assim que o continer MVC criado pela Zend Tool a aplicao pode ser
testada no navegador. No entanto, alguns erros ocorrem durante o teste por no ser
encontrada as classes da biblioteca do Zend. O que poderia ser feito para que esses
erros fossem resolvidos?
R: set include_path(get_include_path() . PATH_SEPARATOR . 'C:\xampp\htdocs\
ZendFramework-1.12.5\library');

Professor
R: Copiar a pasta da biblioteca do Zend para a pasta library do continer criado. Ou na
instruoset_include_path do arquivo index.php da pasta public inserir o caminho de
um diretrio que j contenha essa pasta Zend.
Tavinho

Você também pode gostar