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.

String Length: Descubra o tamanho de uma string com strlen

Está procurando sobre string length? Então, você está no lugar certo. Neste artigo vou falar um pouco sobre como descobrir o tamanho de um string no PHP utilizando a função strlen.

Definição da função strlen

strlen ( $string )

A função strlen irá retornar o total de caracteres, incluindo espaços, que existem no parâmetro de entrada.

Essa função é muito utilizada para comparação de tamanhos ou verificar se foi passado algum valor para um determinado parâmetro.

Veja os exemplos abaixo de string length com strlen

No exemplo abaixo vamos utilizar a função strlen para verificar se o parâmetro existe ou foi definido.

if(strlen($input) == 0)
      die('A variável $input não pode ser vazia');

No próximo exemplo, vamos retornar o tamanho total da string inserida na função strlen.

echo strlen('Qual o tamanho dessa string?'); // irá retornar o inteiro 28

Substr PHP: 3 dicas de como utilizar essa função

Está procurando sobre substr php? Então, você está no lugar certo. Neste artigo vou falar um pouco sobre o que como utilizar substr no PHP.

A função substr é responsável por retornar um pedaço de uma string, conforme parâmetros desejados.

string substr ( $string , $inicio, $tamanho )

Para começar, precisamos entender o funcionamento da função, que é presente em diversas linguagens de programação, como javascript, C, java e outras.

O primeiro parâmetro é a string que desejamos cortar e pegar somente um trecho. O segundo parâmetro é a partir de qual caracter dessa string, vamos retornar. E o terceiro, é o tamanho máximo a retornar a partir da definição de inicio.

Assim, vamos aos exemplos de uso abaixo.

Retornar os 5 últimos caracteres com substr php

Para retornar os últimos 5 caracteres de uma palavra, vamos definir conforme o exemplo abaixo:

$string = 'Paralelepípedo';

echo substr($string, -5)

// retorno será "ípedo";

Lembre-se, é possível usar o número negativo no parâmetro que irá contar o inicio do corte da string, assim irá contar do final para o inicio da string.

Retornar os 3 primeiros caracteres

Digamos que queremos retornar apenas os 3 primeiros caracteres, por exemplo, dos meses do ano. Veja o exemplo abaixo:

$mes = 'Janeiro';

echo substr($mes, 3);

// retorno será 'Jan';

Retornando a partir do 3 caracter, limitado a 5

Agora vamos utilizar a função substr do php para retornar a partir de um determinado caracter, mas com limitador de tamanho da string.

$exemplo = 'Descrição de um evento';

echo substr($exemplo, 3, 5);

// retorno será 'criçã';

Combinando o uso de substr com strpos

A função strpos, que é responsavél por trazer posição que uma setença acontece dentro de um texto, pode ser combinada com a substr para retornar somente determinado conteúdo.

No exemplo abaixo, queremos retornar apenas o dominio do e-mail, removendo o identificado do usuário.

$email = '[email protected]';

echo substr($email, strpos($email, "@")); 

// irá retornar @dicasdephp.com.br
1 Star2 Stars3 Stars4 Stars5 Stars (33 votos, média: 4,61 de 5)
Loading...