O Zend Framework possui um utilitário que se encarrega de criar o projeto com todos os diretórios do padrão MVC. Dentro do diretório /usr/share/Zend/ZendFramework/bin encontra-se o arquivo zf.sh, ele possui vários parâmetros que podem contextualizar diferentes ações, bem como, criar projetos, View, Controller, Action e entre outros. Se executarmos o comando "sh zf.sh --help" dentro do diretório /usr/share/Zend/ZendFramework/bin, teremos todas ações que o script faz, podemos ver-las no quadro abaixo.
Zend Framework Command Line Console Tool v1.9.5
Usage:
zf [--global-opts] action-name [--action-opts] provider-name [--provider-opts] [provider parameters ...]
Note: You may use "?" in any place of the above usage string to ask for more specific help information.
Example: "zf ? version" will list all available actions for the version provider.
Providers and their actions:
ProjectProvider
zf create project-provider name actions
Profile
zf show profile
Project
zf create project path name-of-profile file-of-profile
zf show project
Note: There are specialties, use zf show project.? to get specific help on them.
View
zf create view controller-name action-name-or-simple-name
Controller
zf create controller name index-action-included[=1] module
Action
zf create action name controller-name[=index] view-included[=1] module
Module
zf create module name
Version
zf show version mode[=mini] name-included[=1]
Note: There are specialties, use zf show version.? to get specific help on them.
Phpinfo
zf show phpinfo
Manifest
zf show manifest
Podemos criar um subdiretório estrutura, dentro do home do usuário dsi ou no diretório usuário onde estão sendo desenvolvidas as aplicações. Criaremos um script para gerar todos os projetos de aplicações, portanto dessa forma com um simples comando podemos poupar boa parte do tempo criando diretórios e arquivos com o mesmo nome. Crie um arquivo com o nome gera-proj-zend e adicione o conteúdo abaixo.
#!/bin/sh
if ls /home/usuario/sistemas/desenvolvimento/$1
then
echo Não foi possível gerar projeto com nome '$1': a pasta '/home/usuario/sistemas/desenvolvimento/$1/' já existe.
exit 0
elif ls /home/usuario/sistemas/producao/$1
then
echo Não foi possível gerar projeto com nome '$1': a pasta '/home/usuario/sistemas/producao/$1/' já existe.
exit 0
fi
sh /usr/share/Zend/ZendFramework/bin/zf.sh create project /home/usuario/sistemas/desenvolvimento/$1 $1 $1
mkdir /home/usuario/sistemas/producao/$1
cat /home/usuario/sistemas/desenvolvimento/$1/public/.htaccess > /home/usuario/sistemas/desenvolvimento/$1/public/.htaccess-producao
echo RewriteBase /~dsi/$1/ >> /home/usuario/sistemas/desenvolvimento/$1/public/.htaccess-producao
echo RewriteBase /~dsi/desenvolvimento/$1/ >> /home/usuario/sistemas/desenvolvimento/$1/public/.htaccess
cd /home/dsi/public_html/desenvolvimento/
ln -s /home/usuario/sistemas/desenvolvimento/$1/public/ $1
cd -
cd /home/dsi/public_html/
ln -s /home/usuario/sistemas/producao/$1/public/ $1
Esse script analisa se o projeto já existe, caso contrário ele usará o script padrão do zend (zf.sh), para criar o projeto. Neste projeto inclui-se arquivo .htaccess e o link simbólico para a pasta public_html.
Para gerar um novo projeto é necessário rodar o script seguido do nome do projeto a ser criado:
# ./ gera-proj-zend nome_do_projeto
ou
# sh gera-proj-zend nome_do_projeto