PHP

Include Require em Smarty templates

Algumas vezes precisamos incluir scripts para serem executados no front-end, como recolhimento de cache, fechamento de sessões e por ai vai...

O Smarty a pesar de ser uma ótima ferramenta, possui algumas particularidades que como todo framework precisamos aprender, e olha que muita gente se diz expert no assunto e deixa passar coisas que olhos não viciados conseguem ver rapidamente. É esse o nosso caso.

Smarty templates

Upload via http e chmod 755 X 777

Olá Pessoal,

É muito comum o webdeveloper deixar pastas de uploads em chmod 777, pois isso facilita na execução do script e torna a nossa vida mais fácil, mas temos que pensar que isso também torna nossa vida mais perigosa.

Códigos de resposta HTTP

Códigos de status HTTP

Quando uma solicitação por uma página do seu site for feita ao servidor (por exemplo, quando um usuário acessa a sua página em um navegador ou quando o Googlebot rastreia a página), o servidor retornará um código de status HTTP em resposta à solicitação.

Esse código de status fornece informações sobre o status da solicitação. Esse código também fornece ao Googlebot informações sobre o seu site e sobre a página solicitada.

Alguns códigos de status comuns:

Browser - Webstandards

Muito útil para quem programa quem programa em CSS e webstandars é definir qual o browser do visitante, vai ai uma dica simples em JavaScript:

<script Language="JavaScript">
alert ( navigator.appName + " " + navigator.appVersion );
</SCRIPT>

Com isso você poderá definir as alterações para cada visitante, garantindo que todos recebam o mesmo visual em seu site.

Abraço,
Flavio

Validação de campo

Veja essa pergunta:

"Mudar a cor de um campo obrigatório se ele não for preenchido em php?
Glaera é o seguinte preciso programar em php que um campo mude de cor se ele não for preenchido. Como faço isso programando em php?"

A Camila mandou bem na resposta:
<script>
function mudacor(ref,cor){
ref.style.backgroundColor=cor;
}
</script>
HTML:
<input type="text" name="teste" id="teste" onfocus="mudacor(this,'yellow')" onblur="mudacor(this,'white')">

Conversão String para Array ou Array para String

Você só precisa identificar um separador dentro da string, por exemplo:

"SpyderIt Magazine" está separado por espaço ' '

Vamos dizer que você tenha códigos sempre separados por " . " você pode usar a função explode para transformá-lo em uma array com os pedaços da string, por exemplo:

$cod = "1.1.3";

$arr_cod = explode(".", $cod);

print_r($arr_cod) // irá retornar Array(0=>1,1=>1,2=>3)

para saber quantos pedaços você tem é só:
$qt_unit= count($arr_cod);

para retornar uma das unidades é só identificar o index da array:
$cod_1 = $arr_cod[0];

Redirecionamentos SEO

Uma ferramenta extremamente importante de SEO (Search Engine Optimization) são os redirecionamentos, eles interpretam o endereço requisitado pelo browser e mostram a página correta, vamos a um exemplo:

Suponhamos que você tenha em sua aplicação uma página com o seguinte endereço:

http://seusite.com.br/artigos.php?artigo=75&sid=pkuu889jg23

Página sem extensão no Apache

Pessoal,

Uma ferramenta muito poderosa do Apache é o arquivo .htaccess, é através desse arquivo, geralmente localizado ou salvo no root do servidor (www), que podemos alterar funções e configurações do servidor.

Falaremos mais sobre isso, mas por enquanto, segue um exemplo onde iremos retirar a extensão do url sem afetar o index:

(caso não encontre o arquivo .htaccess , salve um arquivo texto com esse nome no root ou pasta onde deseja alterar as configurações)

#Diz ao apache para ele seguir os links indicados como rota
Options +FollowSymLinks

#Habilita o gerenciamento de url

Retornar constants em array()

Esta função retorna todas as constants definidas em um array()

function returnConstants ($prefix) {
foreach (get_defined_constants() as $key=>$value)
if (substr($key,0,strlen($prefix))==$prefix) $dump[$key] = $value;
if(empty($dump)) { return "Error: No Constants found with prefix '".$prefix."'"; }
else { return $dump; }
}

$const_array[] = array('id' => 0, 'text' => 'Selecione uma constante');
$const=returnConstants('FILE');

Divulgar conteúdo