Evento PHPSC - Chamada de Trabalhos

April 26th, 2008

O Grupo de Usuários de PHP do Estado de Santa Catarina estará promovendo evento em Chapecó oeste do estado em parceria com a UnoChapecó nos dias 20 e 21 de Junho de 2008.

Para tanto faz a chamada de trabalhos a palestrantes interessados em participar do evento que deverão enviar 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 está deverá ter duração de no mínimo 1 hora e no máximo 1:15 hrs e se for mini-curso mínimo 3:30 hrs e máximo 4 hrs. Além disso os assuntos das palestras ou mini-cursos deverão ser pertinentes ao universo PHP e boas práticas de desenvolvimento web.

A seguir modelo de proposta a ser enviado:

Nome do palestrante: Elton Luís Minetto
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ção
deste banco
Adicionalmente serão apresentada as novidades que foram adicionadas ao
Oracle 11g e como estas novidades afetam o PHP
Minicurriculo do palestrante: Elton L. Minetto possui graduação em
Ciência de Computação pela Unochapecó e especialização em Ciência da
Computação pela UFSC . Atualmente é Analista de Sistemas da Unochapecó
e Professor da Unochapecó, ministrando disciplinas de Programação,
Segurança, Sistemas Distribuídos, entre outras. Trabalha com PHP desde
2000 e é autor do livro Frameworks para Desenvolvimento em PHP.
Categoria: Palestra
Duração: 1:15

Contato para estas propostas devem ser enviadas para eminetto@phpsc.com.br.

Uma prévia da grade já está disponível no site a seguir e assim que for fechada a grade oficial esta também será publicada no site do grupo:
http://www.eltonminetto.net/eventoPHP.htm

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




				
				

Novidades no PHP 5.3 um prelúdio da versão 6 – Parte 1

April 21st, 2008

Introdução

Esta série de posts tem como objetivo mostrar as novas características do PHP 5.3 novo release da linguagem que substituirá a atual versão 5.2.5.

É visível nesse novo lançamento que alterações importantes aconteceram no núcleo da linguagem, que além de contemplar melhorias em geral como performance e correção de bugs, apresenta como novas funcionalidades a introdução do Namespaces. Desse modo as alterações apresentadas nesse release irão influenciar como devemos escrever nossos códigos em PHP a partir de agora e já prepara a comunidade de desenvolvedores para o que vem na versão 6.

Entretanto apesar das novidades ainda não teremos o famoso Unicode, porém só por conta das novas funcionalidades incluídas neste release e principalmente por causa da adição do Namespaces, vemos que o PHP avança ainda mais na sua a maturidade em suportar conceitos referentes à Orientação a Objetos. Isso sem comprometer uma de suas principais marcas a simplicidade! As informações aqui divulgadas foram baseadas na apresentação de Ilia Alshanetsky durante a conferência de PHP em Quebec no Canadá no começo de 2008. Sendo que o título original em inglês desta apresentação é “Introducing PHP 5.3”.

1 - Namespaces

A introdução do uso de Namespaces dentro do PHP é uma funcionalidade a muito aguardada pela comunidade. Devido a uma antiga limitação apresentada pela linguagem não era possível ter um nome comum para criar duas classes, mesmo que estas classes estivem em arquivos diferentes. Assim era necessário criar classes onde o nome dela era composto pelo pacote (diretório) onde a classe esta estava mais o próprio nome da classe, solução essa sugerida como padrão pelo PEAR. Dê-se modo se você tive-se duas classes chamadas SQL uma deveria se chamar Banco_SQL onde Banco se refere ao nome do pacote (diretório) que a classe estava e a outra se chamaria por exemplo Persistivel_SQL que se refere ao pacote (diretório) Persistivel. Só assim o PHP conseguia diferenciar qual classe SQL você queria instanciar via o comando new. Contudo a adoção deste padrão de nomeação era só uma sugestão apresentada pelo PEAR e não uma regra. Não raro cada desenvolvedor seguia seu próprio padrão de nomeação.

Justamente por falta da padronização destes nomes longos para criar classes era comum aparecer problemas durante o desenvolvimento de algum sistema, que faze-se uso de classes com o mesmo nome. Isso era problema veja como fica isso depois da 5.3.0.

Exemplo de código sem Namespaces:

PHP:
  1. function MY_wrapper() {}
  2. class MY_DB { }
  3. define('MY_CONN_STR', '');
  4.  
  5. MY_wrapper();
  6. new MY_DB();
  7. MY_CONN_STR;

 

Com Namespaces:

PHP:
  1. namespace MY;
  2. function wrapper() {}
  3. class DB { }
  4. const CONN_STR = '';
  5.  
  6. use MY AS MY;
  7. wrapper();
  8. new DB();
  9. CONN_STR;

Veja como agora não precisamos mais nos preocupar com o pacote basta usar a palavra chave use e especificar o Namespace, deste modo a classe MY_DB vira somente DB. Isso vem a facilitar e muito a vida dos desenvolvedores e supre uma grande lacuna do PHP.

 

Resenha: Frameworks para Desenvolvimento em PHP

April 21st, 2008

Frameworks

Autor: Elton Luis Minetto

Editora: Novatec - 2007

Antes de começar a comentar sobre excelente obra, vamos nos situar sobre o que está acontecendo com a linguagem PHP.

O PHP sempre foi visto como uma linguagem de fácil aprendizado e de grande produtividade, porém que não se “aplicava” a ambientes Enterprises, leiam-se grandes corporações. Sendo que para desenvolver aplicações para estes ambientes optava-se por outras soluções. Além disso, a linguagem sempre era criticada por não ter um suporte consistente à orientação a objetos. Isso era verdade até o fim de 2003 meados de 2004, antes de a versão cinco ser lançada, que na visão deste que escreve é um divisor de águas sobre como programar com PHP.

Um sinal claro que indica como as coisas mudaram a partir do release cinco mostrando que o PHP não está parado no tempo, mas evoluindo. É comparar a quantidade de frameworks que sugiram para facilitar o trabalho de desenvolvedores desde então. É verdade contudo, que existiam frameworks desenvolvidas desde a versão quatro da linguagem, porém sem todo o arsenal de possibilidades introduzidas na sua release de número cinco.

E nesse novo contexto que foi apresentado a comunidade que agora tinha um arsenal de soluções para agilizar o desenvolvimento, surgiram vários questionamentos. Um destes questionamentos que atormenta tanto desenvolvedores como gerentes de projetos, se refere entre outras coisas sobre qual framework adotar? É nesse mar de indagações que o livro Frameworks para Desenvolvimento em PHP, surge como um mapa seguro mostrando possíveis soluções a estas dúvidas.

O autor Elton Minetto nos apresenta as frameworks mais utilizadas do mundo PHP como CakePHP, Symfony, Zend etc. A sua abordagem didática vale ressaltar foi de uma sacada incrível, quando o mesmo projeto é construído nessas três frameworks deixando a cargo do leitor sentir e decidir qual a que melhor opção para aplicar a seus projetos.

A obra começa no seu capítulo 1 então como uma apresentação geral do PHP e sobre porque utilizar frameworks em projetos. Ao fim do capítulo é mostrado o diagrama das tabelas que serão utilizadas pelas frameworks na construção de exemplos de aplicativos.

Já no capítulo 2 começamos a colocar a mão na massa o autor apresenta o CakePHP. O CakePHP é muito fácil de aprender e roda tanto na versão 4 como 5 do PHP. O capítulo apresenta o funcionamento desta ferramenta em suas primeiras páginas citando patterns empregados pela mesma além de outros conceitos inerentes a ela. Em seguida a estrutura de diretórios de uma instalação do CakePHP é mostrada o que facilita a verificação de possíveis erros de instalação que possam ter sido cometidos. Passado essa fase inicial é construído um aplicativo para lidar com as tabelas mostradas no capítulo um. Também são descritos alguns tópicos que mostram o potencial da framework como o uso de Ajax, Validação de Usuários etc. Ao fim do capítulo é apresentado a ferramenta bake que facilita a criação de aplicativos com CakePHP.

No capítulo 3 é visto a Symfony que é umas das frameworks mais utilizadas ao lado da Zend. A Symfony é umas das frameworks que surgiu com a versão cinco da linguagem. Este capítulo segue a mesma estrutura do anterior começando com a instalação e terminando com a construção de um aplicativo.

Já no capítulo 4 é mostrado a framework Zend considerados por muitos a melhor framework atualmente disponível para PHP. Este capítulo também descreve toda funcionalidade da mesma e segue a estrutura dos capítulos anteriores.

E finalmente chegamos ao Capítulo 5 que faz a conclusão do livro, apresentando ainda as frameworks Prado e CodeIgniter. Sobre a primeira pode-se comentar que usa um estilo de programação inspirado na VCL do Delphi. Já a CodeIgniter preza pela simplicidade porém sem abrir mão da criação de aplicações poderosas.

Conclusão Frameworks para Desenvolvimento em PHP vem suprir uma lacuna que faltava para a comunidade brasileira. Apresentando de maneira didática algumas das ferramentas mais avançadas do PHP. É um livro não para se ter na prateleira, mas sim ao lado da mesa sempre aberto! Seja para aprender as frameworks citadas ou quando da construção de uma nova caso o desenvolvedor necessite. Fica como sugestão para uma segunda edição o acréscimo de capítulos que explicassem os conceitos de Orientação a Objetos aplicados ao PHP e um capítulo mesmo que rápido sobre Design Patterns. Porém estas sugestões de modo algum desabonam a primeira edição que é obrigatória na mesa de qualquer desenvolvedor e por isso recomendada como leitura obrigatória.

Alexandre Altair de Melo - 21/04/2008

Resenha: PHP Profissional

April 21st, 2008

PHP Profissional

Autores: Alexandre Altair de Melo / Mauricio G. F. Nascimento

Editora: Novatec - 2007

O livro PHP Profissional, recém lançado pela editora Novatec é uma grande contribuição para a literatura técnica da linguagem PHP.

Escrito por dois profissionais gabaritados no assunto, o livro cumpre o que o seu título promete: auxiliar a profissionalização do programador PHP. Esta profissionalização vai desde a melhora do código até dicas de como abrir uma empresa de tecnologia.

Os capítulos 1 a 4 fazem uma bem objetiva introdução a linguagem, ao ambiente onde ela se encaixa e aos conceitos principais e fundamentais que um programador Web deve conhecer. É uma introdução necessária e bem executada.

Mas a melhor parte do livro começa apartir do capítulo 5, onde os autores se aprofundam em assuntos que fazem a diferença.

O capítulo 5 apresenta uma novidade no PHP, as bibliotecas SPL. A Idéia destas bibliotecas é fornecer diversas facilidades ao programador e devemos nos acostumar a usá-las no dia a dia. Os autores conseguem, através de exemplos provar a utilidade delas . Outro ponto legal é a indicação do que irá ser alterado e acrescentado na vindoura versão 6 do PHP.

Outra característica da linguagem que é muito importante e deve ser mais utilizada são as exceções, característica adicionada no PHP5 e que são apresentadas no capítulo 6.

Os capítulos 7 e 8 são quase complementares. No primeiro é apresentada uma introdução a modelagem UML e no capítulo 8 os padrões de projeto (design patterns). Venho tentando utilizar mais os design patterns em meus projetos e este capítulo é de grande ajuda neste processo. Aqui eles são apresentados de forma clara e objetiva.

No capítulo 9 são apresentados dois frameworks de desenvolvimento, o CakePHP e o Symfony. Este capítulo é muito rápido e serve mais para atiçar a curiosidade do leitor em buscar mais informações. Uma sugestão para a próxima edição do livro seria condensar este capítulo, o 11 e o 15 em um só. Para não ficar capítulos tão pequenos. Mas isso é só sugestão. Não que tenha problemas em ter capítulos pequenos. Tamanho neste caso não tira o mérito de forma alguma do conteúdo.

Os capítulos 12 (XML) e 13 (Webservices para PHP) são de especial interesse para mim. Tenho usado muito XML e SOAP em meus projetos e orientações de acadêmicos e estes dois capítulos serão de grande utilidade para meus alunos pois os exemplos publicados são bem objetivos.

Uma agradável surpresa é o capítulo 16, onde os autores mudam um pouco a visão do leitor, saindo da parte técnica e pensando um pouco na carreira. As dicas são interessantes, desde os detalhes da certificação Zend até as dicas de como abrir uma empresa. Isto é realmente importante pois geralmente nos envolvemos tanto em códigos que esquecemos de outras áreas muito importantes para nossa carreira.

Outra questão que me faz avaliar positivamente este livro é seu potencial como material didático. Eu sou professor de disciplinas de programação Web e a forma como os capítulos estão dispostos, principalmente os quarto primeiros, ajudam o acadêmico a seguir um aprendizado lógico no assunto. Além disto existem exercícios no final dos capítulos, o que ajuda na fixação dos assuntos. E o capítulo 14 ilustra o desenvolvimento de um CMS, desde os conceitos iniciais até a escrita do codigo. Este pode ser um bom exemplo para ser usado em sala de aula. Vou adicionar este livro na bibliografia básica da disciplina.

Elton Luis Minetto - 21/04/2008

HSQL e PHP

March 11th, 2008

Estes dias me deparei com um problema, precisava fazer somas de colunas de valores expressos em notação monetária brasileira (em real) a partir de uma tabela em hsql.

hsql ou hsqldb é um banco de dados desenvolvido em Java. Ele é bem versátil, funciona tanto no modo servidor através do protocolo HTTP, ou com um protocolo próprio, como também no modo embarcado (com menos de 100Kb). Dentre os softwares que estão o utilizando posso citar OpenOffice 2.0, JBoss e aqui no Brasil já encontrei um aplicativo da Receita Federal que também utiliza este BD.

Apesar de ter lido no freshmeat que existia suporte de hsql para PHP, não o encontrei e única solução que me veio a cabeça foi usar a biblioteca JDBC para acessar o banco no php através do suporte a Java no PHP.

Tentei usar a extensão Java com o PHP 5.2.5 no Windows Vista, segui um tutorial do site ONLAMP.com. Só que sempre que criava um objecto Java(), o PHP tinha um crash. Ao buscar por bugs relacionados a isso em bugs.php.net econtrei o #32215: Java Crash onde o Andrey diz que a extensão Java do PHP não é mais mantida e recomenda o uso do PHP/Java Bridge.

Segui o conselho do Andrey, baixei a versão 5.1.2 do PHP/Java Bridge. No site deles a última versão que fazem referência é a 3.2.1 lançada em dezembro de 2006. Mas na área de downloads do projeto no SourceForge.net você encontra versões mais atuais. Tentei usar um tutorial disponível através do site deles para ambiente Windows, sem sucesso. Após algum tempo lendo e pensando em soluções consegui fazer um exemplo bem simples sem usar nenhuma extensão do PHP e que funciona com qualquer JRE (sem a necessidade do JDK).

PHP:
  1. /**
  2. * Modifications to allow the use of Java by PHP/Java Bridge
  3. */
  4. require_once( "Java.inc" ); // Content of http://localhost:8080/JavaBridge/java/Java.inc or JavaBridge.jar/META-INF/java/Java.inc
  5.  
  6. /**
  7. * Example used in PHP.net/Java
  8. */
  9. // get instance of Java class java.lang.System in PHP
  10. $system = new Java("java.lang.System");
  11.  
  12. // demonstrate property access
  13. echo 'Java version=' . $system->getProperty('java.version') . '
  14. ';
  15. echo 'Java vendor=' . $system->getProperty('java.vendor') . '
  16. ';
  17. echo 'OS=' . $system->getProperty('os.name') . ' ' .
  18. $system->getProperty('os.version') . ' on ' .
  19. $system->getProperty('os.arch') . '
  20. ';
  21.  
  22. // java.util.Date example
  23. $formatter = new Java('java.text.SimpleDateFormat',
  24. "EEEE, MMMM dd, yyyy 'at' h:mm:ss a zzzz");
  25.  
  26. echo $formatter->format(new Java('java.util.Date'));

O arquivo Java.inc se comunida com o serviço do JavaBridge, para iniciar você pode digitar o comando java -jar JavaBridge.jar SERVLET:8080 ou executar o start_javabridge.bat que esta disponível no Exemplo do PHP/Java Bridge.

Depois que o Java deixou de ser um problema o JDBC com o hsql foi tranquilo ;-)

Já que o exemplo ficou muito grande com o JDBC resolvi deixar aqui o link para download: Exemplo do PHP com HSQL através de JDBC. Vale lembrar que este exemplo é facilmente modificado para qualquer banco de dados que tenha suporte JDBC, só não se esqueça de mover o driver correspondente que no exemplo é o arquivo hsqldb.jar para a pasta de extensões da JRE.

Acho que isso é tudo. Abraço!

Manutenção

February 16th, 2008

Estamos em manutenção. Equipe PHPSC.Contato
administrador@phpsc.com.br

Outros Links:
Yahoo
http://br.groups.yahoo.com/group/php-santacatarina/