Arquivo da tag: PHP

Arquivos CSV

Já faz um tempinho que não escrevo, mas estou correndo contra o tempo ultimamente, mudando de residência, com um novo emprego, e com muitos projetos. Graças a um desses projetos precisei de uma alternativa à um SGBD normal, daí logo me veio a idéia de usar os arquivos do tipo CSV.

CSV em português significa algo como campos separados por vírgula. Mas não significa que os campos tenham que ser separados somente por vírgulas, o uso de ponto vírgula também e aceito. O CSV e normalizado pela RFC 4180 todas as planilhas eletrônicas que eu conheço suportam nativamente esse tipo de arquivo, e implementar um leitor em php pra ele não e muito complicado não.

O código que vou apresentar abaixo e uma implementação para criar um arquivo csv, e alimenta-lo:

class_csv.php
class csv {
/* declaraçao de variaveis utilizadas*/
private $linha;
private $arquivo;
private $arquivo_aberto;
private $parametro;
/*funcoes set*/
/*
“i” significa que a váriavel deve vir de uma função interna
“e” significa que a váriavel deve vir de uma função externa

*/
/*Aqui esta o conteudo a ser gravado*/

public function set_linha($e_linha){

$this->linha = $e_linha;

}

/*Aqui fica o arquivo a ser utilizado*/

public function set_arquivo($e_arquivo){

$this->arquivo = $e_arquivo;

}

/*Funcao para escrever no fim do arquivo*/

public function escreve_no_fim(){

$this->set_parametro(“a”);
$this->abre_arquivo();
fwrite($this->arquivo_aberto,$this->linha.”\n”);

}

/*parametro do fopen*/
/*
“a” para adicionar
“w” para sobreescrever/criar
*/
private function set_parametro($i_parametro){

$this->parametro = $i_parametro;

}

private function abre_arquivo(){

$this->arquivo_aberto=fopen($this->arquivo.”.csv”,$this->parametro);

}

}

teste.php

require(“csv.php”);
/* Grava as inscrições */

$banco=new csv();
$banco->set_arquivo(“submissao”);
$banco->set_linha(“campo1″,”campo2″,”campo3”);
$banco->escreve_no_fim();

Até a próxima!

O.O Segunda Xícara

Hoje as máterias estão assim curtas e rápidas, mais uma parte do meu tutorial de PHP orientado a Objetos, o engraçado e que faço desse tutorial uma retórica, ja que ele serve pra mim mesmo.

Nessa segunda parte vou falar sobre:Abstração e Encapsulamento

Então lets Go!

“A abordagem de orientação a objetos favorece a aplicação de diversos conceitos considerados fundamentais para o desenvolvimento de bons programas, tais como abstração e encapsulação. Tais conceitos não são exclusivos desta abordagem, mas são suportados de forma melhor no desenvolvimento orientado a objetos do que em outras metodologias.”

Fonte http://www.dca.fee.unicamp.br/cursos/POOCPP/node5.html

Para os fãs de O.O que dizem que aplicações modulares só são desenvolvidas através dessa metodologia, esta aí a UNICAMP retificando!

Abstração

Abstração significa que antes de ir para a implementação é definido o que o objeto faz. Ao usar o KimX por exemplo, a pessoa pode simplesmente usar o gera_captcha(), e exibir um captcha, sem se preocupar com o que esta gerando ele.

De forma semelhante um desenvolvedor, não sabe que quando ele manda abrir um arquivo ele esta chamando a System Call OPEN(), segundo o padrão Posix.

Outro exemplo e o Administrador de empresas que ao usar a função soma no excel, não sabe como o mesmo faz para retornar o resultado.

Isso eu aprendi aqui: http://www.dca.fee.unicamp.br/cursos/POOCPP/node6.html

Encapsulamento

O Encapsulamento permite que você crie métodos dentro de uma classe que só serão usadas por ela mesma, e não de forma direta pelo usuário.
Exemplo:

O Objeto Carro, tem o método ignição.
O método ignição e publico pois o usuário (motorista) deve girar a chave.

Agora o método injeta_combustivel_no_motor, e chamado pelo método ignição, mas não pelo usuário (motorista).

A grande vantagem disso e por exemplo se o usuario(motorista) pedisse ao mecânico(programador), para substituir o álcool/gasolina por gás, ele não teria de alterar o método ignição, somente o método injeta_combustivel_no_motor.

Já isso eu aprendi aqui: http://www.htmlstaff.org/ver.php?id=23370

Até a próxima Xícara, e pra quem não sabe a tal da Xícara e porque estou escrevendo esse tutorial entre uma Xícara e outra de café, enquanto leio  e aprendo sobre O.O.

Até a proxima

O.O – Primeira Xícara!

Eu sempre fui avesso a O.O mas devido as circunstâncias estou sendo obrigado a aprende-la, daí resolvi fazer um tutorial detalhando essa “bagaça”. O primeiro conceito a aprender e sobre classes e Objetos e como o primeiro descreve o segundo então let’s go!

Classes e Objeto

O Objeto é a instancia de uma classe. Ou seja eu posso dizer que as caixas são feitas de papelão ou madeira, podem ou não ser pintadas, trazem informações sobre o produto, pode estar ou não fechada, isso são características da Classe Caixa. Quando eu defino que a Caixa ABC é feita de papelão, está pintada de vermelho, traz uma foto do produto na frente e embaixo traz o ano de fabricação, e esta fechada com grampos, eu acabei de definir (instanciar um objeto).

Em relação a esses dois amigos ainda há o Poliformismo, que diz que um procedimento (método) pode existir em mais de um objeto, mas não necessariamente fazer a mesma coisa, por exemplo, a operação fechar do objeto porta, e diferente da operação fechar do objeto contrato.

E ainda há a herança, ou seja um objeto pode herdar características de outro, por exemplo ao definirmos o objeto caneta, não precisamos recriar o método escrever, ao criarmos o objeto filho caneta-tinteiro, pois esse já herda todas as características de seu antecessor.

Eu aprendi isso no link: http://www.dca.fee.unicamp.br/cursos/POOCPP/node4.html

Até a Segunda Xícara!