Skip to content

Commit

Permalink
Merge branch 'master' of github.com:yiisoft/yii2 into docs-ja-0519
Browse files Browse the repository at this point in the history
  • Loading branch information
softark committed May 19, 2015
2 parents 64cdef1 + 68351e7 commit 0d59223
Show file tree
Hide file tree
Showing 10 changed files with 247 additions and 62 deletions.
4 changes: 4 additions & 0 deletions docs/guide-pt-BR/db-migrations.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,10 @@ Todas estas ferramentas são acessíveis através do comando `yii migrate`. Nest
em detalhes como realizar várias tarefas usando estas ferramentas. Você também pode descobrir como usar
cada ferramenta através do comando de ajuda `yii help migrate`.

> Observação: os migrations (migrações) podem afetar não só o esquema do banco de dados,
mas também ajustar os dados existentes para se conformar ao novo esquema, como
criar novas hierarquias de RBAC ou limpar dados de cache.


## Criando Migrações <span id="creating-migrations"></span>

Expand Down
4 changes: 2 additions & 2 deletions docs/guide-pt-BR/intro-upgrade-from-v1.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,8 +120,8 @@ $object = Yii::createObject([
], [$param1, $param2]);
```

Mais detalhes sobre configurações podem ser encontradas na seção
[Configurações de Objetos](concept-configurations.md).
Mais detalhes sobre configurações podem ser encontradas na seção de
[Configurações](concept-configurations.md).


Eventos
Expand Down
32 changes: 16 additions & 16 deletions docs/guide-pt-BR/structure-applications.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ caracteres alfanuméricos ao especificar um ID de aplicação.
A propriedade [[yii\base\Application::basePath|basePath]] especifica o diretório
raiz de um sistema. É o diretório que contém todo o código fonte protegido de um
sistema. Sob este diretório, você normalmente verá subdiretórios tais como
`models`, `views`, `controllers`, que contém o código fonte correspondente ao
`models`, `views` e `controllers`, que contém o código fonte correspondente ao
padrão MVC.

Você pode configurar a propriedade [[yii\base\Application::basePath|basePath]]
Expand All @@ -92,7 +92,7 @@ configuradas porque elas variam em diferentes aplicações.

Esta propriedade permite que você defina um conjunto de
[aliases](concept-aliases.md) em termos de um array. As chaves do array representam
os nomes de alias, e os valores são as definições correspondentes. Por exemplo,
os nomes de alias, e os valores são as definições correspondentes. Por exemplo:

```php
[
Expand All @@ -103,8 +103,8 @@ os nomes de alias, e os valores são as definições correspondentes. Por exempl
]
```

Essa propriedade está disponível de modo que você possa definir aliases em termos
de configurações da aplicação ao invés de chamadas ao método [[Yii::setAlias()]].
Esta propriedade é fornecida para que você possa definir aliases na configuração
da aplicação ao invés de chamar o método [[Yii::setAlias()]].


#### [[yii\base\Application::bootstrap|bootstrap]] <span id="bootstrap"></span>
Expand All @@ -124,7 +124,7 @@ seguintes formatos:
- um array de configuração.
- uma função anônima que cria e retorna um componente.

Por exemplo,
Por exemplo:

```php
[
Expand Down Expand Up @@ -168,7 +168,7 @@ também será chamado.

Outro exemplo prático está na configuração do [Template Básico de Projetos](start-installation.md),
onde os módulos `debug` e `gii` estão configurados como componentes de inicialização
quando a aplicação está rodando no ambiente de desenvolvimento,
quando a aplicação está rodando no ambiente de desenvolvimento:

```php
if (YII_ENV_DEV) {
Expand Down Expand Up @@ -196,7 +196,7 @@ em modo de manutenção e precisa tratar todas as requisições através de uma

A configuração é um array, cujo primeiro elemento especifica a rota para a action.
O restante dos elementos do array (pares de chave-valor) especificam os parâmetros
que devem ser atrelados à action. Por exemplo,
que devem ser atrelados à action. Por exemplo:

```php
[
Expand All @@ -213,7 +213,7 @@ que devem ser atrelados à action. Por exemplo,

Essa é a propriedade mais importante. Ela permite que você registre uma lista
de componentes chamados [componentes de aplicação](structure-application-components.md)
que você pode usar em outros lugares. Por exemplo,
que você pode usar em outros lugares. Por exemplo:

```php
[
Expand Down Expand Up @@ -284,7 +284,7 @@ diretório correspondente ao namespace. Por exemplo, dado um ID de controller

É importante que as classes completas e qualificadas possam ser [carregadas automaticamente](concept-autoloading.md)
e que o namespace das suas classes de controller correspondam ao valor dessa
propriedade. Doutra forma, você receberia um erro "Página Não Encontrada" ao
propriedade. Doutra forma, você receberia um erro de "Página Não Encontrada" ao
acessar a aplicação.

Caso você queira quebrar a convenção conforme descrito acima, você pode configurar
Expand Down Expand Up @@ -318,7 +318,7 @@ Essa propriedade especifica os [módulos](structure-modules.md) que uma aplicaç
contém.

A propriedade recebe um array de classes de módulos ou [configurações](concept-configurations.md)
com as chaves do array sendo os IDs dos módulos. Por exemplo,
com as chaves do array sendo os IDs dos módulos. Por exemplo:

```php
[
Expand Down Expand Up @@ -401,7 +401,7 @@ Essa propriedade é disponibilizada como uma maneira alternativa de definir a
timezone do PHP em tempo de execução. Ao confiugrar essa propriedade, você está
essencialmente chamando a função
[date_default_timezone_set()](http://php.net/manual/en/function.date-default-timezone-set.php)
do PHP. Por exemplo,
do PHP. Por exemplo:

```php
[
Expand All @@ -413,8 +413,8 @@ do PHP. Por exemplo,
#### [[yii\base\Application::version|version]] <span id="version"></span>

Essa propriedade especifica a versão da aplicação. Seu valor padrão é `'1.0'`.
Você nem sempre precisa configurar essa propriedade se nenhuma parte do seu código
a está usando.
Você não precisa configurar esta propriedade se nenhuma parte do seu código
estiver utilizando-a.


### Propriedades Úteis <span id="useful-properties"></span>
Expand Down Expand Up @@ -581,7 +581,7 @@ A sintaxe de uso de `on eventName` é descrita na seção

Alternativamente, você pode vincular manipuladores de evento durante o
[processo de inicialização](runtime-bootstrapping.md) após a instância da aplicação
ser criada. Por exemplo,
ser criada. Por exemplo:

```php
\Yii::$app->on(\yii\base\Application::EVENT_BEFORE_REQUEST, function ($event) {
Expand Down Expand Up @@ -622,7 +622,7 @@ O nome do evento é `beforeAction`.

O parâmetro do evento é uma instância de [[yii\base\ActionEvent]]. Um manipulador
de evento pode definir o valor da propriedade [[yii\base\ActionEvent::isValid]]
como `false` para interromper a execução da action. Por exemplo,
como `false` para interromper a execução da action. Por exemplo:

```php
[
Expand All @@ -649,7 +649,7 @@ O nome do evento é `afterAction`.

O parâmetro do evento é uma instância de [[yii\base\ActionEvent]]. Através da
propriedade [[yii\base\ActionEvent::result]], um manipulador de evento pode
acessar ou modificar o resultado da action. Por exemplo,
acessar ou modificar o resultado da action. Por exemplo:

```php
[
Expand Down
53 changes: 26 additions & 27 deletions docs/guide-pt-BR/structure-controllers.md
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ Por exemplo, você pode usar o `article` como o ID do um controller para tratar
dados de artigos.

Por padrão, os IDs dos controllers devem conter apenas esses caracteres:
letras inglesas em caixa baixa, números, underscores (underline), traços e barras.
letras inglesas em caixa baixa, números, underscores (underline), hífens e barras.
Por exemplo, `article` e `post-comment` são ambos IDs de controllers válidos,
enquanto `article?`, `PostComment`, `admin\post` não são.

Expand All @@ -134,22 +134,22 @@ barras são usadas para separar os níveis dos subdiretórios (por exemplo, `pan
### Nomenclatura da Classe do Controller <span id="controller-class-naming"></span>

Os nomes da classes dos controllers podem ser derivadas dos IDs dos controllers
de acordo com as seguintes regras:
de acordo com as seguintes procedimentos:

* Colocar em caixa alta a primeira letra de cada palavra separadas por traço.
Observe que se o ID do controller possuir barras, a regra é aplicada apenas na
parte após a última barra no ID.
* Remover os traços e substituir todas as barras por barras invertidas.
* Adicionar `Controller` como sufixo.
* E preceder ao [[yii\base\Application::controllerNamespace|namespace controller]].
1. Colocar em caixa alta a primeira letra de cada palavra separadas por traço.
Observe que se o ID do controller possuir barras, a regra é aplicada apenas na
parte após a última barra no ID.
2. Remover os traços e substituir todas as barras por barras invertidas.
3. Adicionar `Controller` como sufixo.
4. Preceder ao [[yii\base\Application::controllerNamespace|namespace do controller]].

Segue alguns exemplos, assumindo que o [[yii\base\Application::controllerNamespace|namespace do controller]]
tenha por padrão o valor `app\controllers`:

* `article` deriva-se de `app\controllers\ArticleController`;
* `post-comment` deriva-se de `app\controllers\PostCommentController`;
* `admin/post-comment` deriva-se de `app\controllers\admin\PostCommentController`;
* `adminPanels/post-comment` deriva-se de `app\controllers\adminPanels\PostCommentController`.
* `article` torna-se `app\controllers\ArticleController`;
* `post-comment` torna-se `app\controllers\PostCommentController`;
* `admin/post-comment` torna-se `app\controllers\admin\PostCommentController`;
* `adminPanels/post-comment` torna-se `app\controllers\adminPanels\PostCommentController`.

As classes dos controllers devem ser [autoloadable](concept-autoloading.md).
Por esta razão, nos exemplos anteriores, o controller `article` deve ser salvo
Expand All @@ -165,11 +165,11 @@ categorias e não quiser usar [módulos](structure-modules.md).

Você pode configurar um [[yii\base\Application::controllerMap|mapeamento de controllers]]
para superar as barreiras impostas pelos IDs de controllers e pelos nomes de classes
descritos acima. Isto é útil principalmente quando quiser esconder alguns controllers
descritos acima. Isto é útil principalmente quando quiser esconder controllers
de terceiros na qual você não tem controle sobre seus nomes de classes.

Você pode configurar o [[yii\base\Application::controllerMap|mapeamento de controllers]]
na [configuração da aplicação](structure-applications.md#application-configurations) como o seguinte exemplo:
na [configuração da aplicação](structure-applications.md#application-configurations). Por exemplo:

```php
[
Expand All @@ -194,8 +194,7 @@ Quando uma requisição não especificar uma [rota](#id-da-rota), será utilizad
rota especificada pela propriedade.
Para as [[yii\web\Application|aplicações Web]], este valor é `'site'`, enquanto
para as [[yii\console\Application|aplicações console]] é `help`. Portanto, se uma
URL `http://hostname/index.php` for usada, significa que o controller `site` será
usado nesta requisição.
URL for `http://hostname/index.php`, o controller `site` será utilizado nesta requisição.

Você pode alterar o controller padrão como a seguinte [configuração da aplicação](structure-applications.md#application-configurations):

Expand Down Expand Up @@ -240,13 +239,13 @@ um recurso. Por esta razão, os IDs das ações geralmente são verbos, tais com

Por padrão, os IDs das ações devem conter apenas esses caracteres: letras inglesas
em caixa baixa, números, underscores (underline) e traços. Os traços em um ID da
ação são usados para separar palavras. Por exemplo, `view`, `update2`, `comment-post`
todos são IDs válidos, enquanto `view?`, `Update` não são.
ação são usados para separar palavras. Por exemplo, `view`, `update2` e `comment-post`
são IDs válidos, enquanto `view?` e `Update` não são.

Você pode criar ações de duas maneiras: ações inline (em sequência) e
ações standalone (autônomas). Uma ação inline é definida pelo método
de uma classe controller, enquanto uma ação standalone é uma classe que estende de
[[yii\base\Action]] ou de suas classes filhas. As ações inline exigem menos esforço
[[yii\base\Action]] ou de uma classe-filha. As ações inline exigem menos esforço
para serem criadas e muitas vezes as preferidas quando não se tem a intenção de
reutilizar estas ações. Ações standalone, por outro lado, são criados principalmente
para serem utilizados em diferentes controllers ou para serem distribuídos como
Expand All @@ -258,11 +257,11 @@ para serem utilizados em diferentes controllers ou para serem distribuídos como
As ações inline referem-se a os chamados métodos de ação, que foram descritos anteriormente.

Os nomes dos métodos de ações são derivadas dos IDs das ações de acordo com os
seguintes critérios:
seguintes procedimentos:

* Colocar em caixa alta a primeira letra de cada palavra do ID da ação;
* Remover os traços;
* Adicionar o prefixo `action`.
1. Colocar em caixa alta a primeira letra de cada palavra do ID da ação;
2. Remover os traços;
3. Adicionar o prefixo `action`.

Por exemplo, `index` torna-se `actionIndex` e `hello-world` torna-se `actionHelloWorld`.

Expand All @@ -280,7 +279,7 @@ lugares ou se deseja distribuir uma ação, deve considerar defini-la como uma *
### Ações Standalone <span id="standalone-actions"></span>

Ações standalone são definidas por classes de ações que estendem de [[yii\base\Action]]
ou de suas classes filhas.
ou de uma classe-filha.
Por example, nas versões do Yii, existe a [[yii\web\ViewAction]] e a [[yii\web\ErrorAction]], ambas são ações standalone.

Para usar uma ação standalone, você deve *mapear as ações* sobrescrevendo o método
Expand Down Expand Up @@ -457,7 +456,7 @@ ao seguinte ciclo de vida para concluir a requisição:
* Se o ID da ação for encontrada para corresponder a um método de ação, uma ação inline será criada;
* Caso contrário, uma exceção [[yii\base\InvalidRouteException]] será lançada.
3. De forma sequencial, o controller chama o método `beforeAction()` da aplicação, o módulo (se o controller pertencer a um módulo) e o controller.
* Se uma das chamadas retornar false, o restante dos métodos `beforeAction()` serão ignoradas e a execução da ação será cancelada.
* Se uma das chamadas retornar false, o restante dos métodos subsequentes `beforeAction()` serão ignoradas e a execução da ação será cancelada.
* Por padrão, cada método `beforeAction()` desencadeia a execução de um evento chamado `beforeAction` na qual você pode associar a uma função (handler).
4. O controller executa a ação:
* Os parâmetros da ação serão analizados e populados a partir dos dados obtidos pela requisição;
Expand All @@ -466,14 +465,14 @@ ao seguinte ciclo de vida para concluir a requisição:
6. A aplicação obterá o resultado da ação e irá associá-lo na [resposta](runtime-responses.md).


## Best Practices <span id="best-practices"></span>
## Boas Práticas <span id="best-practices"></span>

Em uma aplicação bem projetada, frequentemente os controllers são bem pequenos na
qual cada ação possui poucas linhas de códigos.
Se o controller for um pouco complicado, geralmente indica que terá que refaze-lo
e passar algum código para outro classe.

Em resumo, os controllers:
Segue algumas boas práticas em destaque. Os controllers:

* podem acessar os dados de uma [requisição](runtime-requests.md);
* podem chamar os métodos dos [models](structure-models.md) e outros componentes
Expand Down
2 changes: 1 addition & 1 deletion docs/guide-pt-BR/structure-entry-scripts.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ Scripts de Entrada

Scripts de entrada são o primeiro passo no processo de inicialização da aplicação.
Uma aplicação (seja uma aplicação Web ou uma aplicação console) possui um único script de
entrada. Os usuários finais fazem requisições a scripts de entrada que criam
entrada. Os usuários finais fazem requisições nos scripts de entrada que criam
as instâncias da aplicação e redirecionam as requisições para elas.

Os scripts de entrada para aplicações Web devem estar armazenados em diretórios
Expand Down
Loading

0 comments on commit 0d59223

Please sign in to comment.