Commit c2bf23de by Alexander Makarov

Merge pull request #3923 from alanwillms/start-installation-start-workflow-pt-br

Brazilian Portuguese translation of start-installation.md and start-workflow.md
parents e2f6840d 5c9f4125
Instalando o Yii
================
Você pode instalar o Yii de duas maneiras, usando o [Composer](http://getcomposer.org/)
ou baixando um arquivo compactado. O primeiro modo é o preferido, já que permite
que você instale novas [extensões](extend-creating-extensions.md) ou atualize o
Yii simplesmente executando um único comando.
> Note: Ao contrário do Yii 1, as instalações padrão do Yii 2 resultam em
tanto o framework quanto um esqueleto de aplicação sendo baixados e instalados.
Instalando via Composer <a name="installing-via-composer"></a>
-----------------------
Se você já não tiver o Composer instalado, você pode fazê-lo seguindo as instruções
em [getcomposer.org](https://getcomposer.org/download/). No Linux e no Mac OS X,
você executará os seguintes comandos:
curl -s http://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
No Windows, você baixará e executará o [Composer-Setup.exe](https://getcomposer.org/Composer-Setup.exe).
Por favor consulte a [Documentação do Composer](https://getcomposer.org/doc/) se
você encontrar quaisquer problemas ou se quiser aprender mais sobre o uso do Composer.
Com o Composer instalado, você pode instalar o Yii executando o seguinte comando
em um diretório acessível pela Web:
composer create-project --prefer-dist yiisoft/yii2-app-basic basic
O comando acima instala o Yii em um diretório chamado `basic`.
> Tip: Se você quiser instalar a última versão de desenvolvimento do Yii, você
> pode usar o seguinte comando, que adiciona uma [opção stability](https://getcomposer.org/doc/04-schema.md#minimum-stability):
>
> composer create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic basic
>
> Perceba que a versão de desenvolvimento do Yii não deve ser usada para produção,
> uma vez que ela pode quebrar o seu código que está rodando.
Instalando a partir de um Arquivo Compactado <a name="installing-from-archive-file"></a>
--------------------------------------------
A instalação do Yii a partir de um arquivo compactado envolve dois passos:
1. Baixe o arquivo compactado em [yiiframework.com](http://www.yiiframework.com/download/yii2-basic).
2. Descompacte o arquivo baixado em um diretório acessível pela Web.
Outras Opções de Instalação <a name="other-installation-options"></a>
---------------------------
As instruções de instalação acima mostram como instalar o Yii, que também cria
uma aplicação Web básica que funciona fora da caixa. Este método é um ponto de
início para projetos pequenos, ou para quando você acaba de começar a aprender
o Yii.
No entanto, existem outras opções de instalação disponíveis:
* Se você só quer instalar o core do framework e gostaria de construir uma aplicação
inteira do zero, você pode seguir as instruções conforme explicadas em
[Construindo uma Aplicação a Partir do Zero](tutorial-start-from-scratch.md).
* Se você quiser começar com uma aplicação mais sofisticada, mais adequada ao
ambiente de desenvolvimento de equipes, você pode considerar instalar o
[Modelo de Aplicação Avançada](tutorial-advanced-app.md).
Verificando a Instalação <a name="verifying-installation"></a>
------------------------
Após a instalação, você pode usar o seu navegador para acessar a aplicação do Yii
instalada através da seguinte URL:
```
http://localhost/basic/web/index.php
```
Essa URL presume que você tenha instalad o Yii em um diretório chamado de `basic`,
diretamente no diretório raiz do servidor Web, e que o servidor Web está rodando
em sua máquina local (`localhost`). Você pode precisar ajustá-la ao seu ambiente
de instalação.
![Instalação do Yii com Sucesso](images/start-app-installed.png)
Você deve ver a página de "Congratulations!" acima em seu navegador. Se não vê-la,
por favor verifique se a sua instalação do PHP satisfaz os requisitos do Yii. Você
pode verificar se os requisitos mínimos são atendidos através de um dos seguintes modos:
* Use um navegador para acessar a URL `http://localhost/basic/requirements.php`
* Execute os seguintes comandos:
```
cd basic
php requirements.php
```
Você deve configurar a sua instalação do PHP de modo que ela atenda aos requisitos
mínimos do Yii. Mais importante ainda, você deve ter o PHP 5.4 ou superior. Você
também deve instalar a [Extensão PDO do PHP](http://www.php.net/manual/en/pdo.installation.php)
e o driver de banco de dados correspondente (tal como `pdo_mysql` para bancos de
dados MySQL), se a sua aplicação precisa de um banco de dados.
Configurando os Servidores Web <a name="configuring-web-servers"></a>
------------------------------
> Info: Você pode pular essa sub-seção se só estiver fazendo um test drive do Yii
sem a intenção de publicá-lo em um servidor de produção.
A aplicação instalada de acordo com as instruções acima deve funcionar fora da caixa
com um [Servidor HTTP Apache](http://httpd.apache.org/) oum um [Servidor HTTP Nginx](http://nginx.org/),
no Windows, Mac OS X ou Linux.
Em um servidor de produção, você pode querer configurar o seu servidor Web de
modo que a aplicação possa ser acessada pela URL `http://www.example.com/index.php`
ao invés de `http://www.example.com/basic/web/index.php`. Tal configuração requer que
você aponte a raiz dos documentos de seu servidor Web para o diretório `basic/web`.
Você também pode querer ocultar o `index.php` da URL, conforme descrito na seção
[Análise e Geração de URLs](runtime-url-handling.md). Nesta sub-seção, você
aprenderá como configurar o seu servidor Apache ou Nginx para atingir estes
objetivos.
> Info: Definindo `basic/web` como a raiz dos documentos, você também previne os
usuários finais de acessarem o código privado de sua aplicação e os arquivos de
dados sensíveis que estão armazenados em diretórios irmãos de `basic/web`.
Negar o acesso a estes outros diretórios é uma melhoria de segurança.
> Info: Se a sua explicação rodará em um ambiente de hospedagem compartilhada
onde você não tem permissão para alterar a configuração do seu servidor Web,
você ainda pode ajustar a estrutura de sua aplicação para uma melhor segurança.
Por favor consulte a seção [Ambiente de Hospedagem Compartilhada](tutorial-shared-hosting.md)
para mais detalhes.
### Configuração do Apache Recomendada <a name="recommended-apache-configuration"></a>
Use a seguinte configuração no arquivo `httpd.conf` do Apache ou em uma
configuração de virtual host. Perceba que você pode deve substituir `path/to/basic/web`
com o caminho real para `basic/web`.
```
# Define a raiz dos documentos como sendo "basic/web"
DocumentRoot "path/to/basic/web"
<Directory "path/to/basic/web">
RewriteEngine on
# Se um diretório ou arquivo existe, usa a requisição diretamente
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Caso contrário, encaminha a requisição para index.php
RewriteRule . index.php
# ...outras configurações...
</Directory>
```
### Configuração do Nginx Recomendada <a name="recommended-nginx-configuration"></a>
Você deve ter instalado o PHP como um [FPM SAPI](http://php.net/install.fpm) para
usar o [Nginx](http://wiki.nginx.org/). Use a seguinte configuração do Nginx,
substituindo `path/to/basic/web` com o caminho real para `basic/web` e `mysite.local`
com o nome de host real a servir.
```
server {
charset utf-8;
client_max_body_size 128M;
listen 80; ## listen for ipv4
#listen [::]:80 default_server ipv6only=on; ## listen for ipv6
server_name mysite.local;
root /path/to/basic/web;
index index.php;
access_log /path/to/basic/log/access.log main;
error_log /path/to/basic/log/error.log;
location / {
# Redireciona tudo que não é um arquivo real para index.php
try_files $uri $uri/ /index.php?$args;
}
# descomente para evitar o processamento de chamadas a arquivos estáticos não existentes pelo Yii
#location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
# try_files $uri =404;
#}
#error_page 404 /404.html;
location ~ \.php$ {
include fastcgi.conf;
fastcgi_pass 127.0.0.1:9000;
#fastcgi_pass unix:/var/run/php5-fpm.sock;
}
location ~ /\.(ht|svn|git) {
deny all;
}
}
```
Ao usar esta configuração, você deve definir `cgi.fix_pathinfo=0` no arquivo `php.ini`
de modo a evitar muitas chamadas desnecessárias ao comando `stat()` do sistema.
Também perceba que ao rodar um servidor HTTPS, você precisa adicionar `fastcgi_param HTTPS on;`,
de modo que o Yii possa detectar adequadamente se uma conexão é segura.
Executando Aplicações
=====================
Após instalar o Yii, você tem uma aplicação Yii funcional que pode ser acessada
pela URL `http://hostname/basic/web/index.php` ou `http://hostname/index.php`,
dependendo da sua configuração. Esta seção introduzirá a funcionalidade embutida
da aplicação, como o código é organizado, e como a aplicação manuseia as requisições
em geral.
> Info: Por questões de simpicidade, por todo este tutorial de "Primeiros Passos"
assume-se que você definiu `basic/web` como a raiz de documentos do seu
servidor Web, e configurou a URL de acesso de sua aplicação como `http://hostname/index.php`
ou algo semelhantes. Por favor ajuste as URLs em nossas descrições às suas
necessidades.
Funcionalidade <a name="functionality"></a>
--------------
A aplicação básica contém quatro páginas:
* A página inicial, exibida quando você acessa a URL `http://hostname/index.php`,
* a página "About" (Sobre),
* a página "Contact" (Contato), que exibe um formulário de contato que permite
que usuários finais entrem em contato com você via e-mail,
* e a página "Login", que exibe um formulário de login que pode ser usado
para aurenticar usuários finais. Tente fazer o login com "admin/admin", e
você perceberá que o item do menu principal "Login" mudará para "Logout".
Estas páginas compartilham um cabeçalho e rodapé em comum. O cabeçalho contém
uma barra de menu principal que permite a navegação através das diferentes páginas.
Você também deverá ver uma barra de ferramentas no rodapé da janela do navegador.
Essa é uma [ferramenta de depuração](tool-debugger.md) fornecida pelo Yii para
registrar e exibir várias informações de depuração, tais como mensagens de logs,
status de respostas, as consultas de banco de dados executadas, e assim por diante.
Estrutura da Aplicação <a name="application-structure"></a>
----------------------
Os diretórios e arquivos mais importantes em sua aplicação são (assumindo que
o diretório raiz de sua aplicação é `basic`):
```
basic/ caminho base de sua aplicação
composer.json usado pelo Composer, descreve as informações de pacotes
config/ contém as configurações da aplicação e outras
console.php a configuração da aplicação de console
web.php a configuração da aplicação Web
commands/ contém classes de comandos do console
controllers/ contém classes de controllers (controladores)
models/ contém classes de models (modelos)
runtime/ contém arquivos gerados pelo Yii durante o tempo de execução, tais como logs e arquivos de cache
vendor/ contém os pacotes do Composer instalados, incluindo o próprio Yii framework
views/ contém arquivos de views (visões)
web/ raiz da aplicação Web, contém os arquivos acessíveis pela Web
assets/ contém os arquivos de assets (javascript e css) publicados pelo Yii
index.php o script de entrada (ou bootstrap) para a aplicação
yii o script de execução dos comandos de console do Yii
```
Em geral, os arquivos na aplicação podem ser divididos em dois tipos: aqueles em
`basic/web` e aqueles em outros diretórios. Os primeiros podem ser acessados
diretamente via HTTP (ou seja, em um navegador), enquanto os segundos não podem
e nem deveriam.
O Yii implementa o padrão de projeto [modelo-visão-controlador (MVC)](http://wikipedia.org/wiki/Model-view-controller),
que se reflete na organização de diretórios acima. O diretório `models` contém
todas as [classes de modelos](structure-models.md), o diretório `views` contém todos
os [scripts de visões](structure-views.md), e o diretório `controllers` contém
todas as [classes de controladores](structure-controllers.md).
O diagrama a seguir demonstra a estrutura estática de uma aplicação.
![Estrutura Estática de uma Aplicação](images/application-structure.png)
Cada aplicação tem um script de entrada `web/index.php` que é o único script PHP
acessível pela Web na aplicação. O script de entrada recebe uma requisição e
cria uma instância da [aplicação](structure-applications.md) para manejá-la.
A [aplicação](structure-applications.md) resolve a requisição com a ajuda de seus
[componentes](concept-components.md), e despacha a requisição para os elementos
do MVC. São usados [Widgets](structure-widgets.md) nas [views](structure-views.md)
para ajudar a construir elementos de interface de usuário complexos e dinâmicos.
Ciclo de Vida da Requisição <a name="request-lifecycle"></a>
---------------------------
O diagrama a seguir demonstra como uma aplicação gerencia uma requisição.
![Ciclo de Vida da Requisição](images/application-lifecycle.png)
1. Um usuário faz uma requisiçao ao [script de entrada](structure-entry-scripts.md) `web/index.php`.
2. O script de entrada carrega a [configuração](concept-configurations.md) da
aplicação e cria uma instância da [aplicação](structure-applications.md) para
gerenciar a requisição.
3. A aplicação resolve a [rota](runtime-routing.md) solicitada com a ajuda do
componente de aplicação [request](runtime-requests.md).
4. A aplicação cria uma instância de um [controller](structure-controllers.md)
para gerenciar a requisição.
5. O controller cria uma instância da [action](structure-controllers.md) (ação)
e aplica os filtros da ação.
6. Se qualquer filtro falhar, a ação é cancelada.
7. Se todos os filtros passarem, a ação é executada.
8. A ação carrega um modelo de dados, possivelmente a partir de um banco de dados.
9. A ação renderiza uma view, fornecendo a ela o modelo de dados.
10. O resultado renderizado é retornado pelo componente de aplicação
[response](runtime-responses.md) (resposta).
11. O componente *response* envia o resultado renderizado para o navegador do usuário.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment