Tutorial: Criando um site com CodeIgniter

Está procurando sobre desenvolvimento de sites com CodeIgniter? Então, você está no lugar certo. Neste artigo vou falar um pouco sobre como montar uma estrutura rápida, estendendo o core do CI para facilitar a criação do frontend.

O que é o vídeo tutorial?

Neste tutorial vou explicar rapidamente qual a estrutura que utilizo com CodeIgniter para criar um código limpo, fácil de estender e com possibilidades de trabalhar com templates no futuro.

Em breve quero fazer mais um vídeo explicando como criar sistema de autenticação, utilizando o mesmo conceito, estendendo a CI_Controller.

Redirecionando HTTP para HTTPS

Se você deseja forçar os acessos de um ambiente para https, pode utilizar o script abaixo.

Ele é de fácil adaptação para qualquer aplicação. Lembre-se, como trabalhamos com a função, ele deverá ser uma das chamadas da requisição.

Caso o browser tenha algum output antes de usar essa função, irá imprimir o erro “Erro: “Cannot modify header information – headers already sent” no PHP“.

<?php

if (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off'
    || $_SERVER['SERVER_PORT'] == 443) {
    $params = (!empty($_SERVER['REQUEST_URI'])) ? '?' . $_SERVER['REQUEST_URI'] : '';
    header( 'Location: https://' . $_SERVER['HTTP_HOST'] . $params );
}

Erro: “Cannot modify header information – headers already sent” no PHP

Um dos erros mais comuns, que os programadores iniciantes sofrem é o “Warning: Cannot modify header information – headers already sent by…”. Não se preocupe, todo mundo passa por esse erro ao programar com PHP. Descubra abaixo como é fácil de resolver esse erro.

O motivo do erro “Cannot modify header information”

Antes, vamos a explicação do motivo desse erro acontecer na execução de algum script PHP. É bem provável ele deva ser o erro mais procurado no stack overflow.

O motivo desse warning no PHP é simples, pois funções que enviam ou modificam o cabeçalho da requisição, devem ser chamados antes de o php emitir qualquer output.

As funções que devem ser chamadas antes de qualquer output são:

  • header() / header_remove()
  • session_start / session_regenerate_id()
  • setcookie() / setrawcookie()

Exemplos que irão exibir o erro

Caso você precisa fazer algum redirect, utilizando o header() e logo após tentar escrever algo na página, irá fazer o erro aparecer.

<?php

header("Location: http://www.dicasdephp.com.br/");

echo "Executando o redirect...";

Se você executar o exemplo acima, terá o erro “Cannot modify header information” exibindo na tela.

Como evitar o problema

Antes de mais nada, esse erro pode ser iniciado por problema bem simples, mas que irá fazer você perder muitas horas de trabalho até achar.

Um simples espaço em branco antes de um arquivo <?php, poderá ocasionar o problema.

Também, outro detalhe simples, é na hora de encerrar um arquivo com o ?>, e acabar deixando um espaço ou nova linha em branco no final do arquivo.

Por isso, diversos frameworks, não usam o ?> para encerrar os arquivos.

Dicas para para ajudar a não ter esse erro

  • Procurar por espaço/Tab/enter antes de abrir tag PHP e depois de fechar
  • Quando utilizar arquivos em UTF8, certificar-se de estar usando o UTF8 sem BOM

Caso esse post não tenha lhe ajudado, vamos ao stack overflow, pois lá tem um link com explicação completa do erro.

Vídeo Aula – Tutorial para Criar Plugin para o WordPress

Preparamos uma sequência de vídeos ensinando como criar um plugin para o WordPress. A aula é prática e vai direto ao ponto, utilizando a documentação do WordPress como referência.

Aula 1 – Apresentação

A apresentação da vídeo aula e também o básico da estrutura que será mostrada no final do plugin.

Iremos estudar rapidamente como criar um plugin que transforme um shortcode em uma lista de posts relacionados.

Aula 2 – Programado os posts relacionados

Vamos descobrir como transformar o plugin simples, que construimos na aula 1, em algo dinâmico, retornando posts recém cadastrados no conteúdo do post.

Aula 3 – Compartilhando o plugin

Mostrando um pouco do funcionando de compartilhar o plugin, através de arquivo direto ou realizando a publicação no diretório oficial de plugins do WordPress.


Criando Plugin Completo para o WordPress

Quer avançar e aprender mais sobre toda a estrutura de um plugin para WordPress, recomendamos o curso totalmente online da MX Cursos.

→ Veja mais sobre o curso nesse link.

 

 

Composer: Usando pacotes no PHP

Caso o Composer ainda seja novo para você, esse post vai mostrar o que é, como instalar e usar para começar seus estudos.

Ele é uma ferramenta para gerenciamento de dependências para o PHP que vem ganhando muito espaço entre o desenvolvedores e tornando indispensável.

Com poucos comandos é possível definir todos as bibliotecas necessárias para o seu projeto. Ele ficará responsável por baixar e gerenciar todos os pacotes e configurar seu arquivo de autoloader.

Composer: Pacotes em PHP

O conceito

O conceito é que ele permite que você declare as bibliotecas de seu projeto, e que assim ele irá assumir o gerenciamento (instalação/atualização)-los para você.

Com isso, a instalação e atualização de novas bibliotecas ficará muitoooo mais fácil. Com alguns comandos no terminal, no caso de Linux e OS x, você manterá o projeto atualizado com as dependências.

Para quem já tem experiência com Linux, irá lembrar muito os comandos de “apt-get” dos sistemas Debian/Ubuntu.

Instalando o Composer

Para iniciar, você precisa realizar o download do arquivo phar. Para quem não conhece o phar, ele é um empacotamento de aplicações, de forma que você não precisa ser preocupar com estrutura. Você pode simplesmente baixar e sair usando em qualquer sistema.

Podemos baixar de duas formas distintas: cURL ou próprio PHP.

Download do Composer via cURL

Execute o seguinte comando em seu terminal:

curl -sS https://getcomposer.org/installer | php

Download do Composer via PHP

Execute o seguinte comando em seu terminal:

php -r “readfile(‘https://getcomposer.org/installer’);” | php

Existem outras maneiras de fazer a instalação. Caso prefira, poderá consultar a documentação para verificar a instalação.

Para sair usando, é necessário entender como ele funciona. Deve ter notado diversos frameworks no mercado que ao realizar o download, já vem com o arquivo “composer.json”. Lembre-se, é possível usar em qualquer projeto, pois ele irá auxiliar no controle das dependências do projeto.

Definindo o uso global

Recomendo que você consulte a documentação para verificar como é o funcionamento global. No caso do OS x, necessário mover o composer.phar para o /usr/local/bin/composer.

mv composer.phar /usr/local/bin/composer

Após esse comando é só sair executando pelo terminar. É possível que em determinados projetos tenha problema de permissão, para isso, execute o comando usando o sudo.

Iniciando um projeto PHP com Composer

Depois da instalação feita, é hora de criamos o primeiro projeto. Para iniciar, vamos ao arquivo de configuração.

Lembre-se de criar uma pasta dentro de seu webserver, e nela criar o arquivo de configuração. Poderá usar o modelo abaixo:

{
 "name": "Dicas de PHP",
 "description": "Primeiro projeto via Composer",
 "authors": [
 {
 "name": "Fausto Schneider",
 "email": "[email protected]"
 }
 ],
 "require": {
 "php": ">=5.4.0"
 }
}

Acho que o próprio esqueleto é auto explicativo, mas segue abaixo detalhes do que você precisa preencher:

  • name: Nome do projeto (recomendável, mas não obrigatório);
  • description: Detalhamento do projeto (não obrigatório);
  • authors: Dê os créditos para quem contribuir com o projeto;
  • require: Informe quais são as necessidade do projeto. Nesse caso, obrigamos que seja necessário usar a versão 5.6 ou superior. Se a instalação falhar irá retornar um erro na hora da configuração do projeto;

Adicionando pacotes

Bem, a parte mais divertida é gerenciar os pacotes. Para saber o que adicionar ao seu pacote, poderá usar o Packagist, onde qualquer desenvolvedor pode inserir suas bibliotecas.

Para esse exemplo, vamos usar a biblioteca proem, para criação de rápido MVC. Veja abaixo nosso composer.json:

{
 "name": "Dicas de PHP",
 "description": "Primeiro projeto via Composer",
 "authors": [
 {
 "name": "Fausto Schneider",
 "email": "[email protected]"
 }
 ],
 "require": {
 "php": ">=5.4.0",
 "proem/proem" : "0.7.1"
 }
}

Executando o Composer

Agora, com nosso arquivo de configuração definido, é só executar o comando de instalação:

composer install

Ao verificar sua pasta novamente, notará que existem novos arquivos e pastas. Será criada uma pastar “vendor” e criado o arquivo “composer.lock” que é gerador após a instalação realizada com sucesso.

O último passo é criar um arquivo “index.php” e inserir o seu “autoload”. Veja nosso arquivo exemplo abaixo.

<?php

require 'vendor/autoload.php';

Se curtiu esse breve tutorial, deixe um comentário. Podemos fazer novo tutorial abordando mais detalhes.