Archive

Archive for the ‘PHP’ Category

Geo-localização fácil com MaxMind #screencast

July 12th, 2010 Ved 12 comments
Categories: PHP Tags: ,

2 vagas para trabalho home office

January 20th, 2010 Ved 2 comments

Não, não: ainda não é para trabalhar na linda e vitaminada RIA Labs! =D

Meu amigo Marcelo Oliveira, da Netsar Tecnologia, está com duas vagas. Veja abaixo.

Importante: estou apenas repassando. Maiores detalhes apenas através do e-mail informado.

A Net Sar Tecnologia, empresa que atua em desenvolvimento de softwares para o setor de turismo, contrata profissionais com o seguinte perfil:

1) Experiência mínima de 2 anos em PHP(preferencialmente PHP5)
2) Experiência mínima de 2 anos em Java
3) Experiência com EJB3 (essencial)
4) Experiência com JPA e Hibernate (essencial)
5) Experiência com Jboss Seam (essencial)
6) Experiência com Flex 3(diferencial)

Oferecemos:
HomeOffice, o trabalho é 100% remoto, você não deixa o conforto de sua casa Contratação PJ, a vaga não é temporária, é efetiva, para compor nossa equipe
Valor combinado e reajustado de acordo com o desempenho na função.

Apenas envie seu CV se você cumpre PLENAMENTE todos os requisitos essenciais

Aos interessados, enviar CV para:
rh@netsar.com.br

 

A Net Sar Tecnologia, empresa de desenvolvimento de sistema, com foco na área de turismo, contrata profissional(1) com o seguinte perfil:

1) Mínimo 3 anos de experiência com PHP (preferencialmente PHP5)
2) SQL avançado, conhecimento de MySQL é um diferencial.
3) Conhecimento avançado em OO.
4) Conhecimento em Design Patterns é um diferencial.
5) Organização e Proatividade
6) Disciplina para trabalhar home-office.

Tipo Contratação:
1) Home-Office: Oportunidade de trabalhar do conforto de sua casa e ter um emprego estável.
2) Ótimas oportunidades de crescimento e projetos bem interessantes.

CVs que não se encaixarem no perfil acima serão excluídos, não temos outras vagas em aberto.

Aos interessados, enviar CV para:
rh@netsar.com.br

 

Categories: Flex, Mercado, PHP Tags:

Ved Cookbook – episódio 3 – Configurando e Utilizando o ZendAMF

October 7th, 2009 Ved 28 comments

Neste episódio será feita a configuração do ZendAMF, utilizado para conectar uma interface Flex ao PHP. O código gerado durante a gravação está disponível ao final do post.

Dica: assista em tela cheia.

Ved Cookbook – episódio 3 – ZendAMF from Fabio Vedovelli on Vimeo.

>

Livro Flex + PHP – Daniel Pace Schmitz

July 9th, 2009 Ved 6 comments

Saiu o novo livro do Daniel. Bora prestigiar o autor brasileiro, galera!

Resenha:

9788575221884O livro Desenvolvendo Sistemas com Flex e PHP tem o objetivo de introduzir os principais conceitos sobre o desenvolvimento de um sistema web, utilizando as tecnologias PHP e Flex. Serão abordadas também outras tecnologias, tais como MySQL, AMFPHP, WAMPServer e CPanel. Ensina como criar um software desde o princípio, abordando todos os passos para a correta comunicação entre o Flex e o PHP, além de facilitar a programação e empregar a segurança necessária para diminuir a exposição de vulnerabilidades no software.

Também é abordada a união entre as empresas Adobe e Zend, que estão trabalhando juntas para a integração de suas tecnologias, proporcionando uma melhoria significativa entre o Flex o PHP.

Após a criação do software, o autor explica como colocar o software no ambiente de produção, por meio da ferramenta CPanel, conhecida mundialmente nos servidores de hospedagem que utilizam PHP e MySQL.

Mais detalhes

Categories: Flex, PHP Tags: , , ,

Mentoring

August 27th, 2008 Ved 2 comments

As vezes eu gostaria de ser dois, para quem sabe dar conta de tudo o que quero fazer! =D

Estou sentindo falta de colocar mais coisas aqui. Felizmente e graças ao Google Docs eu tenho tudo anotado e centralizado num único local. Se você ainda não utilizou, não sabe o que está perdendo.

Acabei de lançar o serviço de mentoring.

Se você está trabalhando num projeto e chegou num ponto de onde não consegue sair, saiba que a partir de agora poderá contar com o Mentoring do Vedovelli.

O serviço consiste em receber orientação personalizada para determinado problema e/ou aumentar seu conhecimento em determinada feature da tecnologia.

Clique aqui para mais informações.

Grande abraço,

Ved

Screencast: Mapeamento Objetos PHP – Flex no AMFPHP

July 23rd, 2008 Ved 8 comments

Bem, desisti de fazer um exemplo simples e utilizei o projeto no qual estou trabalhando atualmente para gravar o Screencast sobre mapeamento de objetos no AMFPHP.

Clique na imagem para acessar o screencast

Clique na imagem para acessar o screencast

Links:

É preciso estar com a mente aberta para o novo

May 7th, 2008 Ved 9 comments

Eu AMO PHP! Isso é fato! É a linguagem de programação que me colocou no mercado e que me fez fascinado pelo mundo da codificação! Qualquer coisa que eu precise, basta pesquisar no php.net que eu encontro. 10 vivas ao PHP.

Flex é a mesma coisa. A documentação nem é tão boa quanto a do PHP mas é excelente. Um verdadeiro curso sobre ActionScript e o MXML.

Neste quase 3 meses que estou em São Paulo e trabalhando naquela empresa de telecomunicações, tive contato diário com Java e seus programadores, que eu pensava serem xiitas até a morte, mas pelo que pude entender são apenas programadores de verdade, que seguem à risca os best practices e não gostam de gambiarra. Pois bem: essa convivência com a tecnologia me fez ficar bem curioso com tanta falação (sic) sobre ela. E fui pesquisar.

Passeei pela net e fui prestar atenção num artigo da Adobe, o qual li, reli, imprimi e fui tentar reproduzir na vida real. Para a minha surpresa, consegui de primeira, mérito – em partes – do ambiente Java que eu já tinha na minha máquina devido a exigências do meu emprego.

Fiquei pasmo com a simplicidade com que o BlazeDS conversa com o Flex, traduzindo os dados passados pela classe Java para classe Flex e vice-versa. Com poucos códigos eu já tinha uma operação completa de CRUD funcionando bem rapido.

Mas o que me inspirou a escrever este post foi o fato de que hoje eu acordei passando muito mal e decidi ficar em casa para me curar. No final da tarde eu melhorei, mas não tive disposição para ir para o emprego e fiquei aqui para terminar um sistema Flex + PHP que eu tava enrolando a tempos para fazer.

E me peguei digitando linhas e mais linhas de códigos PHP até me sentir cansado. Nessa hora fiquei imaginando como eu faria em Java etc. e tal e me deu vontade de escrever este post.

Sei que muitos vão dizer que a maioria das coisas que o Java faz o PHP tbem pode fazer, que existem frameworks para PHP e blá blá blá e por isso já abri o post mencionando que eu amo PHP. Para coisas simples e rápidas não tem linguagem melhor. Mas não se pode fechar os olhos para o fato de a Adobe, mesmo tendo sua própria tecnologia server-side, ou seja, o Coldfusion, apoia abertamente o desenvolvimento de Flex com Java: vide BlazeDS e o Live Cycle Data Services. Outro fato muito relevante é que o Actionscript 3 é praticamente um filho do java, tendo sua sintaxe muito parecida.

Pois bem, o fato é que animei de vez a aprender Java para integração com o Flex e agora ninguem me segura.

E tenho dito…

Ved

Categories: Flex, Java, Opinião, PHP Tags: , , ,

PHP: lendo e tratando informações vindas de um arquivo XML

December 21st, 2007 Ved 16 comments

As vezes me pergunto pq fico tanto tempo sem escrever aqui… acho tão bacana mostrar soluções para problemas simples que me tiraram o sono e que deve estar tirando de muitas pessoas…

Essa semana tive que ler um arquivo XML pelo PHP e foi uma luta conseguir alguma documentação simples. Mas finalmente consegui… nem me lembro aonde, pois pesquisei tanta coisa, que nem pude agradecer ao santo que postou o que eu precisava em seu blog.

Mas então aí vai, lembrando que a solução apenas funciona no PHP5. Não me darei ao trabalho de pesquisar nada com relação ao PHP4 pois prá mim já tá morto e enterrado. Nem OO ele é…

Bem, vejamos… vc pode ler um arquivo físico, com extensão .xml ou um php que retorna um XML.

É realmente muito simples:

1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="UTF-8"?>
<root>
<bandas>
<nome>Asian Dub Foundation</nome>
<nome>REM</nome>
<nome>Everything But The Girl</nome>
</bandas>
</root>

Temos aqui um xml muito simples, com uma tag root e outra de bandas, esta última contendo 3 children com os nomes das respectivas bandas. Eu quero então ler isso dentro do PHP para, por exemplo, inserir no banco de dados:

1
2
3
4
5
6
7
<?php
$xml = simplexml_load_file("arquivo.xml"); // Pode ser http://www.algumdominio.com/services/arquivo.xml
 
for($i=0; $i < count($xml->bandas->nome); $i++) {
    echo $xml->bandas->nome[$i]."<br />";
}
?>

Difícil??? Nada, né???

Um abração do Ved

[Update] 30/01/2008

Andei fazendo uns testes com a API do Last.fm (www.last.fm).

Link do XML: http://ws.audioscrobbler.com/1.0/user/vedovelli/topartists.xml?type=overall – retorna os 100 artistas mais ouvidos por mim, ilustre Vedovelli

Link para o resultado: http://www.vedsa.com.br/last.fm.php

E a codificação necessária:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
 
// Carrega o arquivo XML, que pode ser local ou remoto. Neste caso, remoto de uma API pública
$xml = simplexml_load_file("http://ws.audioscrobbler.com/1.0/user/vedovelli/topartists.xml?type=overall");
 
// Cria as HTML tags iniciais da página
echo <<<EOD
		<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
		<html xmlns="http://www.w3.org/1999/xhtml">
		<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<title>VEDOVELLI - Last.fm</title>
		</head>
		<body>
EOD;
 
// Faz um loop no arquivo XML criando as variáveis que
// representarão os dados no HTML logo mais abaixo
for($i=0; $i < count($xml->artist); $i++) {
	$image = $xml->artist[$i]->image;
	$rank = $xml->artist[$i]->rank;
	$name = $xml->artist[$i]->name;
	$url = $xml->artist[$i]->url;
	$playcount = $xml->artist[$i]->playcount;
 
        // Monta o HTML com os dados do XML
	echo "<div style='font-family: tahoma; font-size: 11px; width: 180px; height: 200px; float: left; text-align: center'>";
	echo "<img src='$image' border='1' style='margin-right: 10px;' /><br /> \n";
	echo "[$rank] <a href='$url' target='_blank'>$name</a><br />\n";
    	echo "Play count: $playcount<br />\n";
    	echo "<br /></div>";
}
 
// Fecha as tags HTML da página
echo "</body></html>";
?>
Categories: PHP Tags:

Listando diretórios via PHP

December 13th, 2007 Ved 4 comments

Uma coisa muito útil é poder listar diretórios, para abastecer por exemplo, um combobox. Pensando nisso, escrevi uma classe ridiculamente simples para tal aventura.

Baixe aqui a classe. As instruções de uso estão dentro do próprio arquivo. O retorno da classe é um array com a relação dos diretórios dentro da pasta indicada.

Caso alguem tenha alguma melhoria a propor, será bem vinda!

IMPORTANTE: é para PHP5 (CINCOOOOOOOOOOOOOOOOOOOOO)

Abração do Ved

Categories: PHP Tags:

PHP: simplificando suas queries

September 8th, 2007 Ved 4 comments

Este post foi vetado por se caracterizar uma falha de segurança. Quando eu aprender como fazer esse procedimento de forma segura, postarei aqui.

Ved

Uma coisa realmente chata é quando uma query muito grande dá problema. Quando se tem um formulário extenso, onde diversos valores deverão ser gravados no banco de dados, é comum encontrarmos problemas com a montagem da query e perdermos muito tempo debugando até percebermos que deixamos de inserir um valor ou coisa do tipo. Para contornar este tipo de problema, basta ler a variável pré-definida $_POST, que nada mais é do que um array com os nomes dos campos do form e seus valores, inseridos pelo visitante.

Supondo que seu form tenha os seguintes campos: nome, email, cidade e estado. Normalmente você faria da seguinte forma:

$query=”INSERT INTO suatabela (nome,email,cidade,estado) VALUES (‘$nome’,'$emai’l,’$cidade’,'$estado’)”;

Num formulário pequeno tudo bem. Mas e se seu form tiver mais de 50 campos??? Trabalhão, né mesmo?

Pois podemos facilmente fazer assim:

foreach($_POST AS $k => $v){
$query1[]=$k;
}
foreach($_POST AS $k => $v){
$query2[]=”‘$v’”;
}
$query=”INSERT INTO suatabela (“.implode(“,”,$query1).”) VALUES (“.implode(“,”,$query2).”)”;

Com isso, o nome dos campos do form serão inseridos, separados por vírgula dentro dos primeiros parênteses e seus valores inseridos também separados por vírgula dentro dos segundos parênteses.

Cuidados a tomar:

1) Os campos na tabela do banco de dados devem ter o mesmo nome dos campos do formulário
2) Se você tem algum hidden field cujo valor não deve ser gravado no banco, ou melhor, qualquer campo que não se queira que seja gravado no banco deve-se anular este valor ANTES do primeiro foreach, usando unset($_POST['nome do campo']). É muito comum anular o nome do input type submit. ;-)

Façam um teste e me digam se funcionou direitinho.

[Update]

Esse comentário foi deixado por Sylvestre Mergulhão e eu concordo com ele:

Cuidado com sql injection ao recuperar coisas diretamente do post, get ou request e inserir num sql…

pode reduzir ainda mais assim:

foreach($_POST AS $k => $v){
$query1[]=$k;
$query2[]=”‘$v’”;
}

e trate os sql injections:

foreach($_POST AS $k => $v){
$query1[]=funcao_quefaz_escape($k);
$query2[]=”‘funcao_quefaz_escape($v)’”;
}

Abraço!

Categories: PHP Tags: