-->

Frameworks e você. Por que é importante conhecer um framework?

Category : PHP

As pessoas que me conhecem sabem o que penso sobre frameworks, acho que são ferramentas boas, porém restritas que limitam o poder de criação do desenvolvedor. As vezes se tem uma idéia, uma solução, excelente, porém por uma limitação do framwork ou dos métodos disponíveis, a implementação não fica la grande coisa.

No entanto, aqueles que acompanham o PHP a algum tempo, sabe o que os frameworks fizeram pela linguagem. “Padrão” de código só para começar, além de difundir técnicas de desenvolvimento mais modernas, além dos design patterns mais comuns: MVC, singleton e factory.

E por que você deve conhecer um framework? Porque o mercado exige. Simples assim. Recentemente procurei um desenvolvedor para um projeto freelancer, recebi inumeros curriculos, todos eles apontando um ou mais frameworks de PHP, com varíos níveis diferentes de domínio. O interessante disso foi ouvir comentários como: “Eu uso o Cake, porque é mais rápido, não precisa ficar criando varias classezinhas, ele já faz tudo” ou “Eu faço com Zend, pois já estou acostumado”. Todos os selecionados, sem exceção, não cogitaram a possibilidade de desenvolver o projeto sem um framework.

Claro que isso não exime você de conhecer profundamente a linguagem, e sua arquitetura, porém, o que o mercado tem aceito como um bom programador PHP é aquele que usa e domina um framework comercial.

Só para constar, eu prefiro minhas “classezinhas”.

E você o que acha desse tema?

Cast entre objetos PHP

Category : Artigos, PHP

Uma das grandes limitações do PHP5, na minha opnião, é não realizar o cast entre objetos. O PHP permite apenas cast entre tipos primitivos, ou no máximo um object standard, que na maior parte das vezes resolve o que você precisa, mas em um arquitetura mais elaborada isso não é aceito. Para programadores de outras linguagens OO isso é um verdadeiro martirio ou uma limitação imperdoável.

Porém podemos contornar essa falha utilizando um “caster” que nada mais faz do que retornar uma instancia do objeto necessario, caso nosso objeto não seja do tipo especificado:

private function caster($object, $requiredType)
{
    if(get_class($object) != $requiredType)
    {
        return new $requiredType;
    }
}

Com isso é possível que uma classe pai caiba dentro de uma classe filha, com um stdObjetc isso também seria possível, porém em uma arquitetura mais elaborada, isso não seria aceito.

PDO e MySQL com UTF-8

1

Category : Banco de Dados, PHP

Se você esta usando PDO, esta tendo dificuldades com UTF-8 no seu MySQL, mesmo com tudo setado para UTF-8, você pode tentar isso:

$pdo = new PDO(
    ‘mysql:host=localhost;dbname=nomedobanco’,
    "user",
    "pass",
    array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));

 

O último parametro do construtor do PDO é um array com as opções específicas do driver, no caso, do driver od MySQL. Este parametro é alimentado no velho estilo "array" chave=>valor.

Observem que o parametro (PDO::MYSQL_ATTR_INIT_COMMAND) não se trata de uma configuração de charset, mas sim de um comando que é executado todas as vezes que você conecta no banco. Neste caso, todas as vezes que ele se conecta no banco, ele executa a query "SET NAMES utf8" (acho que é específica do MySQL) que diz para o MySQL utilizar UTF-8 como charset para nossa conexão.

Para saber mais:

Fonte:
http://www.laszlo.nu/post/34159352/how-to-use-utf-8-with-mysql-and-php-data-objects-pdo

Tags BlogBlogs: php, pdo, mysql, utf8, unicode