Primeiro Encontro PHP Curitiba 2012

1

Posted by flaviosilveira | Posted in Eventos, Php | Posted on 05-01-2012

Fala Pessoal!

Com bastante orgulho estou organizando o primeiro encontro da comunidade de PHP Curitiba nesse ano de 2012.

A ideia não é apenas um encontro. O objetivo é inspirado nos encontros que tem acontecido do grupo PHPSP em São Paulo, que levam o nome de PHPub. Após acompanhar o feedback e interesse do pessoal via twitter, pensei em trazer isso para cá e com isso reforçar o nosso grupo em Curitiba.

Nesses encontros, além do networking, o objetivo é que todo mundo cresça como profissional, aprendendo, discutindo e resolvendo assuntos pertinentes do dia a dia de trabalho. Para isso o formato escolhido é uma pequena palestra, ou apresentação para iniciar a reunião e após isso abrir para discussões e apontamentos do restante do grupo.

O local será o Tienda Café, que fica em uma região central da Cidade e por isso deve facilitar o acesso. Aqui o link da página do facebook deles para quem quiser conhecer http://www.facebook.com/pages/Tienda-Caf%C3%A9/200759713268850.

Para esse primeiro encontro o principal objetivo é conhecer os interessados e que o pessoal traga suas ideias para adicionar a esse evento. Vamos decidir a frequência e também como incentivar o pessoal a comparecer e participar mais da comunidade.

A coisa promete! Algumas empresas já entraram em contato comigo tanto para patrocínios como para fazer do evento uma formação de bons profissionais e com isso melhorar o mercado de PHP aqui na região. Vamos conversar sobre isso também!

Para isso tudo ser um sucesso a comunidade PHP Curitiba conta com você!

O encontro vai acontecer no dia 11 de Janeiro, quarta feira. A chegada será entre 19:30 e 20:00 horas.
O Tienda café fica na Rua Fernando Simas número 27, na Praça da Espanha, confira pelo google maps http://goo.gl/2YMyZ.

Deixo aqui meu telefone para quem quiser entrar em contato direto comigo para qualquer dúvida ou eventualidade (41) 9117-9862.

UPDATE

Inicialmente o encontro estava programado para o ser no Tizz café, mas eles vão estar de férias até o dia 12 de Janeiro. Por isso mudamos o local. O Tienda café é praticamente do lado do Tizz, então o destino não mudou em nada.

Grande Abraço! Espero vocês lá!

Screencast – Começando Bem com Zend Framework

6

Posted by flaviosilveira | Posted in frameworks, Palestras, Php, Programação em geral, Screencast, zend framework | Posted on 29-12-2011

Salve pessoal!

Gravei esse screencast baseado no mini-curso/palestra que estive apresentando durante esse ano com o título de Começando bem com Zend Framework.

O vídeo não tem edição, foi gravado direto, sem roteiro.
Por isso peço desculpas se acabei atropelando alguma explicação ou se algo não ficar muito claro para alguém, principalmente para iniciantes. Da forma como foi finalizado acabou ficando mais voltado para quem já tem um conhecimento com outros frameworks ou um conhecimento legal de PHP.

Dúvidas? Perguntas? Sugestões? Estamos aí.
Aguardo o feedback de todos.
Grande Abraço!

Alguns Links que aparecem no screencast

Codeigniter 2 – Templates e Layouts

4

Posted by flaviosilveira | Posted in CodeIgniter, Php, Programação em geral | Posted on 26-05-2011

Fala pessoal!

O que mais gera acessos aqui no Blog são os artigos sobre Codeigniter, e principalmente a parte de layouts. É o artigo Habilitando Layouts no CodeIgniter (Template Engine) que está dividido em parte 1 e parte 2.

Como esse artigo tem mais de um ano, resolvi dar um upgrade nele com algumas observações.

Desde que ele foi escrito temos algumas novidades. A principal dela é  o lançamento de uma versão crítica do Codeigniter. Mas não se preocupe, a mecânica do artigo continua funcionando.
Apenas atente para alguns detalhes.

Preste atenção para a parte do seu controller:

  • Agora ele extende da classe CI_Controller e não mais da classe Controller.
  • Agora você não tem de ter mais um método construtor com o mesmo nome da classe. Pode arrancar fora aquilo sem medo.

Outros:

  • No tutorial anterior há uma correção porque eu tratava minha pasta system diferente do convencional. Com a ajuda e os comentários de vocês, foi feita uma correção que está no final do post. Agora na versão 2 está tudo ok. A pasta system vem separada da pasta application.
  • Na versão 2 temos agora arquivos .htaccess, arquivos de configuração, dentro das pastas application e da pasta system. Dentro deles há uma regra para recusar qualquer coisa que tentar acessar a pasta. Certifique-se que, em caso de colocar seus arquivos de estilo, ou seus arquivos javascript dentro de application por exemplo, alterar essa regra no .htaccess.

Então você pode seguir normalmente o tutorial, apenas adapte os detalhes citados acima.
Está com dificuldades ou preguiça? Clique aqui para baixar um exemplo com Layouts em cima do Codeigniter 2.

É isso galera. Abraço!!

Rasmus no Brasil

0

Posted by flaviosilveira | Posted in noticias | Posted on 18-04-2011

Rasmus Lerdorf, criador do PHP, confirmou sua vinda para o Brasil para participar do Fórum de Software livre de Duque de Caxias, que acontece no dia 4 de junho no hotel mont blanc, Duque de Caxias – Rio de Janeiro.

Inscrições para o evento estão abertas e vão até o dia 1 de junho. Isso enquanto houver vagas.

O evento tem o objetivo de divulgar e inserir o uso do software livre em mais camadas da sociedade como instituições de ensino, prefeituras e no meio empresarial. Serão apresentadas palestras técnicas, painéis e cases.

Mais informações você tem no site do evento. http://forumsoftwarelivre.com.br

o FOR além do FOR – PHP

2

Posted by flaviosilveira | Posted in Php, Programação em geral | Posted on 20-11-2010

Salve pessoal!

O Post que trago hoje trata de algo bem simples mas que pode não ser muito comum para algumas pessoas.
São usos não muito populares de um de nossos laços de repetição, o FOR.

Quando estamos aprendendo uma linguagem, bem no início, os manuais parecem mais nos confundir do que ajudar.
O que fazemos ?? Saímos em busca de uma comunicação mais direta em Blogs ou Sites.

Essas fontes resolvem nosso problema mais podem acabar deixando alguns vácuos quando se trata de estruturas básicas, como é o caso do FOR.

E sobre o FOR eu te pergunto o seguinte:
Você sabia que os parâmetros passados para ele são opcionais ??
Você sabia que pode passar quantas variáveis quiser para os parâmetros ??

Se já sabe maravilha, caso não, vamos ver como isso funciona.

Read the rest of this entry »

PodCast – Desenvolvimento Mobile Web

1

Posted by flaviosilveira | Posted in Mobile, Php, Podcast, Programação em geral | Posted on 02-09-2010

Salve Galera!
Hoje deixo aqui o meu podcast relatando minha ida ao PHP SC Conf (http://www.phpsc.com.br/) neste ano de 2010, falando principalmente dos assuntos colocados pelo Bruno Fernandes (@porkaria) em sua palestra Desenvolvimento Mobile Web.

No Podcast:

  • PHP SC Conf
  • Identificação do dispositivo mobile
  • Disparo de SMS
  • Novo Marketing
  • QR Code
  • Ferramentas Web para Mobile
  • Conteúdo de um site Mobile
  • Outros

A trilha sonora é da Banda Auras aqui de Curitiba.
Mais abaixo você tem os links para acompanhar melhor o Cast.

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

Links:
Tera-WURFL – http://www.tera-wurfl.com/wiki/index.php/Main_Page
W3C Mobile – http://www.w3.org/Mobile
Bruno @Porkaria – http://www.porkaria.com.br/
Gerando QRCode com PHP -http://www.porkaria.com.br/2010/04/24/gerando-qr-code-com-php/
PHP Mobile – http://www.phpmobile.com.br/
JQuery Mobile – http://jquerymobile.com/
WordPress Mobile – http://wordpress.org/extend/plugins/wordpress-mobile-edition/


Abraço!

Comparando Arrays e Trazendo os valores diferentes

1

Posted by flaviosilveira | Posted in Php, Programação em geral | Posted on 16-09-2009

Salve pessoal.

Ontem precisei comparar os resultados de dois arrays e deles trazer os valores que estavam em apenas um dos arrays.

A princípio procurei uma função que fizesse isso pra mim, achei que o array_diff fizesse isso para a gente. Mas me enganei! Não achei uma função com esse resultado.

A função array_diff na verdade traz apenas os valores que constam no primeiro array, mas não constam no segundo.
Exemplo:

<?php

$array1 = array("bola", "quadrado", "triangulo");
$array2 = array("esfera", "quadrado", "triangulo");

$result = array_diff($array1, $array2);
print_r($result);

?>

O resultado do código acima nos retorna um array com o valor “bola”.
Pois é o único valor que consta no primeiro array e não no segundo.
Read the rest of this entry »

CodeIgniter: Use a Global $_SERVER no config para ganhar dinamismo com subdomínios.

2

Posted by flaviosilveira | Posted in CodeIgniter, Php, Programação em geral | Posted on 26-07-2009

Cenário:

Você compra o domínio principal, www.site.com.br. E você vai ter duas versões desse site, uma para cada cliente, que vai usar todas as regras de negócio iguais. A única diferença será o layout. Os clientes pediram os subdomínios branco.site.com.br e preto.site.com.br.

Você pode fazer duas cópias do site em pastas diferentes, mas levando em consideração que eles tem o mesmo CORE, isso não é muito inteligente. Pense se você tiver que fazer uma atualização, você vai ter de mexer em ambos os projetos.

Porque não fazer os subdomínios como links simbólicos para uma mesma pasta? De lá você pode fazer uma verificação. Se for um site, pega o layout branco, se for o outro pega o layout preto.

Problema:

No Codeigniter você define a URL principal do seu projeto nos arquivos de configuração, na variável $config['base_url']. Você não vai ter como colocar os subdomínios lá. O que fazer?

Solução:
Usar a Global $_SERVER.

Essa Global traz informações como o host que você está acessando, o email do administrador da máquina, o software usado, a configuração do TimeOut entre outras.

Para que você mesmo visualize tudo isso faça o seguinte. Abra o seu config.php do CodeIgniter e logo acima de onde está setado a variável $config['base_url'] de um print_r, como abaixo:


|--------------------------------------------------------------------------
| Base Site URL
|--------------------------------------------------------------------------
|
| URL to your CodeIgniter root. Typically this will be your base URL,
| WITH a trailing slash:
|
|       http://example.com/
|
*
print_r($_SERVER);
die;
$config['base_url']     = "http://www.site.com.br/";

Read the rest of this entry »

CodeIgniter, Internet Explorer e o tempo de expiração da sessão

12

Posted by flaviosilveira | Posted in Browsers, CodeIgniter, Php | Posted on 17-01-2009

Nesta Quinta-feira antes de sair do trabalho me deparo com uma surpresa no novo sistema que estou trabalhando. O login de acesso havia parado de funcionar no Internet Explorer. No Firefox tudo normal. Chata mania de ficar testando só no Firefox por conta das facilidades como Firebug e WebDeveloper, ai quando vamos testar no browser do usuário acontece essas coisas.

Sexta pela manhã, foi minha primeira tarefa do dia. Achei que seria algo bobo. Realmente era, mas levei 4 horas para descobrir.

Comecei pelos arquivos de JavaScript vendo se estava tudo ok.
Os retornos via ajax do banco estavam ok.
Parti para os controllers que gravam a sessão no browser.
Comentei a biblioteca que faz verificação da sessão para deixar eu acessar livremente a aplicação. Dei um print no valor da sessão, que pelo codeIgniter se verifica assim:

//Não esqueça de chamar o helper session
// Login é o valor que eu estava gravando na sessão
print($this->session->userdata('login'));

// A tradicional global session não funcionará no codeIgniter
print($_SESSION['login']);

No Firefox tudo ok. No Internet Explorer em branco. Que beleza, o Internet Explorer não está deixando escrever na sessão…
Read the rest of this entry »

Erro 500, Timeout Apache, max_execution_time PHP

7

Posted by flaviosilveira | Posted in Apache, Php, Servidor | Posted on 26-12-2008

Cenário: Site que funciona como um painel do cliente, onde ele adiciona produtos que necessita para seu negócio. Há uma área onde de um lado é listado os produtos já adicionados, e do outro os que ele ainda pode adicionar.

Ocorrência: “Sempre demorou para carregar. Funcionava normal. Mas agora quando um cliente tem muitos produtos, não abre. Dá erro 500.”
“No servidor de testes está funcionando, no do ar não. ”

Pesquisa: Fui atrás do tal erro 500. Claro já havia o visto antes, mas não sou daqueles que sabe de cor o significado dos erros de servidor e do apache, e nem dos bips de erro da placa mãe. No segundo cérebro há muitas inconstantes sobre o erro 500. Uns dizem ser erro de permissão, outros de configuração. Felizmente meu Delicious me salvou. Eu tinha salvo esse link com uma lista sobre os erros de servidor há algum tempo.

Agora sim. Erro 500: Algo não foi compreendido pelo servidor.
Certo. Muito bom. Não ajudou muito. Em nada melhor dizendo.
E agora?
Read the rest of this entry »