infoeste 2014 - desenvolvimento de um cms com codeigniter framework(php)

20
Desenvolvimento de um CMS com Codeigniter Framework(PHP) Rafael Oliveira Bruna Cultienski MC-028 | MC-056

Upload: rafael-oliveira

Post on 27-May-2015

552 views

Category:

Technology


14 download

DESCRIPTION

Mini Curso introdutório ao Framework Codeigniter na Infoeste 2014 (Semana de computação e informatica)

TRANSCRIPT

Page 1: Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)

Desenvolvimento de um CMS com

Codeigniter Framework(PHP)

Rafael OliveiraBruna Cultienski

MC-028 | MC-056

Page 2: Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)

Visão Geral do CodeIgniter

•O Code Igniter é um framework de aplicações, um conjunto de ferramentas pra quem desenvolve aplicações WEB. •Seu objetivo é facilitar a vida do desenvolvedor web, com suas bibliotecas voltadas pra tarefas comuns, com uma lógica simples possibilitando o de desenvolver projetos mais rapidamente do que se estivesse codificando do 0.

Page 3: Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)

O Code Igniter tem algumas vantagens :

•Gratuito

•disponibilizado sob uma licença de código aberto

• podendo ser utilizado de qualquer maneira.

•Fácil aprendizado

Visão Geral do CodeIgniter

Page 4: Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)

O Code Igniter usa a abordagem Model-View-Controller, que permite a ótima separação entre a lógica a apresentação. Isto é particularmente bom para projetos em que designers estão trabalhando com seus arquivos template, já que o código nestes arquivos será mínimo. Nós explicamos a abordagem MVC em mais detalhes em sua própria página.

Visão Geral do CodeIgniter

Page 5: Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)

As URLs geradas pelo Code Igniter são limpas e amigáveis aos motores de busca. No lugar de usar a abordagem padrão "query string" para as URLs que é sinônimo de sistemas dinâmicos, Code Igniter usa uma abordagem baseada em segmentos:

Query string: http://unoeste.br/site/CursoGraduacao/ExibeCurso.aspx?codigo=26

Seguimentos: http://unoeste.br/site/CursoGraduacao/ExibeCurso/26

Controller Parâmetro 1

Parâmetro 2

Visão Geral do CodeIgniter

Page 6: Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)

O Code Igniter vem Recheado de CoisasEle vem com uma grande variedade de bibliotecas que abrange a maioria das tarefas do desenvolvimento web, como acesso a um banco de dados, mandar e-mail, validar dados de um formulário, manter sessões, manipular imagens, trabalhar com dados XML-RPC e muito mais.

Code Igniter é ExtensívelO sistema pode ser facilmente estendido através de bibliotecas de plugins e assistentes, ou através de extensões de classes ou ganchos de sistema.

Visão Geral do CodeIgniter

Page 7: Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)

MVC Model-View-Controller

Page 8: Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)

Arquitetura MVC

Model View Controller ou Modelo-Visão-Controlador é um padrão de arquitetura de aplicações que visa separar a lógica da aplicação (Model), da interface do usuário (View) e do fluxo da aplicação (Controller). Permite que a mesma lógica de negócios possa ser acessada e visualizada por várias interfaces.

MVC também é utilizado em padrões de projetos de software, entretanto, MVC abrange mais da arquitetura de uma aplicação do que é típico para um padrão de projeto.

Page 9: Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)

Tenha uma coisa em mente: quando pensar em Model, pense em estruturas de dados! Num software baseado em MVC, é o Model que tem o contato com as informações armazenadas e que são mostradas, estejam elas em um banco de dados, arquivo XML, ou onde quer que estejam. É no Model e somente no Model que as operações de CRUD devem acontecer.

MODEL

Arquitetura MVC

Page 10: Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)

class Model_name extends Model {    function Model_name()    {        parent::Model();    }}

MODEL

Estrutura:

Arquitetura MVC

Page 11: Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)

VIEW

É a apresentação, é o que aparece, é o que é visualizado por quem usa o sistema. É no View que as informações, sejam elas quais forem e de de qual lugar tenha vindo, serão exibidas para a pessoa – logicamente acompanhadas de um bomdesign, uma boa estrutura organizacional, um ambiente agradável para quem está vendo, e muitos outros.

Arquitetura MVC

Page 12: Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)

<html><head><title>Meu Blog</title></head><body>

<h1>Bem-vindo ao meu Blog!</h1></body></html>

VIEW

Estrutura:

Arquitetura MVC

Page 13: Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)

CONTROLLER

 Como sugere o nome, é responsável por controlar todo o fluxo do programa. É o “cérebro” e o “coração” do aplicativo; é no Controller que se decide “se”, “o que”, “quando”, “onde” e tudo o mais que faz com que a lógica funcione. Desde o que deve ser consultado no banco de dados à tela que vai ser exibida para quem usa o programa/sistema, é no Controller que tudo isso deve ser definido.

Arquitetura MVC

Page 14: Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)

<?phpclass Blog extends Controller {

function index(){

echo 'Hello World!';}

}?>

CONTROLLER

Estrutura:

Arquitetura MVC

Page 15: Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)

 O Code Igniter tem uma abordagem mais solta em relação ao MVC, já que Models não são obrigatórios. Se você não precisa desta facilidade, ou acha que manter models gerará mais complexidade que você quer, pode ignorá-las e construir sua aplicação apenas usando Controllers e Views. Code Igniter também proporciona que você incorpore seus próprios scripts, ou mesmo desenvolva bibliotecas para o sistema, lhe possibilitando trabalhar de um jeito que faça mais sentido para você.

Arquitetura MVC

Page 16: Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)

Fluxograma da aplicação

O index.php serve como um controlador primário, iniciando os recursos básicos necessários para rodar o Code Igniter.O roteador examina a requisição HTTP para determinar o que deve ser feito com ela.Se já existem o arquivo 'cacheado', ele é enviado diretamente ao browser, pulando as outras etapas de execução.Segurança. Antes da controller de aplicação ser carregado, a requisição HTTP e qualquer dado submetido pelo usuário é filtrado por segurança.O Controller carrega o model as bibliotecas principais, plugins, assisntes e qualquer outro recurso necessário para processar a requisição específica.A View finalizada é renderizada e então enviada ao browser para ser vista. Se o cache está habilitado, a view é 'cacheada' primeiro para que seja servida em requisições subseqüentes.

Arquitetura MVC

Page 17: Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)

Todas as bibliotecas disponíveis estão localizadas em seu diretório system/libraries. Na maioria dos casos, usar uma dessas classes envolve inicializá-la dentro de um controller utilizando a seguinte função:

$this->load->library('classe');

Bibliotecas

Onde classe é a classe que você deseja chamar. Por exemplo, para carregar a classe de validação, você deverá fazer o seguinte:

$this->load->library('validation');

Arquitetura MVC

Page 18: Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)

Desenvolvimento Aplicação

•Cadastro/Alteração/Exclusão/Listagem de Noticias•Uso de sessões para autenticação de usuários. •Uploads de Imagens (Redimensionamento, Conversão e geração de miniaturas) •Integração com Framework Bootstrap (Front-End) para criações de interfaces •Criação do site (Listagem de noticias, paginações, mostra de uma noticias) •Uso de Bibliotecas do Framework (Email, gmaps, xml) **de acordo com o tempo

Page 19: Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)

Desenvolvimento Aplicação

Page 20: Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)

Desenvolvimento Aplicação

DESENVOLVIMENTO