O objeto é o Cara

29 Março, 2007

Vamos colocar um pouco de conceito aqui, Existe um tipo de programação chamada Programação orientada por objeto (ou POO, para os mais íntimos), como o próprio nome diz, faz-se a programação com foco nos objetos, de fato considero-a melhor de programar, não só eu, como muitos “fazedores” de códigos, ultimamente esse tipo de programação anda crescendo muito, também não é por menos, porém há muitas pessoas que preferem a programação linear por ser tratar de uma programação mais fácil de ser desenvolvida. Sem dúvidas, a programação linear não possui tantos conceitos como o POO, porém esses conceitos, existem pra facilitar a vida do fazedor e não pra complica-la, pois para fazer uma alteração no código fica muito mais fácil e se quiser utilizar uma parte do código de um programa em outro, também é mais simples.

Já expus a minha opinião em relação a isso, mas vou deixar claro que isso não quer dizer que a minha opinião é a verdade absoluta, pois existe ninguém melhor do que você mesmo pra dizer o que você prefere. :)

Dentre os vários conceitos, colocarei os principais para começar a desenvolver nesse tipo de programação e cada qual vai estar em um post distinto. Classe, Objeto, Método, Construtor, A variável This e quem sabe Sub-Classe. E como exemplo utilizarei PHP, pois gosto mais dessa linguagem.

Objeto

A parte mais importante da programação orientada por objeto, é o objeto, pois o que seria dela se não tivesse um objeto?, Em outras palavras “O objeto é O cara” (“O Cara”, para quem não sabe é uma expressão com sentido daquilo ser o melhor, no nosso exemplo o objeto é o melhor), Muitos lugares definem o objeto como algo real, de fato em muitos casos será esse seu objeto, algo que se pode pegar, apertar, acariciar, é melhor parar por aqui. Porém, iria mais fundo nesse conceito, passando de tudo que é real, para uma entidade lógica que contém dados e código, com o qual manipulamos os dados, por exemplo:

Um sonho, posso considerá-lo um objeto?
Pode, pois em um sonho você pode compreender, esquecer, interpretar, jogar no bicho etc.

Vamos à outro exemplo:
Um conta de banco, pode-se sacar, efetuar um pagamento, depositar, conseguir um empréstimo, aborrecer-se com o banco com as tarifas altas etc.

Esses dois exemplos são muito bons, pois não existem no mundo real (só ideologicamente), mas mesmo assim podem ser um objeto, como percebe-se, os dois objetos tem em comum operações feitas a partir dele e à essas operações damos o nome de métodos (falaremos disso mais tarde).

Para utilizar um objeto é necessário instanciá-lo (iniciar):

$objeto = new nome_da_classe

O operador new é o responsável pela inicialização do objeto e para isso também temos que colocar uma classe referente à ele.

Espero ter conseguido ilustrar bem o conceito de objeto, qualquer dúvida comenta e senão tiver dúvida comenta também, se gostou comenta e senão gostou comenta também, enfim o importante é comentar. :)

Fuiii…


Tratamento da string URL em PHP

23 Março, 2007

Ufa! Até que enfim, tem php na área.

Algumas vezes nós passamos os dados de um formulário html, pelo método GET e quando vamos pegar esses valores, algumas vezes, não vem da forma que enviamos, pois a url é codificada, então aqui vai uma dica de como codificar/decodificar esses dados.

Função urlencode

String urlencode(string texto); // Responsável por codificar a string

Função urldecode

String urldecode(string texto); // Responsável por decodificar a string

Obs: As regras pra codificar os dados, são as seguintes:

  • O caracter espaço é substituído por +
  • Todos os outros caracteres não alfanuméricos, são substituído por % sucedido pelo correspondente código da tabela ASCII.
  • Fuiii…


JSP – O Início

15 Março, 2007

Estou meio sumido. Porque ultimamente ando ocupadíssimo com várias tarefas e estou escrevendo um post, que de início pensei que seria fácil, porém está dando um trabalho danado de escrevê-lo, espero que valha a pena :) , hoje irei falar de uma outra técnica de programação, o JSP (Java Server Pages), trata-se de poder criar uma aplicação web baseada na linguagem Java, trabalha de forma similar ao PHP, ASP e qualquer outra programação Server-Side (programação que roda no lado do servidor, retornando html para o browser exibir). Para programar em JSP, precisa-se dos seguintes requisitos:

  • Domínio em linguagem Java, isso é óbvio.
  • Conhecimento em HTML e XML
  • Um editor, qualquer um.
  • Um servidor, o que também é óbvio, e o mais utilizado é o Tomcat, ele pertence ao apache, que por sua vez é o servidor mais famoso para PHP.

Quando cria-se uma página .jsp, a mesma é transformada em um Servlet (servlet para quem não sabe, é um componente que disponibiliza uma interface para um servidor web e o servlet necessita de um container). Creio que já tenha informações suficientes e vamos logo para a parte boa, Exemplo:

Primeiramente, a index.html:

<html>
<head>
<title>Página Jsp</title>
<body>
<form action=”formulario.jsp” method=”get”>
Nome:<input type=”text” name=”txt_nome”><br />
Telefone:<input type=”text” name=”txt_tel”><br />
</form>
</body>
</html>

Arquivo formulario.jsp:

<html>
<head>
<title>Página Jsp</title>
<body>
Nome: <%=request.getParameter(“txt_nome”)%><br />
Telefone: <%=request.getParameter(“txt_tel”)%><br />
</body>
</html>

Logo acima está um exemplo de uma aplicação .jsp, para pegar os dados informados na página de formulário .html e exibir na página .jsp. É claro, para que esse exemplo funcione terá que configurar o servidor.

Espero que o post tenha sido bom.

Fuiii…


INNER JOIN – SQL

6 Março, 2007

Mudando um pouco de ares, irei falar de SQL (Structured Query Language) tem várias funções que vão da mais básica (INSERT, SELECT, …) até avançada (Stored de procedure), nesse post irei falar de um em que se ouve muito falar, apresento-lhe INNER JOIN. Vou considerar que você tenha alguma noção de SQL.

INNER JOIN

Em muitos casos, você poderá precisar apresentar um resultado o qual não está em apenas uma tabela, então você utiliza o INNER JOIN para fazer esse relacionamento das tabelas, fazendo da seguinte forma, como você sabe, ou deveria saber, quando duas tabelas estão interligadas, de alguma forma, precisa-se de um campo comum entre ambas (chave estrangeira).

Por exemplo:

Tenho uma escola com várias unidades e criei uma secretaria virtual. Nessa secretaria virtual, tenho os alunos cadastrados, porém eu preciso saber qual é a unidade em que esse aluno estuda. Possuímos aqui pelo menos duas tabelas, Aluno e Unidade, onde o relacionamento é um-para-muitos, porque um aluno só pode estar matriculado em uma unidade, porém uma unidade possui vários alunos. Eles se relacionam da seguinte forma, a tabela aluno tem um campo que se relaciona diretamente com o campo do código da unidade na tabela unidade, não sendo obrigatório os dois campos terem o mesmo nome, sendo apenas obrigatório os dois terem o mesmo tipo, se você não conhece SQL pode parecer complicado, mas posso assegurar-lhe que não é.

É nesse caso, em que o INNER JOIN vai ser usado, Veja:

$SQL = "SELECT Aluno.nome, Unidade.unidade";
Seleciona o campo nome da tabela aluno e campo unidade da tabela unidade

$SQL .= " FROM Aluno";
A origem é a tabela Aluno. Isso significa que a tabela Aluno é o lado UM de um relacionamento, e com isso, A pesquisa é feita mais rápida;Você poderia colocar a tabela Unidade como origem.

$SQL .= " INNER JOIN Unidade";
A tabela Aluno será ligada a tabela Unidade.

$SQL .= " ON Aluno.cod_unidade = Unidade.cod_unidade";
Faz-se aqui o relacionamento das tabelas.

$SQL .= " ORDER BY Aluno.Nome";
Coloquei que a pesquisa vai ser exibido na ordem alfabética dos nomes dos alunos.

Ps.: Fiz essa pesquisa com o php, por isso está lá um .=, pois isso no php significa que estou concatenando a string SQL.

*Foi um exemplo simples, claro que nesse exemplo precisaria de mais tabelas.

Junto com o INNER JOIN, existem ainda o LEFT JOIN e o RIGHT JOIN, que funcionam de maneira semelhante. O INNER JOIN, faz o relacionamento entre duas tabelas e depois exibe o que está nas duas tabelas do relacionamento indicado, já o LEFT JOIN faz a mesma coisa, porém retorna os dados de acordo com a tabela da esquerda (a primeira tabela que foi declarada), independente se no relacionamento com a tabela da direita não possuir o valor do campo de relacionamento e o RIGHT JOIN, dou-lhe uma bala juquinha se você acertar…

Exatamente o que você pensou, faz o mesmo que o LEFT JOIN, porém retorna os dados de acordo com a tabela da direita (a segunda tabela que foi declarada), independente se no relacionamento com a tabela da esquerda não possuir o valor do campo de relacionamento.
Com isso despeço-me, até a próxima

UPDATE:
Percebi que muita gente ainda vem nesse link, mas gostaria de informar que não sou mais desse blog me mudei para outro Coisas de Web e inclusive desse post , dá uma passadinha lá e se puder comente é muito bom receber um comentário. :)
Fuiii…