Fluxograma de Dados do CodeIgniter: como tudo funciona

10 de julho de 2009, em Passos Iniciais, por

Agora chegamos a um ponto que estamos quase “metendo a mão na massa”. Continuando com as postagens “pense primeiro, escreva depois”, apresentamos o Fluxograma (Flow Chart) de Dados do CodeIgniter.

É muito, muito importante, mesmo, entender como é o fluxo de dados dentro de um software para se poder aplicar os conhecimentos em cima. Entender por onde os dados “passam” no CodeIgniter é essencial! Sem isso o máximo que conseguiríamos e realizar algumas funções e códigos mecanicamente, sem entender o mínimo do que realmente está se passando no background.

Bem, esse é o fluxograma:

CodeIgniter - Fluxograma de Dados

Fluxograma de Dados do CodeIgniter (clique para ampliar)

Olhando o fluxograma do CodeIgniter, num primeiro momento pode parecer um pouco estranho ou confuso. Mas, mesmo para os que ainda não estão habituados a frameworks e terminologias como “Libraries” e “Helpers” (e que ainda não tenhamos explicado sobre estes), basta “seguir as setinhas” para entender como a coisa toda funciona!  :-)

“Seguindo as setinhas”

Então, vamos ao acompanhamento de um fluxo básico, numa aplicação “normal” no CodeIgniter:

  1. O index.php serve como “controlador principal”, inicializando os recursos necessários para executar o CodeIgniter;
  2. O “roteador” (Routing) examina o pedido HTTP para determinar o que deve ser feito;
  3. Se existe algo em cache, isso é enviado diretamente ao browser, “contornando” o sistema normal execução;
  4. Antes de o Controller da aplicação ser carregado, a requisição HTTP e qualquer dado submetido pelo usuário são filtrados por motivo de segurança;
  5. O Controller carrega o Model, Libraries, Plugins, Helpers e quaisquer outros recursos necessários para a requisição;
  6. O(s) View(s) é(são) finalizado(s) e enviado(s) para ser(em) renderizado(s) pelo navegador – se o cache estiver ativado, o View é  “cacheado” primeiro, de forma que possa ser apresentado em pedidos subsequentes.

Como já citado, não é preciso se preocupar tanto (neste momento) com determinadas nomenclaturas desconhecidas – e lembre-se das explicações sobre MVC (Model, View, Controller). Basta saber que é assim o funcionando “normal” do CodeIgniter para, em momentos futuros, saber com mais facilidade/tranquilidade onde “intervir” para conseguir o(s) resultado(s) que se prentende.

Bem tranquilo… Por enquanto!  ;-)

14 comentários em "Fluxograma de Dados do CodeIgniter: como tudo funciona"

gravatar

Jônatan Fr&oac  em 11 de julho de 2009

Interessante… Poucas pessoas se preocupam em saber como realmente as coisas funcionam.

gravatar

Tárcio Zemel  em 23 de julho de 2009

@ Jônatan Fróes

Mas é justamente esta preocupação que devemos ter: entender como funcinoa o "cerne" da coisa para, em momentos oportunos, sabermos exatamente onde/porque agir.

Obrigado pela visita! Volte sempre!

gravatar

Nei  em 14 de dezembro de 2009

Não vejo a hora de por a mão na massa.

gravatar

David Welber  em 5 de janeiro de 2010

Olá Tárcio,

Estou começando agora a olhar para a cara do CI.
Eu atualmente não trabalho com nenhum framework, e em uma viajem a BH-MG eu descobri a verdadeira utilidade de se usar um framework.

Obrigado pelo esclarecimento.

Ha, se tiver um guia de usuário em português disponível para download na Internet, por favor!!! me mande por Email…

Mais uma vez Obrigado, parabéns pelo Blog!!

gravatar

Tárcio Zemel  em 8 de janeiro de 2010

@ David Welber

É, realmente há muitas vantagens em se usar um framework, algumas delas você pode conferir no artigo "O que é um framework: definição e benefícios de se usar frameworks".

Quanto ao Manual do Usuário em português, você pode encontrar em nosso colega e homônimo, mas não sei se eles acompanham as atualizações e estão sempre juntos com a versão mais recente do CI.

Abraços!

gravatar

Marlon  em 28 de fevereiro de 2010

Kra parabéns pela abordagem,
mas percebi que os hooks não foram tratados, pesquisei um pouco sobre os hooks, pelo que entendi são classes iniciadas antes ou depois de carregar o controller, é isso mesmo?
conhece algum tutorial, para que eu possa me aprofundar neste assunto?
vlw mano, abraço
fica com Deus

gravatar

Tárcio Zemel  em 11 de março de 2010

@ Marlon

Na verdade os hooks ainda serão abordados. Mexer com hooks é um pouco mais avançado e, como se está seguindo uma ordem de evolução didática, para facilitar o aprendizado, somente no futuro esse assunto será tratado.

De qualquer forma, se quiser adiantar, há uma seção sobre hooks no manual oficial do CodeIgniter.

gravatar

Johnny Schmidt  em 26 de novembro de 2011

Eu estou entrando no mundo do CodeIgniter agora, e o blog esta me ajudando muito com essas esplicações. E também acho muito importante conhecer a coisa toda, não soh o basico para sair fazendo.
Obrigado ai.

gravatar

Tárcio Zemel  em 28 de novembro de 2011

Por nada, Johnny! Apareça mais vezes! ;-)

gravatar

Yan  em 3 de setembro de 2013

Parabéns pelo Post.

Realmente queria entender aonde estava toda a magia do CI de que tanto me falavam, e acho que pude visualizar através deste fluxograma. Ter uma view carregada no cache do browser implica em menos requisições no servidor, deixando minha aplicação mais rápida. Estou aprendendo bastante com o blog.

Comente!