Removendo acentos de maneira simples em PHP

O php tem uma função chamada strtr que é uma mão na roda para resolver problemas de tirar acentos, o único incoveniente é que os caracteres com acentos devem ser pre configurados …

function removeAcentos($string){
$return = strtr ($string, "ŠŒŽšœžŸ¥µÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýÿ", "SOZsozYYuAAAAAAACEEEEIIIIDNOOOOOOUUUUYsaaaaaaaceeeeiiiionoooooouuuuyy");
return $return;
}

Fácil não ?
Quem deu a “pala” foi o DGmike

Array de Objetos, função para substituir o array_diff

Tem uma coisa em JAVA que eu gosto muito, sao os ArrayList, nada mais é que arrays, porem tem muito mais métodos do que o convencional, o PHP também possui muitos métodos para array, porém o array_diff não funciona bem com array de objetos, e é interessante vc ter um array de objetos… mas enfim para contornar isso criei uma função !

Notem ele pega valores do array de objetos 1 que nao estao no array 2

/**
* $var = o atributo para comparar
*/

 function diff ($var,$array1,$array2){
 $ar_tmp1 = array();//Array temporário para trabalhar com array1
 $ar_tmp2 = array();//Array temporário para trabalhar com array2
 $ar_tmp3 = array();//Array para guardar as keys diferentes
 $ar_return = array();//Array que recoloca os objetos e retorna
 /**
  * Guardando no $ar_tmp1 os valores das keys
  * poderia usar o foreach também, mas uso o for
  * para ficar mais claro as minhas intenções
  */
 for ($i = 0;$i < count($array1);$i++){
  $ar_tmp1&#91;$i&#93; = $array1&#91;$i&#93;->$var;
 }
 /**
  * Guardando no $ar_tmp1 os valores das keys
  */
 for ($i = 0;$i <count ($array2);$i++){
  $ar_tmp2&#91;$i&#93; = $array2&#91;$i&#93;->$var;
 }
 /**
  * A mágica acontence aqui, usamos o array_values para zerar os indices
  * e depois usamos o array_diff que compara as keys, ou seja, valores do $ar_tmp1 que nao
  * estao presente no $ar_tmp2
  */
 $ar_tmp3 = array_values(array_diff($ar_tmp1,$ar_tmp2));
 /**
  * Agora que temos as keys diferentes montamos o array com os objetos
  * referentes as keys
  */
 for ($i = 0;$i < count($ar_tmp3);$i++){
   for ($j = 0; $j < count ($ar_tmp1);$j++){
    if ($array1&#91;$j&#93;->$var == $ar_tmp3[$i]){
     $ar_return[$i] = $array1[$j];
    }
   }
 }
 return $ar_return;
}
/**
 * Para testar
 */
$obj1 = new stdClass();//Classe Standart nativa do PHP
$obj1->id = 1;
$obj1->nome = 'Objeto 1';
$obj2 = new stdClass();
$obj2->id = 2;
$obj2->nome = 'Objeto 2';
$obj3 = new stdClass();
$obj3->id = 3;
$obj3->nome = 'Objeto 3';
$ar1 = array($obj1,$obj2);
$ar2 = array($obj2,$obj3);
print_r(diff('id',$ar1,$ar2));

Para quem gosta de trabalhar com array de objetos, essa seria uma boa função

Converter formato de data do MySQL para o formato BR, em uma linha de código só

O tipo date do MySQL é diferente do tipo de data a qual estamos acostumados, por exemplo o dia de hj no BD ficaria 2008-01-08, o que claramente confunde o usuário, ele pode pensar… “NOOOSSAAA ! Hoje é dia 2008…!” e acabar morrendo de susto 😀 … enfim vamos ao código …

$data_br = implode("/",array_reverse(explode("-",$data_do_bd_mysql)));

//Vou criar a funçao para ficar molezinha para quem quiser ...

function retornaData($data){
return implode("/",array_reverse(explode("-",$data)));
}

Simples não … quero ver agora como faz isso com Python … o Elcio Ferreira talvez ache uma solução …ou meu camarada Tio Mike, ou DGMike

Febre da Programação, confira !

Uma vez, uma profª de Inglês que eu tive, explicou sobre a “Febre do Inglês”, que são sintomas e características que acontecem com as pessoas quando estão há muito tempo fazendo curso de Inglêns (eu tive, levei 10 anos estudando). NO caso do Inglês os sintomas são:
1 – Pensar em inglês; do nada vc começa a ouvir seus pensamentos em Inglês
2 – Cantar uma música nacional com tradução automática; Imagine assim … “Segure o tchan”, vc canta … “Hold tchan, tie tchan”…. o negócio é sério !
3 – Dormir e sonhar que esta falando Inglês com alguém;

Então cheguei a conclusão que os programadores também possuem uma febre, alguns sintomas e características que reparei serem comuns aos que programam a um certo tempo, com uma ressalva, o tempo varia, para uns  começa mais cedo que se imagina…
Sintomas …
1 – Mania de Crtl+S em tudo, e a cada 0,003s ….
2 – Enquanto come, ou “descome”, pensa em linha de códigos
3 – Emitir ruídos estranhos quando um código funciona do tipo: Yeah … E boi… por ae vai…
4 – Na frente do computador, dançar sem música
5 – Enquanto dorme, sonha que está programando
6 – Quando passa um tempo sem programar, sente falta, entenda “um tempo” como algumas horas …
7 – Quando encontra um “ser insano” da mesma espécie, a conversa gira em torna de programação, lógico, vamos falar de que ???
8 – O mais sério de tudo, quando está fazendo algo do cotidiano, comendo, assistindo TV ou algo assim, de repente vc faz alguma besteira, fica procurando o Ctrl+Z ….

PHP em calsses X Progamação OO … ???

Bem pessoal, a POO (progamação orientada em Objeto), chegou para ficar. Linguagens como C, C++ uma das primordiais em OO, tiraram muito proveito, sendo entao inspiração para outras linguagens muito boas como JAVA, particularmente eu me amarro em JAVA. E agora com a possibilidade de implantar OO em PHP, passei a respeitar o PHP e a gostar muito dele … Porém, programar em OO em PHP, vai além de fazer Classes … Se vc fez uma classe PHP, parabéns, vc conhece a sintaxe, mas tem que conhecer o conceito. PHP em classes é diferente de Progamação OO PHP .. A programação OO demanda UML, e UML demanda regras básicas, conceitos de estruturação, e um dos conceitos iniciais do OO e da UML e possibilitar uma manuteabilidade do código, se só vc consegue entender seu código é melhor reavaliar seu UML, por isso há algumas regras simples para aplicar realmente OO na sua programação usando principios da UML. 

1ª – MVC (Model, View, Control), implemente esse padrao de sucesso ! Divida sua classe de negócio da parte visual e da parte de conexão com o BD, eu nesse Blog já falei sobre um controlador.

2ª – Designers Patterns, padrões de projetos, comece com GoF (Group of Fours) os criadores, debulhe os outros, vai adiantar muito seu projeto e organizar.

3ª – Modele, nem que seja num rascunho, modele, aprenda sobre diagramas de classes, e diagramas de caso de uso, vai ajudar a vc arquitetar seu projeto ! PS.: Na hora da modelagem, esqueça a programação, esqueça linha de código, pense como analista !

Aproveite, uma boa programação é muito prazerosa, só os programadores sabem o prazer que há num código belo e funcional !