Filed under cakephp

Webcast sobre Frameworks

Depois do sucesso do webcast sobre MySQL o pessoal da ConexTI me convidou para mais duas edições, um sobre frameworks em PHP e outro sobre Zend Framework. O primeiro, sobre frameworks, vai acontecer no dia 09/08 às 19:00.
Mais detalhes no site do evento

Etiquetado , , , ,

Chamada de trabalhos PHPSC Conf 2.0/2009 – Univali, Itajaí

O Grupo de Usuários de PHP do Estado de Santa Catarina está promovendo o evento em Itajaí – litoral do estado – em parceria com a Univali durante a Semana da Computação, nos dias 29 e 30 de Maio de 2009. E no dia 31 de Maio, no mesmo local, será realizado o primeiro TestFest de PHP de Santa Catarina.

Para tanto, faz a chamada de trabalhos a palestrantes interessados em participar do evento, que deverão enviar suas propostas até o dia 30/04/2008. Os trabalhos deverão se encaixar em uma das duas categorias disponíveis para o evento: mini-cursos ou palestras. Se a proposta enviada for uma palestra, esta deverá ter duração de no mínimo 1 hora e no máximo 1h30. Se mini-curso, duração mínima de 3h30 e máxima 4h.

Os assuntos para o evento deste ano foram expandidos, contemplando as seguintes áreas:

- PHP (Frameworks, melhores práticas de desenvolvimento (OO, uso do PHPUnit etc), PHP básico, IDEs para PHP, Banco de Dados e PHP entre outros assuntos);
- Cases de empresas que usaram PHP como solução tecnológica;
- Desenvolvimento ágil Scrum, XP e outras metodologias co-relacionadas;
- Rich Internet (RIA), Jquery, Prototype, Flex, Javascript, CSS;
- Iniciando no desenvolvimento Web (assuntos que envolvam PHP, JavaScript, Design e por onde começar);
- Integração de PHP com outras plataformas e linguagens;
- Como contribuir com a comunidade e como ajudar a corrigir e melhorar o PHP;

Caso a sua proposta se encaixe em um dos temas relatados envie as seguintes informações.

A seguir modelo de proposta a ser enviado:

Nome do palestrante: Fulano
Título da palestra: PHP e Oracle
Nível: Intermediário
Resumo da palestra: A palestra tem como objetivo demonstrar a utilização do banco de dados Oracle com a linguagem PHP. Também será demonstrado dicas de performance específicas na utilizaçãodeste banco. Adicionalmente serão apresentada as novidades que foram adicionadas ao Oracle 11g e como estas novidades afetam o PHP.
Minicurriculo do palestrante: Fulano possui graduação em Ciência de Computação pela universidade X e especialização em Ciência da Computação pela Y. Atualmente é Analista de Sistemas da empresa W e Professor da faculdade Z, ministrando disciplinas de Programação, Segurança, Sistemas Distribuídos, entre outras.
Categoria: Palestra
Duração: 1:15
Currículo: Contendo informações adicionais e se já palestrou em algum evento do gênero.

As propostas devem ser enviadas para conf @ phpsc.com.br.

Maiores informações serão divulgadas durante o[s] meses de Abril/Maio no site do grupo e na lista do Yahoo http://br.groups.yahoo.com/group/php-santacatarina

Reportagem sobre CakePHP

Foi publicada na segunda edição da revista TIdigital uma reportagem sobre o framework CakePHP.

Foi feita uma entrevista com um dos criadores do framework, John David Anderson e profissionais brasileiros que usam a ferramenta: Jhony Maiki Maseto, Tulio Vitor Machado Faria, Oberaldo Büll Junior, João José Carvalho Pedrini e eu.

O PDF da reportagem está disponível neste link

Etiquetado ,

Lock em arquivos usando SVN e Subclipse

Outra novidade para mim ao usar o Subversion foi o controle de Locks. 

Eu sempre usei o CVS integrado ao Eclipse para gerenciar os projetos que eu trabalhava e com essa duplinha é bem fácil configurar para evitar que dois programadores alterem o mesmo arquivo.

Com o Subversion e o Eclipse (usando o plugin Subclipse) eu não encontrei essa opção. A solução que encontrei foi configurar o cliente do subversion para quando criar novos arquivos marcá-los com um flag. Este flag indica que, para editar o arquivo é preciso que seja feito o “lock” antes. No momento de criar o lock o Subclipse também verifica a versão do arquivo e avisa caso a versão local seja inferior a que consta no repositório. Desta forma eu garanto que o programador sempre tenha a última versão do arquivo e evito que duas pessoas alterem o mesmo arquivo ao mesmo tempo. Existem formas de corrigir isso usando práticas de merge, mas eu acho mais fácil evitar o problema do que resolvê-lo :-)

O que eu fiz foi alterar o arquivo config no diretório do usuário:

mate ~/.subversion/config

Eu estou usando o Textmate no MacOSX. Mas o mesmo passo vai funcionar no Linux. No Windows XP o arquivo encontra-se no diretório

c:\Documents and Settings\usuario\Dados de Aplicativos\Subversion\config

Neste arquivo eu alterei 

# enable-auto-props = yes

para

enable-auto-props = yes

E adicionei alinha abaixo na seção  [auto-props]

* = svn:needs-lock

Desta forma, assim que o programador criar um novo arquivo e realizar o primeiro commit é adicionada esta flag ao arquivo. Todos que forem alterá-lo vão passar pela fase “lock-edit-commit”, com um “update” caso seja necessário.

Etiquetado

Promoção de aniversário do site

No dia 04/09/2008 fazem 5 anos que criei este site!

Nestes 5 anos foram 245 posts (246 contando com este), 576 comentários, vários novos amigos e grande conhecimento adquirido.  Realmente foi uma das melhores  práticas profissionais e pessoais que já fiz.

Para comemorar e agradecer aos leitores eu vou sortear duas cópias do meu livro Frameworks para Desenvolvimento em PHP. Autografados e enviados pelo correio. Lembre-se que minha assinatura e mais 15 reais valem uma cerveja em qualquer Night Club do país!!

Para participar é só deixar um comentário nesse post, com nome e e-mail corretos. O sorteio vai ser feito pelo meu pequeno e humilde script para sortear alunos azarados no dia 08/09/2008

Boa sorte e obrigado por ler meu site

Dicas de performance para scripts PHP

Excelente artigo com dicas de performance para scripts em PHP.

Vale a leitura

Criando uma pseudo-coluna no CakePHP

Estou desenvolvendo um sistema grande usando o framework CakePHP e surgiu uma necessidade. Precisava criar uma pseudo-coluna com o resultado do cálculo de outras duas. Seguindo o conceito de MVC, achei mais interessante fazer este cálculo no Model para poder usar em todos os programas que utiizam aquela tabela. 

Para ilustrar isto montei um exemplo. Criei a seguinte tabela:

CREATE TABLE IF NOT EXISTS `clientes` (
  `id` int(11) NOT NULL auto_increment,
  `nome` varchar(100) NOT NULL,
  `sobrenome` varchar(100) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

O Model da tabela ficou da seguinte forma:

class Cliente extends AppModel {

  var $name = 'Cliente';
  var $validate = array(
 	'id' => VALID_NOT_EMPTY,
 	'nome' => VALID_NOT_EMPTY,
 	'sobrenome' => VALID_NOT_EMPTY,
  );

  /*
  funcao que é executada toda vez que é realizado uma consulta na tabela
  esta funcao adiciona o nome completo do cliente ao resultado como uma pseudo-coluna.
  idéia tirada de http://www.paulherron.net/articles/view/cakephp_afterfind_psuedofield
  */
  function afterFind($results) {
     if(isset($results['0']['Cliente'])) {
       foreach ($results as $key => $val) {
         $results[$key]['Cliente']['nome_completo'] = $results[$key]['Cliente']['nome']  . $results[$key]['Cliente']['sobrenome'] ;
       }
    }
   return $results;
  }
}

E na visão eu simplesmente imprimo a pseudo-coluna: 

echo $cliente['Cliente']['nome_completo'];

Simples assim. 

Etiquetado ,
Seguir

Obtenha todo post novo entregue na sua caixa de entrada.

Join 1.472 other followers