Template Engine para PHP5
Disponibilizei ontem um projeto de Template Engine para PHP no github, quem quiser contribuir sinta-se a vontade :)
A idéia é fazer algo bem simples, onde a sintaxe usada é a do próprio PHP, porém com algumas restrições para tentar manter o código mais organizado possível. O projeto não está pronto ainda, faz algum tempo que tenho essa idéia mas só coloquei em prática no final de semana passado.
Então como eu já disse, quem quiser contribuir, não se acanhe, acesse o projeto no github, baixe o projeto, entre em contato comigo, entenda bem a idéia, implemente a suas e me mande um pull request para que elas sejam incorporadas no projeto.
Ah, vale lembrar que para que a contribuição seja aceita, ela precisa estar acompanhada de testes ;)
- Publicado por Rafael Souza as 19:48
- 0 comentários publicados
- Tags: php, programação, projeto
Curl wrapper para PHP5
Sexta-feira passada (23/05) disponibilizei no github um wrapper para cURL utilizando Fluent Interface, para usar é muito fácil:
require_once "lib/Joeh/Net/Curl.php";
$curl = new Joeh_Net_Curl("http://www.joeh.com.br/blog/");
$curl
->followLocation(true)
->userAgent("MyBrowser 0.1")
->referer("http://www.mysite.com.br/");
$response = $curl->execute();
if($response->statusCode() == 200) {
echo "Welcome to Joeh's Blog\n";
}
else {
echo "Oopss, error " . $response->statusCode() . "\n";
}
Se você não usa git pode fazer o download do tarball com os fontes - porém, recomendo que você aproveite a oportunidade e aprenda a usar o git :)
Para quem não conhece git, recomendo ler o excelente Micro Tutorial de Git do Akita, que dá uma boa idéia de como funciona esse excelente controle de versão. Sobre Fluent Interface, recomendo a leitura desse artigo, do próprio autor do conceito.
- Publicado por Rafael Souza as 17:03
- 0 comentários publicados
- Tags: código, php, programação, projeto
strtoupper melhorado - minha versão
O DGmike postou sobre sua função para dar upper em string com caracteres acentuados e eu resolvi postar a minha
public static function toUpper($string) {
if($string === null) {
return $string;
}
if(function_exists("mb_strtoupper")) {
return mb_strtoupper($string, mb_detect_encoding($string));
}
$string = strtr($string, "àáâãäåæçèéêëìíîïðñòóôõöøùúûüý", "ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝ");
return strtoupper($string);
}
Como o código acima faz parte de uma classe com vários métodos para tratamento de strings, ele foi modificado, a linha que testa se a função mb_strtoupper existe na verdade usa uma variável, que carrego no inicio da requisição.
A minha lista de caracteres também não estava tão completa, então copiei da função dele :D
- Publicado por Rafael Souza as 09:40
- 0 comentários publicados
- Tags: código, dica, php, programação
Usando Ubuntu
Como falei nesse post, estou usando o Ubuntu, rodando pelo Windows (foi minha única opção, por enquanto!), e passei um bom trabalho para fazer funcionar o 3G da Claro nele, mas com a ajuda desses três artigos está tudo rodando beleza.
Para mim não funcionou seguindo apenas um deles, mas se não fosse pelo menos a base de cada um não teria conseguido, ou teria demorado mais uma cara de tempo.
Fica a dica então ;)
Mudanças do PHP 5.2.4 para o 5.2.5
Se você usa uma classe de conexão com o banco que estende a classe PDO e sobreescreve o método prepare usando uma assinatura parecida com essa:
public function prepare($statement, array $driverOptions = array()) {
}
A partir da versão 5.2.5 essa assinatura é inválida, gerando um Strict standards error. Para resolver é só retirar o type hint do segundo parametro, ficando assim:
public function prepare($statement, $driverOptions = array()) {
}
- Publicado por Rafael Souza as 13:11
- 0 comentários publicados
- Tags: php, dica
Tirando as Teias
É, deixei esse blog meio abandonado, mas foi por uma boa causa, últimamente os dias andam corrido para mim, ainda estou finalizando a construção da minha casa, então tem dias que não consigo fazer mais nada além de pintar paredes, marcos e janelas, o que faz com que eu tenha que deixar algumas coisas meio de lado.
Semana passada também tive que organizar meu note para instalar um Linux nele, tentei primeiro o Kubuntu com KDE4 mas não rolou, não consegui fazer funcionar o modem da Claro 3G, então depois de horas resolvi instalar o Ubuntu mesmo, funcionou muito melhor e não precisei perder tantas horas para funcionar a internet.
E tudo isso por causa de um novo projeto que vou começar a desenvolver com mais dois amigos meu, esse projeto vai usar Ruby, Merb, Git e um monte de outras coisas que eu quero aprender a usar, e para isso, nada melhor que estar com uma distro Linux redondinha rodando.
A partir de agora vou tentar postar coisas relacionadas aos assuntos citados acima, para tentar ajudar mais a comunidade brasileira.
- Publicado por Rafael Souza as 13:11
- 0 comentários publicados
- Tags: merb, programação, ruby, projeto
