Mostrando postagens com marcador programação. Mostrar todas as postagens
Mostrando postagens com marcador programação. Mostrar todas as postagens

4 de jan. de 2012

Symfony: Problema com dados na view (escape)

Dica rápida: já havia usado isso algumas vezes, mas nunca catalogava como snippet ou algo semelhante, hoje precisei novamente e encontrei o link abaixo explicando como obter valores brutos na view.

Veja o post clicando aqui.

3 de fev. de 2011

Singleton extensível

Dica rápida, se você pretende implementar um singleton para ser extendido, conforme o normalmente utilizado:


abstract class App_Model_Abstract {

protected static $_instance = null;

protected function __construct() {

}

public static function getInstance() {
if (self::$_instance === null) {
self::$_instance = new self();
}
return self::$_instance;
}

final private function __clone() {

}
}


você terá problemas, pois ao tentar recuperar uma instância das classes filhas:


ClasseFilha::getInstance();


você estará na verdade recuperando uma instância da classe pai, tirando o fato dela ser abstrata. Para que funcione conforme esperado precisariamos fazer:


abstract class App_Model_Abstract {

protected function __construct() {

}

final public static function getInstance() {
static $aoInstance = array();

$calledClassName = get_called_class();

if (!isset($aoInstance[$calledClassName])) {
$aoInstance[$calledClassName] = new $calledClassName();
}

return $aoInstance[$calledClassName];
}

final private function __clone() {

}
}



Fica a dica!

3 de abr. de 2009

Net Negative Producing Programmer

Muito bom esse post do Akita, recomendo a leitura a programadores e coordenadores/gerentes.

21 de jan. de 2009

Últimos links da comunidade Zend Framework

Recentemente temos vistos vários posts interessantes sobre como deixar os models mais interessantes, continuando na prática de "thin controller, fat model".
Vejam alguns links abaixo.

http://weierophinney.net/matthew/archives/202-Model-Infrastructure.html
http://weierophinney.net/matthew/archives/201-Applying-ACLs-to-Models.html
http://weierophinney.net/matthew/archives/200-Using-Zend_Form-in-Your-Models.html
http://weierophinney.net/matthew/archives/198-Autocompletion-with-Zend-Framework-and-Dojo.html

http://akrabat.com/2008/12/13/on-models-in-a-zend-framework-application/


Segue também esse ótimo trabalho do Pádraic Brady, um livro online grátis sobre Zend Framework, um ótimo guia para quem está começando e quem é veterano no Zend Framework, com ótimas dicas. Está sendo produzido aos poucos, e já está no capítulo 4, este também sobre models :D.
http://survivethedeepend.com/

Boa leitura.

6 de nov. de 2008

Sistema de Blog completo com Zend Framework

A uns meses atrás postei sobre a série de posts no blog do Padraic, a respeito de uma aplicação, um blog feito com Zend Framework.
Muito bem explicado.
O blog dele passou umas semanas fora do ar mas voltou recentemente. Ele já postou falando que irá realizar umas revisões e modificações na aplicação pra acompanhar as novidades do Zend Framework e sugestões dos seus leitores.

Fica a dica, muito boa tanto para programadores que utilizem Zend Framework a muito tempo ou não.

Link: http://blog.astrumfutura.com/comment.php?type=trackback&entry_id=368

3 de nov. de 2008

[POST RÁPIDO] Stored Procedures com Zend Framework

Vou precisar chamar umas procedures no Oracle (no meu caso), e andei dando uma olhada em como fazer com o Zend Framework.

Vamos utilizar como exemplo a seguinte e simples procedure:

create or replace PROCEDURE sp_teste(nome in varchar2, retorno out varchar2)
IS
BEGIN
retorno := 'Seu nome: ' || nome;
return;
END;


Ela apenas recebe uma string e retorna outra.

E para executar a procedure via Zend Framework, podemos utilizar o seguinte código:


try{
// Configura a conexão
$dbConfig = array(
'dbname' => 'SeuTNSName',
'username' => 'SeuUsuario',
'password' => 'SuaSenha');
$db = Zend_Db::factory('Oracle', $dbConfig);

// Cria o statement para chamada da procedure
$stmt = $db->prepare("CALL SP_TESTE(:nome, :retorno)");
// Parâmetro nome para a procedure
$nome = 'Maykon';
$retorno = '';
$stmt->bindParam(':nome', $nome);
$stmt->bindParam(':retorno', $retorno, null, 40); // Variável que receberá o retorno
// Executa a procedure
$stmt->execute();

var_dump($nome);
var_dump($retorno);
} catch(Exception $e) {
echo $e->getMessage();
}


Simples não?

1 de out. de 2008

Desenvolvedores não pensam desenvolvedores seguem casos de uso

Achei bem interessante esse post do Rafael Ponte, vale a pena a leitura tanto to texto em si quanto dos links anexados ao texto, vários outros posts relevantes.

Leiam!

16 de set. de 2008

Dicas - Zend Frameworks

Algumas pequenas dicas que fui acumulando ao longo do tempo:

  • Faz com que caracteres latinos sejam retornados corretamente via Zend_Json (Ajax)
    • Zend_Json::$useBuiltinEncoderDecoder = true;
  • Configurar Zend_Db para rodar comando inicial no MySQL
    • Link
      config.ini
      [database]
      adapter = Pdo_Mysql
      params.host = localhost
      params.username = user
      params.password = pa$w0rd
      params.dbname = dbname
      params.driver_options.1002 = "SET NAMES utf8"

      1002 é o valor para a constante PDO::MYSQL_ATTR_INIT_COMMAND.

1 de set. de 2008

1º evento do CEPUG - Feedback

Galera...quem não foi perdeu, muito bom o evento, os conhecimentos passados, a "energia" que fluiu naquela sala. Muitos colegas e ex-colegas de trabalho, um sentimento estimulador no ar.

Ancioso pelos próximos eventos. Vou ver se deixo a preguiça de lado e elaboro algum material pra palestrar. :D

9 de mai. de 2008

Zend Framework BaseApp

Pra quem está acostumado com o Symfony (sandbox) ou Struts (struts-blank), e sentiu falta de um sandbox/blank pro Zend Framework, há várias opções pela web, uma delas é Zend Framework BaseApp - Application Layer Core, do Kevin Vaughan, entre algumas das implementações/configurações prontas desta opção estão:


  • A core modular structure for the MVC implementation that Zend Framework provides

  • Integrating Smarty Templating System as the basic viewer in a way that is compatible with the current Zend View

  • Integration of Xend_Layout for easy common template usage

  • Configuration through Zend Config XML

  • Application logging through Zend Log

  • Automatic autoloading and relative path references for quick deployment

  • A basic content structure with search engine friendly URLs

  • phpdoc for easier navigation through code



Vale a pena tanto para estudo quanto pra uso. E quem sabe agente ainda veja esse ano o Zend_Build dando as caras, deve ajudar na montagem inicial da infraestrutura das aplicações sobre o Zend Framework.

25 de abr. de 2008

SERPRO adota o Zend Framework

Conforme informou o meu amigo Bruno Viana do Tupi, o Serpro adotou o Zend Framework para desenvolvimento, tendo realizado um estudo com alguns frameworks (não sei quais ainda) e um de seus funcionários, o Flávio Gomes lançado um livro sobre o mesmo.

Só tenho a parabenizar o Flávio Gomes pelo pioneirismo em produzir material sobre o Zend Framework no Brasil e pela sua ampla colaboração com a comunidade nos fóruns, listas e outros pontos de encontro da comunidade desenvolvedora.

Sem falar que ganhamos também :D
Eu que já uso o ZF a um bom tempo e tem se mostrado competente, é outro mundo desenvolver com ele :D

Abraço galera!

13 de fev. de 2008

dotProject versão 3 no Zend Framework

Notícia interessante direto do blog de desenvolvimento do dotProject, informando os planos de refatorar a aplicação para usar o Zend Framework como core, quem sabe agora eu finalmente colaboro com um projeto open source hehe.

Abraços!

17 de ago. de 2007

Maravilhas da Zend e Zend Framework.

Opa galera, longo tempo sem postar, sem tempo na verdade hehe.

E lá vai eu falar de PHP de novo hehe...
Recentemente tive que implementar um controle de acesso nos sistemas em que estou participando, e como estou usando como base o Zend Framework, tento tirar o máximo de proveito dele. Estudei então o Zend_Acl, Zend Access Control List, com ele posso dizer (no meu caso) que usuários ou perfis de usuários podem acessar que controllers, e daqueles controllers, quais ações ele pode executar. Muito útil, ainda mais quando se integra os dados de acesso ao banco de dados :D Não vou me alongar no assunto, visto que existe vasto conteúdo a respeito do Zend_Acl na internet, aproveito para deixar algumas referências:
  • Assembleron Blog (Blog da empresa de um dos Podcasters do Zend Dev Zone, cuja empresa trabalha exclusivamente com PHP e Zend Framework :D)
  • ZFTutorials (Vários links e outros tutorials sobre outros componentes do Zend Framework)
  • ZFFórums (Fórum sobre o Zend Framework)

Outra coisa que queria falar é sobre a "nova IDE" da Zend, o Zend Studio Neon, que está em versão beta, em testes, fui recebi um e-mails (recebi porque respondi umas enquetes deles hehe) para testar a IDE que é baseada no Eclipse PDT (PHP Development Tools), gostei muito, já que sou um Eclipse Lover hehe, juntaram ótimas features do Eclipse com as do Zend Studio, debbuger local e remoto, refactoring, PHPUnit Test, integração com o Zend Framework entre outros, muuuuito show :D Não cheguei a ter muito contato com a IDE mas estou fuçando aos poucos.

Bem é isso, tentarei postar com mais frequência, quem sabe conteúdos mais interessantes, ou então fecharei de vez essa bagaça (revolta #5).

Abraços!