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

Post on 27-May-2015

551 Views

Category:

Technology

14 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

Desenvolvimento de um CMS com

Codeigniter Framework(PHP)

Rafael OliveiraBruna Cultienski

MC-028 | MC-056

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.

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

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

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

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

MVC Model-View-Controller

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.

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

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

MODEL

Estrutura:

Arquitetura MVC

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

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

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

VIEW

Estrutura:

Arquitetura MVC

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

<?phpclass Blog extends Controller {

function index(){

echo 'Hello World!';}

}?>

CONTROLLER

Estrutura:

Arquitetura MVC

 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

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

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

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

Desenvolvimento Aplicação

Desenvolvimento Aplicação

DESENVOLVIMENTO

top related