PageRenderTime 33ms CodeModel.GetById 6ms RepoModel.GetById 0ms app.codeStats 0ms

/pt/tutorials-and-examples/blog/blog.rst

https://gitlab.com/albertkeba/docs
ReStructuredText | 243 lines | 190 code | 53 blank | 0 comment | 0 complexity | 99396e5762c3cb3964584f51f574318b MD5 | raw file
  1. ####
  2. Blog
  3. ####
  4. Bem vindo ao CakePHP. Você provavelmente está lendo este tutorial porque quer
  5. aprender mais sobre como o CakePHP funciona. Nosso objetivo é aumentar a
  6. produtividade e fazer a programação uma tarefa mais divertida: Esperamos que
  7. você veja isto na prática enquanto mergulha nos códigos.
  8. Este tutorial irá cobrir a criação de uma aplicação de blog simples. Nós iremos
  9. baixar e instalar o Cake, criar e configurar o banco de dados e criar a lógica
  10. da aplicação suficiente para listar, adicionar, editar e deletar posts do blog.
  11. Aqui vai uma lista do que você vai precisar:
  12. #. Um servidor web rodando. Nós iremos assumir que você esteja usando o Apache,
  13. embora as instruções para usar outros servidores sejam bem semelhantes.
  14. Talvez tenhamos que brincar um pouco com as configurações do servidor mas a
  15. maioria das pessoas serão capazes de ter o Cake rodando sem precisar
  16. configurar nada.
  17. #. Um servidor de banco de dados. Nós iremos usar o MySQL Server neste tutorial.
  18. Você precisa saber o mínimo sobre SQL para criar um banco de dados. O Cake
  19. pegará as rédeas a partir deste ponto.
  20. #. Conhecimento básico da linguagem PHP. Quanto mais orientado a objetos você
  21. programou, melhor: mas não tenha medo se é de programação procedural.
  22. #. E por último, você vai precisar de um conhecimento básico do padrão de
  23. projetos MVC. Uma rápida visão geral pode ser encontrada em
  24. :doc:`/cakephp-overview/understanding-model-view-controller`.
  25. Não se preocupe, deve ter meia página ou menos.
  26. Então, vamos começar!
  27. Baixando o Cake
  28. ===============
  29. Primeiro, vamos baixar uma cópia recente do CakePHP.
  30. Para fazer o download de uma cópia recente, visite o projeto do CakePHP no
  31. github: `http://github.com/cakephp/cakephp/downloads
  32. <http://github.com/cakephp/cakephp/downloads>`_
  33. e faça o download da última versão 2.0.
  34. Você também pode clonar o repositório usando o `git <http://git-scm.com/>`_.
  35. ``git clone git://github.com/cakephp/cakephp.git``.
  36. Idependente da maneira de como você baixou o Cake, coloque o código obtido
  37. dentro do seu diretório web público. A estrutura dos diretórios deve ficar
  38. parecido com o seguinte::
  39. /caminho_para_diretorio_web_publico
  40. /app
  41. /lib
  42. /plugins
  43. /vendors
  44. .htaccess
  45. index.php
  46. README
  47. Agora pode ser um bom momento para aprender um pouco sobre como funciona a
  48. estrutura de diretórios do CakePHP: Veja a seção
  49. :doc:`/getting-started/cakephp-folder-structure`.
  50. Criando o Banco de Dados do Blog
  51. ================================
  52. Em seguida, vamos configurar o banco de dados correspondente ao nosso blog.
  53. Se você não tiver feito isto, crie um banco de dados vazio para usar neste
  54. tutorial com o nome que desejar. Neste momento, vamos criar apenas uma tabela
  55. para armazenar nossos posts. Também vamos inserir alguns posts para usar como
  56. teste. Execute as instruções a seguir no seu banco de dados::
  57. -- Primeiro, criamos nossa tabela de posts
  58. CREATE TABLE posts (
  59. id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  60. title VARCHAR(50),
  61. body TEXT,
  62. created DATETIME DEFAULT NULL,
  63. modified DATETIME DEFAULT NULL
  64. );
  65. -- Agora inserimos alguns posts para testar
  66. INSERT INTO posts (title, body, created)
  67. VALUES ('The title', 'This is the post body.', NOW());
  68. INSERT INTO posts (title, body, created)
  69. VALUES ('A title once again', 'And the post body follows.', NOW());
  70. INSERT INTO posts (title, body, created)
  71. VALUES ('Title strikes back', 'This is really exciting! Not.', NOW());
  72. A escolha do nome de tabelas e colunas não são arbitrárias. Se você seguir as
  73. convenções de nomenclatura para estruturas do banco de dados e as convenções para
  74. nomes de classes (ambas descritas em
  75. :doc:`/getting-started/cakephp-conventions`), você será capaz de tirar proveito
  76. de muitas funcionalidades do CakePHP e evitar arquivos de configurações.
  77. O Cake é flexivel o bastante para acomodar até mesmo os piores esquemas de
  78. banco de dados legados, mas aderindo as convenções você poupa seu tempo.
  79. Veja :doc:`/getting-started/cakephp-conventions` para mais informações.
  80. Aqui, basta dizer que ao nomear nossa tabela de 'posts', automaticamente
  81. ela será ligada ao nosso model Post e as colunas 'modified' e
  82. 'created' serão "automagicamente" atualizadas pelo CakePHP.
  83. Configurações do Banco de Dados
  84. ===============================
  85. Para o Alto e Avante: Vamos agora avisar ao Cake onde está nosso banco de dados
  86. e como conectar a ele. Para muitos, esta é a primeira e última configuração a
  87. ser feita.
  88. Uma exemplo de arquivo de configuração do banco de dados pode ser encontrado em
  89. ``/app/Config/database.php.default``. Copie este arquivo no mesmo diretório
  90. renomeando-o para ``database.php``.
  91. O arquivo é bem simples: basta alterar os valores da variável $default com os
  92. dados da nossa configuração. Um exemplo completo desta configuração irá se
  93. parecer com esta::
  94. public $default = array(
  95. 'datasource' => 'Database/Mysql',
  96. 'persistent' => false,
  97. 'host' => 'localhost',
  98. 'port' => '',
  99. 'login' => 'cakeBlog',
  100. 'password' => 'c4k3-rUl3Z',
  101. 'database' => 'cake_blog_tutorial',
  102. 'schema' => '',
  103. 'prefix' => '',
  104. 'encoding' => ''
  105. );
  106. Após salvar seu novo arquivo database.php, você estará apto para abrir seu
  107. navegador e ver a página de boas vindas do Cake. A página de boas vindas deverá
  108. lhe mostrar uma mensagem dizendo que seu arquivo de conexão com o banco de dados
  109. foi encontrado, e que o Cake conseguiu se conectar com o banco de dados.
  110. Configuração Opcional
  111. =====================
  112. Existem outros três itens que podem ser configurados. Muitos desenvolvedores
  113. sempre configuram estes itens, mas eles não são obrigatórios para este tutorial.
  114. Uma das configurações é customizar uma string (ou "salt") para ser utilizada nos
  115. hashes de segurança. O segundo é definir um número (ou "seed") para uso em
  116. criptografia. E o terceiro é dar permissão de escrita para o CakePHP na pasta
  117. ``tmp``.
  118. O "security salt" é utilizado para gerar hashes. Altere o valor padrão do salt
  119. editando o arquivo ``/app/Config/core.php`` na linha 187. Não importa muito o
  120. que o novo valor seja, basta que não seja fácil de adivinhar.
  121. ::
  122. /**
  123. * A random string used in security hashing methods.
  124. */
  125. Configure::write('Security.salt', 'pl345e-P45s_7h3*S@l7!');
  126. ?>
  127. O "cipher seed" é usado para criptografar/descriptografar strings.
  128. Altere o valor padrão editando o arquivo ``/app/Config/core.php`` na linha 192.
  129. Como no "security salt", não importa muito o que o novo valor seja, basta que
  130. não seja fácil de adivinhar.
  131. ::
  132. /**
  133. * A random numeric string (digits only) used to encrypt/decrypt strings.
  134. */
  135. Configure::write('Security.cipherSeed', '7485712659625147843639846751');
  136. ?>
  137. A última tarefa é garantir acesso de escrita para a pasta ``app/tmp``. A melhor
  138. maneira para fazer isto é localizar o usuário com que o seu servidor web é
  139. executado (``<?php echo `whoami`; ?>``) e alterar o dono da pasta ``app/tmp``
  140. para este usuário. Você pode executar (em \*nix) o comando a seguir para alterar
  141. o usuário dono da pasta.
  142. ::
  143. $ chown -R www-data app/tmp
  144. Se por alguma razão o CakePHP não conseguir escrever nesta pasta, você será
  145. avisado por uma mensagem enquanto estiver em modo de desenvolvimento.
  146. Uma Palavra Sobre o mod\_rewrite
  147. ================================
  148. Ocasionalmente, um novo usuário irá esbarrar em problemas com o mod\_rewrite,
  149. então vou abordá-los superficialmente aqui. Se a página de boas-vindas do
  150. CakePHP parecer um pouco sem graça (sem imagens, sem cores e sem os estilos
  151. css), isso é um indício de que o mod\_rewrite provavelmente não esteja
  152. funcionando em seu sistema. Aqui estão algumas dicas para lhe ajudar a deixar
  153. tudo funcionando corretamente:
  154. #. Certifique-se de que a sobrescrita de opções do .htaccess está habilitada:
  155. em seu arquivo httpd.conf, você deve ter uma parte que define uma seção para
  156. cada <Directory> do seu servidor. Certifique-se de que a opção
  157. ``AllowOverride`` esteja com o valor ``All`` para o <Directory> correto. Por
  158. questões de segurança e performance, *não* defina ``AllowOverride`` para
  159. ``All`` em ``<Directory />``. Ao invés disso, procure o bloco ``<Directory>``
  160. que se refere ao seu diretório raíz de seu website.
  161. #. Certifique-se de estar editando o arquivo httpd.conf ao invés de algum
  162. específico, que seja válido apenas para um dado usuário ou para um dado site.
  163. #. Por alguma razão, você pode ter obtido uma cópia do CakePHP sem os arquivos
  164. .htaccess. Isto algumas vezes acontece porque alguns sistemas operacionais
  165. tratam arquivos que começam com '.' como arquivos ocultos e normalmente não
  166. fazem cópias deles. Certifique-se de obter sua cópia do CakePHP diretamente
  167. da seção de downloads do site ou de nosso repositório git.
  168. #. Certifique-se de que o Apache esteja carregando o mod_rewrite corretamente!
  169. Você deve ver algo como::
  170. LoadModule rewrite_module libexec/httpd/mod_rewrite.so
  171. ou (para o Apache 1.3)::
  172. AddModule mod_rewrite.c
  173. em seu httpd.conf.
  174. Se você não quiser ou não puder carregar o mod\_rewrite (ou algum outro módulo
  175. compatível) em seu servidor, você vai precisar usar o recurso de URLs amigáveis
  176. do CakePHP. No arquivo ``/app/Config/core.php``, descomente uma linha parecida
  177. com::
  178. Configure::write('App.baseUrl', env('SCRIPT_NAME'));
  179. E remova também os arquivos .htaccess em::
  180. /.htaccess
  181. /app/.htaccess
  182. /app/webroot/.htaccess
  183. Com isto, suas URLs ficarão parecidas com
  184. www.exemplo.com/index.php/nomecontroller/nomeaction/param ao invés de
  185. www.exemplo.com/nomecontroller/nomeaction/param.
  186. Se você está instalando o CakePHP em outro webserver diferente do Apache,
  187. você pode encontrar instruções para ter a reescrita de URLs funcionando na
  188. seção :doc:`/installation/advanced-installation`.
  189. Continue lendo este tutorial em :doc:`/tutorials-and-examples/blog/part-two`
  190. para começar a construir sua primeira aplicação CakePHP.