quarta-feira, 25 de julho de 2012

CodeIgniter



CodeIgniter é um framework PHP poderoso, construído para programadores PHP que precisam de um conjunto de ferramentas simples e elegante para criar aplicações web completa. Sua estrutura usa o padrão MVC. Atualmente esta não versão 2.1.2 Confira.!.



LICENÇA DE USO ATÉ A VERSÃO 3.0

Um pouco confusa de se entender, mas vamos lá. Segundo consta na documentação do CodeIgniter se tem permissão para usa, copiar, modificar e distribuir o Software e sua documentação, com ou sem modificação, para qualquer finalidade, desde que se atenda as seguintes condição:

  • Uma cópia do contrato de licença deverá ser incluído na distribuição (Contrato)
  • As redistribuição do código fonte devem reter o aviso de copyright acima em todos os arquivos de código fonte
  • As redistribuições em forma binária devem reproduzir o aviso de copyright acima na documentação e/ou outros materiais fornecidos com a distribuição.
  • Quaisquer arquivos que foram modificados devem conter avisos indicando a natureza da alteração e os nomes daquele que mudaram-los.
  • Produtos derivados do software devem incluir o reconhecimento de que eles são derivados de CodeIgniter em sua documentação e/ou em outros materiais fornecidos com a distribuição.
  • Produtos derivados do software não pode ser chamado de "CodeIgniter", nem pode "CodeIgniter" em seu nome, sem prévia permissão por escrito da  EllisLab Inc.

Pontos extremamente importante:

  1. Indenização: Ao usar o CodeIgniter, você concorda em indenizar e defender os autores do software e eventuais contribuições para quaisquer efeitos diretos, indiretos, incidentais ou consequentes reclamações de terceiros, ações ou fatos, bem como de quaisquer despesas, responsabilidades , danos, acordos ou honorários decorrentes de seu uso ou mau uso do software ou uma violação de quaisquer termos de licença.
  2. Isenção de garantia: o software é fornecido "como está", sem qualquer tipo de garantia, expressa ou implícita, incluindo, mas não se limitando a garantias de qualidade, desempenho, na violação, comerciabilidade ou adequação a uma finalidade específica.
  3. Limitações de responsabilidade: você assumi todos os riscos associados com a instalação e utilização do software. Em nenhum caso o autor ou direitos de autos do software pode ser responsabilizado por reclamações ou outros danos decorrentes da responsabilidade civil, a partir de ou em conexão com o software. Titulares de licença são os únicos responsáveis por determinar a adequação do uso e assumir todos os riscos associados à sua utilização, incluindo mas não limitados aos riscos do programa, erros, danos aos equipamentos, perda de dados ou programas ou indisponibilidade ou interrupção de operações.

A partir da versão 3.0
O codeIgniter está sendo relicenciado para a Open Software License v. 3.0, OSL 3.0 (Detalhes). Em termos gerais e em relação ao codeigniter, concede uma licença mundial, isenta de royalties, não exclusiva e Sublicenciável de:
  • Concessão de Licensa de Direitos Autorais
  • Concessão de Licença de Patentes
  • Concessão de Licensa do código fonte
  • Eclusões de Concessão de Licença
  • Concessão de "implantação externa"
Entenda melhor: Cliquei aqui.!


INSTALAÇÃO E CONFIGURAÇÃO

Como a demonstração será em um servidor instalado localmente, inicialmente é necessário instala-lo. Use a configuração inicial do servidor como mostra o Link01 para o S.O. windows e o Link02 para o S.O. Linux; Após ter o servidor configurado, acesse o site do codeigniter(Site) e clique no link de download como mostra a imagem as seguir:


Após baixa-lo, extraia os arquivos dentro da pasta onde está o index.php do seu servidor, usando o servidor do Link01 a pasta é C:\xampp\htdocs. Após descompactar o arquivo teremos a pasta d o codeigniter com a estrutura da imagem abaixo:



Encontrei uma material na internet que apresenta o objetivo de cada pasta:
  • A pasta de system armazena todos os arquivos que fazem CI trabalho.
    • A pasta application é quase idêntica ao conteúdo da pasta de  system isso é para que o usuário pode ter arquivos que são específicos para que a aplicação, por exemplo, se um usuário só queria carregar um ajudante em uma aplicação que iria colocá-lo na pasta  system/application/helpers em vez da pasta  system/helpers.
      • A pasta config armazena todos os arquivos de configuração pertinentes a aplicação. Que inclui informações sobre o que libaries do aplicativo deve carregar automático e detalhes de banco de dados.
      • A pasta controllers armazena todos os controladores para a aplicação.
      • A pasta de errors armazena todas as páginas de erro do modelo para a aplicação.Quando um erro ocorre a página de erro é gerado a partir de um destes modelos.
      • A pasta helpers armazena todos os ajudantes, que são específicos para sua aplicação.
      • A pasta hooks é para ganchos que modificam o funcionamento dos arquivos da CI do núcleo, ganchos deve ser usado apenas por usuários avançados de IC
      • Os armazena language de pasta linhas de texto que podem ser carregados através da linguagem biblioteca para criar sites multilíngües.
      • A pasta de libraries armazena todas as bibliotecas que são específicos para sua aplicação.
      • A pasta models armazena todos os modelos para a aplicação.
      • A pasta views armazena todos os pontos de vista para a aplicação.
    • A pasta cache armazena todos os caches gerados pela biblioteca cache.
    • A pasta codeigniter armazena todos os internos que fazem CI trabalho.
    • A pasta  database armazena todos os drivers de banco de dados e de classe que lhe permitem conectar ao banco de dados.
    • A pasta de fonts armazena todas as fontes que podem ser utilizados pela biblioteca de manipulação de imagem.
    • A pasta helpers armazena todos os de ajudantes CI do núcleo, mas você pode colocar seus próprios colaboradores aqui o que pode ser acessado por todos os seus aplicativos.
    • A pasta de  language  armazena todos os arquivos da CI linguagem núcleo que seus libaries e ajudantes usar. Você também pode colocar suas próprias pastas de idioma que podem acessados ​​por todos os seus aplicativos.
    • A pasta libaries armazena todos libaries CI do núcleo, mas você pode colocar suas próprias bibliotecas aqui o que pode ser acessado por todos os seus aplicativos
    • A pasta de logs armazena todos os logs gerados pelo CI.
    • A pasta plugin armazena todos os plugins que você pode usar. Plugins são quase idênticos para ajudantes, plug-ins são funções que deverão ser compartilhados pela comunidade.
    • A pasta  scaffolding  armazena todos os arquivos que fazem o trabalho da classe andaimes. Andaimes fornece um CRUD conveniente como interface para acessar informações em seu banco de dados durante o desenvolvimento.
  • user_guide abriga o guia do usuário à CI.
  • O arquivo index.php é o pouco que faz toda a magia do CI também permite a você mudar o
    nome do  system  e pastas de  application.
Agora precisamos informar ao CodeIgniter, a URL base do diretório em que ele foi instalado. Isso é feito dentro da pasta extraída no arquivo config.php, localizado no diretório application/cofing. Abra o arquivo e altere a o trecho:

  • $config['base_url'] = '';
Entre as aspas informe a URL base do diretório em que ele foi instalado. No nosso caso o endereço é:
  • $config['base_url'] = 'http://localhost/CodeIgniter_2.1.2/'


Agora configure o Banco de dados no arquivo database.php na pasta application/cofing. Lá informe os dados do seu banco, como mostra a imagem abaixo.




Pronto. Agora podemos iniciar um projeto utilizando o framework.

No youtube encontrei um material muito bom sobre como trabalhar com o CodeIgniter de Ademar Gomes.
-Introdução
-Começando a programar (controllers)
-Começando a programar (views)
-CodeIgniter - Video 4 - Começando a programar (forms)
-Lista completa


Além de obvio é bom lembrar que é extremamente necessário ter conhecimento sobre a linguagem PHP.

Gerador de codigo para formulários codeigniter: http://formigniter.org/app/


Fonte:
-Fonte 01
-Fonte 02
-Fonte 03
-Fonte 04
-Fonte 05
-Fonte 06

Nenhum comentário:

Postar um comentário