Skip to content
This repository
Browse code

Merge pull request #1703 from rcoelho/trans-module

Translated basics.module.txt to pt_br.
  • Loading branch information...
commit 9d2840e566e6ab3ec12dd88a7722f7b496e3dcb9 2 parents 9ab8316 + b3ed63c
Qiang Xue authored

Showing 1 changed file with 85 additions and 0 deletions. Show diff stats Hide diff stats

  1. 85  docs/guide/pt_br/basics.module.txt
85  docs/guide/pt_br/basics.module.txt
... ...
@@ -0,0 +1,85 @@
  1
+Módulo
  2
+======
  3
+
  4
+Um módulo é uma unidade de software independente que consiste de [modelos](/doc/guide/basics.model), [visões](/doc/guide/basics.view), [controles](/doc/guide/basics.controller) e outros componentes auxiliares. em muitos aspectos, um módulo lembra uma [aplicação](/doc/guide/basics.application). A principal diferença é que um módulo não pode ser implantado sozinho e ele deve residir em uma aplicação. Usuários podem acessar os controles em um m´dulo da mesma maneira que o fazem com controles normais de uma aplicação.
  5
+
  6
+Módulos são úteis em vários cenários. Para uma aplicalção de grande escala, nós podemos dividí-la em vários módulos, cada um deles desenvolvido e mantido separadamente. Algumas funcionalidades comumente usadas, como o gerenciamento de usuários e o gerenciamento de comentário podem ser desenvolvidas em módulos para que elas possam ser facilmente reutilizadas em projetos futuros.
  7
+
  8
+
  9
+Criando um Módulo
  10
+-----------------
  11
+
  12
+Um módulo é organizado como um diretório cujo nome serve como a sua [ID|CWebModule::id] única. A estrutura do diretório de um módulo é similar ao do [diretório base da aplicação](/doc/guide/basics.application#application-base-directory). Está apresentado abaixo o layout típico da estrutura do diretório de um módulo de nome `forum`:
  13
+
  14
+~~~
  15
+forum/
  16
+   ForumModule.php            o arquivo de classe do módulo
  17
+   components/                contém os componentes reutilizáveis do usuário
  18
+      views/                  contém os arquivos de visão para os widgets
  19
+   controllers/               contém as classes dos controles
  20
+      DefaultController.php   o arquivo de classe do controle padrão
  21
+   extensions/                contém extensões de terceiros
  22
+   models/                    contém os arquivos de classe dos modelos
  23
+   views/                     contém as visões dos controles e os arquivos de layout
  24
+      layouts/                contém os arquivos das visões de layout
  25
+      default/                contém os arquivos das visões do controle padrão
  26
+         index.php            o arquivo da visão "index"
  27
+~~~
  28
+
  29
+Um módulo deve ter uma classe de módulo que estende de [CWebModule]. O nome da classe é determinado usando a expressão `ucfirst($id).'Module'`, onde `$id` refere-se à ID do módulo (ou ao nome do diretório do módulo). Esta classe de módulo serve como o local central para o armazenamento de informações compartilhadas pelo código do módulo. Por exemplo, nós podemos usar [CWebModule::params] para armazenar os parâmetros do módulo, e usar [CWebModule::components] para compartilhar os [componentes da aplicação](/doc/guide/basics.application#application-component) no nível do módulo.
  30
+
  31
+> Tip|Dica: Nó podemos usar o gerador de módulos do Gii para criar o esqueleto básico de um novo módulo.
  32
+
  33
+
  34
+Usando Módulos
  35
+--------------
  36
+
  37
+Para usar um módulo, primeiro coloque o diretório do módulo sub o diretório `modules` do [diretório base da aplicação](/doc/guide/basics.application#application-base-directory). Então declare a ID do módulo na propriedade [modules|CWebApplication::modules] da aplicação. Por exemplo, para usar o módulo `forum` acima, nós podemos usar a seguinte [configuração de aplicação](/doc/guide/basics.application#application-configuration):
  38
+
  39
+~~~
  40
+[php]
  41
+return array(
  42
+	......
  43
+	'modules'=>array('forum',...),
  44
+	......
  45
+);
  46
+~~~
  47
+
  48
+Um módulo pode também ser configurado com valores iniciais para as suas propriedades. Isto é muito similar a configurar [componentes da aplicação](/doc/guide/basics.application#application-component). Por exemplo, o módulo `forum` pode ter uma propriedade chamada `postPerPage` na sua classe de módulo que pode ser configurada na [configuração da aplicação](/doc/guide/basics.application#application-configuration) como se segue:
  49
+
  50
+~~~
  51
+[php]
  52
+return array(
  53
+	......
  54
+	'modules'=>array(
  55
+	    'forum'=>array(
  56
+	        'postPerPage'=>20,
  57
+	    ),
  58
+	),
  59
+	......
  60
+);
  61
+~~~
  62
+
  63
+A instância do módulo pode ser acessada através da propriedade [module|CController::module] do controle atualmente ativo. Através da instância do módulo, nós podemos então acessar as informações que são compartilhadas no nível do módulo. Por exemplo, para acessar a informação em `postPerPage` acima, nós podemos usar a seguinte expressão:
  64
+
  65
+~~~
  66
+[php]
  67
+$postPerPage=Yii::app()->controller->module->postPerPage;
  68
+// ou o seguinte se $this refere-se a uma instância de um controle
  69
+// $postPerPage=$this->module->postPerPage;
  70
+~~~
  71
+
  72
+A ação de um controle em um módulo pode ser acessada usando a [rota](/doc/guide/basics.controller#route) `móduloID/controleID/açãoID`. Por exemplo, assumindo que o módulo `forum` acima tenha um controle chamado `PostController`, nós podemos usar a [rota](/doc/guide/basics.controller#route) `forum/post/create` para fazer referência à ação `create` neste controle. A URL correspondente a esta rota seria `http://www.example.com/index.php?r=forum/post/create`.
  73
+
  74
+> Tip|Dica: Se um controle está em um subdiretório de `controllers`, nós ainda podemos usar o formato de [rota](/doc/guide/basics.controller#route) acima. Por exemplo. assumindo que `PostController` esteja sob `forum/controllers/admin`, nós podemos fazer uma referência à ação `create` usando `forum/admin/post/create`.
  75
+
  76
+
  77
+Módulo Aninhado
  78
+---------------
  79
+
  80
+Módulos podem ser aninhados em níveis ilimitados. Isto quer dizer que um módulo pode conter outro módulo, que pode conter outro módulo, que pode conter ainda outro módulo. Nós podemos chamar o o primeiro deles de *módulo pai* e o último deles de *módulo folho*. Um módulo filho deve ser declarado na propriedade [modules|CWebModule::modules] do seu módulo pai, da mesma maneira que declaramos módulos na configuração da aplicação, como mostrado acima.
  81
+
  82
+Para acessar uma ação de um controle em um módulo filho, nós podemos usar a rota `móduloPaiID/móduloFilhoID/controleID/açãoID`.
  83
+
  84
+
  85
+<div class="revision">$Id$</div>

0 notes on commit 9d2840e

Please sign in to comment.
Something went wrong with that request. Please try again.