quarta-feira, 9 de fevereiro de 2011
terça-feira, 8 de fevereiro de 2011
Localização (Zend_Locale)
O que é isso? Ele é uma classe do ZF com o intuito de buscar localizações pois sabendo a localização do nosso usuário podemos dizer que lingua definir para ele correto? O Zend Locale pega diversas localizações como a do Navegador do usuário, do nosso ambiente ou ainda do framework eu acho interessante pegar a localização do Navegador em um caso que queremos a real tradução de conteúdo para isso é bem simples:
- public function pegalocal(){
- require_once 'Zend/Locale';
$local = new Zend_Locale(Zend_Locale::BROWSER);
- var_dump($local);
Aqui fizemos algo bem simples, nesse método que inventei 'pegalocal' crio o objeto $local passando como parametro o dado do navegador e dou um var_dump nesse carinha para ver a localização do mesmo, e foi isso que ele me exibiu na tela:
object(Zend_Locale)[70]
protected '_locale' => string 'pt_BR' (length=5)
Ou seja, olha o idioma ai =)... a localização é basicamente isso...
Observações: Ao criarmos o Zend_Locale não é necessário passar o parâmetro e nesse caso o default é o local do navegador mesmo, mas passei isso para ficar claro. No resultado do var_dump percebemos que a localização é um atributo(_locale) protegido então para pegar o valor vamos usar os famosos gets nesse caso seria um getLanguage para a lingua (pt) e getRegion para a região (BR)...
segunda-feira, 31 de janeiro de 2011
criar PDF a partir do html no PHP - converter html a pdf
Convertendo HTML para PDF em PHP
Instalando o DOMPDF
- Se você deixar o DOMPDF_PDF_BACKEND com o valor `auto`, o dompdf vai utilizar a extensão PDFLib se ela estiver instalada no seu servidor, caso contrário o dompdf vai utilizar a R&OS CPDF class (é uma biblioteca para criação de documentos PDF sem a necessidade da instalação de uma extensão adicional).
- Dê permissão de escrita no caminho que aponta a variável DOMPDF_FONT_DIR (lib/fonts é o padrão).
Utilizando o DOMPDF
- <?php
- //Montando HTML exemplo
- $html = '
- <html>
- <body>
- <h1>Exemplo de HTML para PDF com PHP</h1>
- <p>Toda informação aqui irá se transformar em PDF</p>
- <br>
- Uma imagem abaixo<br>
- <img src="exemplo.png">
- </body>
- </html>';
- // Chamando classe
- require_once("dompdf/dompdf_config.inc.php");
- //Criando objeto $dompdf
- $dompdf = new DOMPDF();
- //Passando parametro
- $dompdf->load_html($html);
- $dompdf->set_paper('letter', 'landscape');
- $dompdf->render();
- //Gerando com nome informado
- $dompdf->stream("exemplo-01.pdf");
- /**
- * http://www.profpv.com
- */
- ?>
- O objeto load_html é responsável por receber o conteúdo HTML e fazer a conversão.
- O objeto set_paper é responsável pela configuração do papel (formato) do arquivo pdf. No primeiro argumento, você escolhe o tamanho de cada folha; no segundo argumento, você escolhe se quer cada folha em paisagem ou fotografia.
- No Parâmetro 1 você pode preencher com:4a0, 2a0, a0…a10, b0…b10, c0…c10, ra0…ra4, sra0…sra4, letter, legal, ledger, tabloid, executive, folio, commerical #10 envelope, catalog #10 1/2 envelope, 8.5×11, 8.5×14 e11x17.
- No Parâmetro 2 você pode preencher com: portrait ou landscape.
- O objeto render é responsável por imprimir, no documento, o código correspondente ao PDF e exibi-lo no browser.
- O objeto stream é opcional. Se ele for setado, vai forçar o download do documento com o nome que você passar, caso contrário o documento será exibido na tela.
Dicas
- Caso você precise gerar um documento PDF muito grande, é provável que o apache reclame do limite de memória. Para contornar este problema, basta aumentar a capacidade de memória alocada. Para isso é preciso alterar o memory_limit com a função ini_set do php. (ex: ini_set(“memory_limit”, “16M”); ).
- O DOMPDF não funciona com todas as fontes. As fontes que são suportadas por ele podem ser encontradas em lib/fonts. Caso necessite instalar novas fontes, no site do oficial da biblioteca você pode encontrar maiores informações.
- Caso você não consiga que as suas folhas de estilo sejam carregadas no corpo do pdf, coloque as regras diretamente no corpo do documento. Se mesmo assim não funcionar, coloque as regras utilizando a propriedade style em cada tag do html setando as mesmas, diretamente.
quinta-feira, 21 de outubro de 2010
PHP5 OO
Há algum tempo utilizo PHP para desenvolver aplicações web based, porém nunca utilizando orientação a objeto (OO). Um tanto por não ter muito interesse nisso, mas muito é porque os artigos sobre o tema são um tanto confusos.
Por isso este ano decidi realmente aprender a orientação a objetos no PHP. Fruto desse aprendizado é este primeiro artigo sobre o tema e que tem por objetivo apenas apresentar de forma sucinta, clara, objetiva e de fácil compreensão pelos iniciantes do que é a orientação a objeto, seus principais conceitos e como fazer isso funcionar na prática.
Quando falamos em orientação a objetos (OO), em PHP, estamos falando basicamente de classes, métodos e propriedades.
Classe, no PHP, é um bloco de código escrito na forma abaixo:
<?php
class NomeDaClasse {
// Algum código aqui
}
?>
Basicamente é o nome da classe, precedido da palavra reservada class e seguida de um par de colchetes {} o qual delimitará o código da classe.
Cada classe, no PHP, é um objeto, ou seja, uma coleção de métodos e propriedades.
Mas o que são métodos e propriedades?
Se você sabe o que é uma variável no PHP, sabe o que é propriedade, pois propriedades nada mais são do que as variáveis internas de uma classe, ou seja, são variáveis que você coloca dentro dos colchetes {} da classe.
Métodos são as funções internas das classes, ou seja, as funções que você coloca entre os colchetes {} da classe.
Abaixo um exemplo de classe, com métodos e variáveis.
<?php
class NomeDaClasse {
// As propriedades e ...
$propriedade;
$outra_propriedade = 'algum texto';
// ... os métodos
function meuMetodo(){
// Algum código aqui
}
function outroMetodo($parametro){
// Algum código aqui
}
}
?>
Muito bem, agora que sabemos estes conceitos, vamos à prática, ou seja, vamos fazer uma classe, com seus métodos e variáveis, e ver como tudo funciona.
No próximo post =]
quinta-feira, 14 de outubro de 2010
terça-feira, 28 de setembro de 2010
Engenharia de Requisitos

Hoje vou falar sobre a Engenharia de Requisitos(Vou continuar em outras postagens falando sobre criptografia)
OBJETIVO
Compreender os principios fundamentais da Engenharia de Requisitos.
Desenvolver os métodos, técnicas e ferramentas de apoio às atividades da Engenharia de Requisitos.
Especificar, através da utilização da UML, os requisitos para especificação de sistemas de informação.
OBS: Você não precisa saber programar para entender sobre engenharia de requisitos, uma vez que ela é feita para levantarmos as necessidades do sistema, os requisitos para que ele funcione corretamente.
Objetivo específico
Utilizar a UML para especificação de Sistemas de Informação no contexto da Engenharia de Software.
Mas pera aiiiii... pq? Pra que realmente serve tudo isso?
Vou usar um exemplo que ACONTECEU comigo.
Cheguei na empresa do cliente (ele me pediu um software de ordem de serviços)
Queria uma solução para informatizar as suas ordens de serviço eu dei a solução de alem do sistema rodar todo informatizado estar disponível na WEB e ele achou uma otimo idéia assim não precisa instalar nada no computador, é só acessar o link do sistema.
Ponto pra mim, o cliente adorou!
Nisso começamos o processo de levantamento de requisitos para o sistema e ele foi me falando como queria seu sistema......
....fala.... desenha..... escreve... até dança......
Eu anotei tudo e tudo certo.
Fiquei de entregar o sistema em 20 dias
Acelereiii legal todo o sistema utilizei a linguagem PHP com o banco Mysql, diversas implementações com AJAX e como havia prometido em 20 dias o sistema estava pronto...
3 dias depois da entrega ele sumiu e não me pagou (10 PONTOS A MENOS PARA MIM, COMO FIZ O SISTEMA SEM PEDIR O SINAL? E O CONTRATO CADE?)
De quebra eu fiz o site para esse cliente, então passei um valor para ele e o mesmo havia sumido.
Depois apareceu e disse que o sistema que eu mostrei para ele não era oq ele queria. ¬¬
Queria que eu alterasse praticamente TUDO..
Você percebe oq aconteceu? Eu tive o maior trabalho para fazer o sistema desse MERDA!
Não recebi e agora ele quer q mude tudo? Ele não sabe oq quer...
Pois é gente infelizmente o cliente é complicado, mas cabe a nós trabalharmos direito, saber oq estamos fazendo e colocar tudo no contrato.
Talvez tenha sido culpa dele mesmo, mas nem o cliente sabe realmente oq quer quando trata-se de um sistema(isso por ser leigo) sendo assim nós temos que fazer SIM a Engenharia de Requisitos, levantar oq é e oq n é necessário para o sistema.
E é ai que entra e ENGENHARIA DE REQUISITOS
continua...
segunda-feira, 27 de setembro de 2010
Criptografia - PARTE 1
Motivo? Uma boa prática de estudar é lêr, entender, praticar e passar a frente. Com isso sou mais uma pesosa que colabora com o crescimento do conteúdo certo na INTERNET...
então chega de BLAH BLAH BLAH e vamos la!
O assunto de hoje é: CRIPTOFRAIA E SEGURANÇA DE SISTEMAS
Mas, oq é isso?
Criptografia é o estudo dos princípios e técnicas pelas quais a informação pode ser transformada de sua forma original para outra ilegíve, assim somente o destino autorizado que pertence a 'chave' dessa criptografia pode entender, e com isso podemos implementar metodos robustos para proteger nossos dados.
Exemplo de criptografia:

O BANCO, Lojas virtuais e grandes portais utilizam criptografia para tudo em seus sistemas, seja para senha, seja para trocar de arquivos e permissões isso provê um maior controle e diminue a vulnerabilidade dos mesmos.
Meu objetivo aqui será mostrar caminhos para prover segurança de seus dados, seja seu computador, seja seu sistema, sem ficar naquela enrolação toda que encontramos em livros e apostilas...
- Software
> Sistema Operacional
> Programas que existem instalados e utilizem alguma ligação externa(acesso remoto, atualizações, conexão, troca de arquivos...)
- Hardware
> Nossa situação atual de hardware, como velocidade do processador, tamanho e espaço de nosso HD e memória, conexão de rede é WIRELESS? é compartilhado com seu vizinho, é distribuido para sua empresa?
- Dados
- Pessoas
Como assim EU ODEIO POLÍTICA!
Não, nós odiamos os POLÍTICOS... mas sem a política acaba-se a ordem, e em um sistema sem ordem não temos segurança.
Sendo assim precisamos criar uma pequena documentação definindo políticas de segurança.
Coloquei um material com modelo para desenvolver uma política de segurança adequada para seu sistema:
