Tag Archives: programação
Magento – Obtendo Dados do Carrinho de Compra
Neste post estarei mostrando um código para acessar os dados do carrinho como número de itens, valor total, quantidade. Também estarei utilizando um helper para formatar o preço e a quantidade.
GIT – Controle de Versão
Neste post estarei falando comentando um pouco sobre o Controle de Versão, ou Versionamento. Mas primeiramente o que seria o Controle de Versões ou Versionamento?
O controle de versões é o controle aplicado em cima do desenvolvimento de um sistema, onde você pode trabalhar em cima de uma versão paralela , tendo como versão atual, uma versão 100% estável. No GIT, que é um sistema de controle de versões, você trabalha clona, ou faz uma cópia para que você possa alterar o que é necessário ou criar novas ferramentas. Após estar tudo OK, você sobe as alterações para o seu servidor de controle de versão, unificando as alterações com a versão estável, criando uma nova versão estável.
PHP – Aspas Simples, Duplas e Invertidas
Nesta dica falaremos um pouco sobre as diferenças entre aspas simples (‘), aspas duplas (“) e aspas invertidas (´).
Aspas Simples (‘)
As aspas simples são muito parecidas com as aspas duplas. É usada para delimitar qualquer dado alfanumérico, como exemplo:
‘<p align=center>Texto com Aspas Simples</p>’
Mas devemos ter cuidado quando o conteúdo alfanumérico possuir uma ‘ (aspa simples), pois o PHP interpretará isto como delimitador de dados alfanuméricos. A saídaé utilizar o \ antes da aspa para que o PHP trate esta ‘ como parte do conteúdo alfanumério, como segue o exemplo abaixo:
PHP – Classe Html Cachê
Essa classe foi criada para gerar arquivos HTML de Selects(ComboBox) para minimizar o número de consultas ao banco de dados. Com isso ao invés de a todo momento que for abrir uma página que tenha um combobox que tem que buscar os dados no BD, após a inserção de um registro no banco, você pode executar esta classe e gerar o html atualizado, assim, basta apenas você executar um include no página onde deseja aquele Select(ComboBox).
Programação – Introdução à P.O.O
1. Introdução
Como todos sabemos, o desenvolvimento de sistemas vem exigindo mais e mais velocidade em sua criação e manutenção. Aplicação de Frameworks, Ideologia de Programação XP e Design Patterns vem sendo os principais meios de acelerar esse processo demorado. Para o bom uso e aplicação dos mesmos, o conhecimento da programação orientada a objetos é indispensável. Este artigo vem dar uma idéia inicial sobre o que é a Programação Orientada a Objeto cujo o qual vou referenciar pela sigla POO durante o artigo.
2. O que vem a ser POO
A POO é um método, forma ou conceito de como desenvolver um sistema, isto e uma forma de programação. A POO visa aproximar o “Mundo Real” do “Mundo Virtual” através de conceitos como Objetos, Classes e Atributos. Todos estes conceitos ja conhecemos desde de cedo. Um exemplo Objeto pode ser uma casa ou um lápis ou ainda uma pessoa.
3. Conceitos Básicos
3.1. Classe
A classe é uma abstração que define o objeto em si, isto é a descrição do conjunto de dados estruturados que possuem características comuns entre eles. Quando criamos uma classe, estamos criando o modelo do que o queremos que aquele objeto faça. Junto a ele teremos o que tipo de informações o objeto terá, no caso isso seria seus atributos e também o que este objeto irá fazer, no caso os seus métodos. Um Exemplo básico de Classe seria: Pessoa.
3.2. Atributos
Atributos nada mais são que variáveis (se fosse em banco de dados seria Campos) que podem ser de qualquer tipo e armazenaram valores que estaram dentro da classe para serem manipulados. Exemplo de Atributos de nossa classe Pessoa: Nome, Sobrenome.
3.3 Métodos
Os Métodos podem ser comparados à funções ou procedimentos. São eles que dizem as ações que aquele determinado Objeto pode fazer. Seria a Implementação de uma rotina ou propriamente o código dentro daquele objeto. Exemplo de Métodos: escreverNome().

Classe Pessoa e seus Atributos e Métodos
3.4 Herança
Dentro da Orientação a Objetos temos vários conceitos que tornam a sua codificação caracterizada como POO. Mais uma delas é a Herança. Como o próprio nome diz a herança de uma classe faz com que a classe que está recebendo a herança ou sub-classe herde o acesso a estrutura de dados e aos códigos da classe herdada ou super-classe. Todo o comportamento da classe herdada é recebida para a outra classe. Isso nos faz poupar códigos ja escritos anteriormente, sendo um dos pontos fortes da POO, o reaproveitamento de código. Um Exemplo de Herança da Classe Pessoa: Física, Jurídica
A Superclasse é a classe mãe das outras ou a classe que será herdada pelas classes filhas. Esta classe é a generalização de métodos e atributos de um grupo de objetos que possuiem caracteristicas iguais. Seria uma classe mais genérica.
A Subclasse é a classe filha, a classe que herdará as características da classe mãe. Esta classe é uma especialização da classe mãe onde são adicionados alguns métodos ou atributos mais específicos para o comportamento daquela classe. Seria uma classe mais específica.

Super- Classe Pessoa – Sub-Classes – Jurídica / Física
3.5 Encapsulamento
Uma outra característica importante da Metologia de Programação Orientada a Objetos é o Encapsulamento. O Encapsulamento permite que criemos um meio de acesso simples a outros programadores para que eles utilizem nossas classes sem que necessitem conhecer o funcionamento interno da mesma. Um exemplo prático de encapsulamento poderia ser o dvd-player de nossos carros. Não precisamos saber como é feito internamente para que possamos assistir nosso DVD do Ozzy Osbourne por exemplo, ou ainda não precisamos conhecer o sistema telefonico para podermos ligar para nossos amigos, familiares ou namorada.
Falando de modo polido, o encapsulamento combina atributos e métodos criando um unico meio de acesso aos valores desses atributos através de seus métodos que chamamos de métodos públicos.Os demais métodos se tornam privados para os outros programadores. Com o encapsulamento ganhamos mais segurança pois tornamos o nosso objeto como uma espécie de caixa preta lacrando os métodos que não é interessante os outros programadores mexerem.
3.6 Polimorfismo
Este conceito é o mais complicado e também é de sumo importancia entende-lo. Polimorfismo como o próprio nome diz significa muitas formas. Dentro da POO, o conceito de polimorfismo diz que um nome pode ter vários comportamentos dependendo da sua implementação. Quando uma classe possui um método com o mesmo nome e assinatura (número, tipo e ordem de parâmetros) de um método na sua superclasse, ou classe que é herdada é quando ocorre o polimorfismo.
Por exemplo o método Abrir pode funcionar de várias formas diferentes. Abrir pode servir tanto para uma classe porta como uma classe conta bancária, porém o comportamento interno deste método funcionará de formas diferentes pois são dois objetos diferentes.
O Polimorfismo nos permite que mudemos nosso sistema a qualquer momento sem ter que mudar o código original. O Polimorfismo trabalha diretamente com os conceitos de Herança e Encapsulamento onde eles se completam fazendo com que o paradigma de orientação a objetos funcione.
Dentro do Polimorfismo existe alguns tipos que listarei abaixo e descreverei um pouco sobre eles.
3.6.1 Inclusão
Um ponteiro para classe mãe pode apontar para uma instância de uma classe filha (exemplo em Java: “List lista = new LinkedList();” (tipo de polimorfismo mais básico que existe).
3.6.2 Paramétrico
Se restringe ao uso de templates (C++, por exemplo) e generics (Java).
3.6.3 Sobrecarga
Duas funções/métodos com o mesmo nome mas assinaturas diferentes.
3.6.4 Coerção
A linguagem que faz as conversões implicitamente (como por exemplo atribuir um int a um float em C++, isto é aceito mesmo sendo tipos diferentes pois a conversão é feita implicitamente).
4. Conclusão
O Paradigma de Programação Orientada a Objetos é um tanto complicado de se entender. Porém o ganho em termos de velocidade de desenvolvimento e aproveitamento de código torna o aprendizado viável. Como vimos então estes conceitos básicos são a base para se desenvolver com esta metodologia. É claro que muito mais será necessário aprender para o desenvolvimento de um software. Creio que por enquanto faremos com estes conhecimentos apenas programinhas. E acho que todo mundo que tenha interesse em aprender sobre esta metodologia quer se tornar um verdadeiro desenvolvedor e não um programadorzinho.
Vale destacar, que todo o sistema programado com orientação a objetos terá esta estrutura de conceitos. Esta estrutura que torna viável o conceito se tornar um sistema.
5. Referencias Bibliográficas
- http://www-usr.inf.ufsm.br/~rose/curso3/cafe/cap4_Polimorfismo.pdf
- http://www.guiadohardware.net/artigos/programacao-orientada-objetos/
- Php – Programando com Orientação a Objetos – Pablo Dall’Oglio
- Java – Deitel & Associates
Introdução a Programação
Como ando muito envolvido com aprendizado em programação orientada à objetos e resolvi focar o conteúdo do site nesta área por enquanto até eu ter um maior tempo livre. O que me levou a escrever este artigo foi a necessidade que vejo de expor a parte introdutória da programação que é muito importante para nosso aprendizado futuro.
Muitas vezes passamos por dificuldades na estruturação de um sistema por falta de conhecimento da ferramenta que estamos utilizando e também dos conceitos básicos em cima da programação. Aqui tentarei expor meus pontos de vista em relação a como buscar o conhecimento e também vou passar algum conhecimento que adquiri durante estes anos que tenho trabalhado com programação.
O primeiro passo e o mais importante de quem vai trabalhar com a programação é o conhecimento em cima da lógica de programação. Em nosso mundo real, vivenciamos a cada tarefa que realizamos uma certa ordem de processos que nos traz um resultado. Este processo pode-se chamar no mundo da programação de algoritmo. O algoritmo segundo os livros em que estudei na faculdade nada mais é do que uma sequência finita de instruções bem definidas e não ambíguas.
Geralmente um algoritmo é comparado a uma receita de bolo. E esta afirmação não é uma falsidade, pois o que fazemos quando contruímos um sistema, é simplismente dizer ao computador para seguir aquela “receita” passo a passo para que o sistema produza um “bolo” que seria o resultado de seu programa.
Por exemplo, para se abrir a porta de sua casa,é necessário os seguintes passos:
- Tire a chave da porta do bolso;
- Enfie a chave na fechadura;
- Gire a chave para a esquerda;
- Empurre a maçaneta para baixo;
- Empurre a porta;
Desta forma abriremos a porta de nossa casa, porém estes passo pode conter falhas, pois para o computador devemos detalhar ao máximo os passo para que se obtenha com 100% de certeza o resultado esperado. Tomando o exemplo anterior podemos detalhar mais da seguinte forma:
- Use a mão direita para coloca-la dentro do bolso;
- Abra a mão e pegue a chave;
- Tire a chave da porta do bolso;
- Enfie a chave na fechadura;
- Gire a chave para a esquerda;
- Com a mão esquerda estenda-a e segure a maçaneta
- Empurre a maçaneta para baixo;
- Retire a chave com a mão direita;
- Segure a chave com a mão direita;
- Retire a mão esquerda da maçaneta;
- Estenda a mão esquerda e apoie na porta;
- Empurre a porta;
Neste algoritmo, estamos vendo que detalhei mais os passos para que se obtenha o resultado “Abrir Porta de Casa”. Este algoritmo está mais próximo da realidade e mais próximo de se obter o resultado. Porém, a eficiencia é medida pela qualidade de seus algoritmos, e esta qualidade é medida não apenas pelo resultado positivo da resolução daquele problema, mas também do tempo gasto com a resolução do problema, com a qualidade de seus processo, por exemplo, podemos obter o mesmo resultado de uma operações de diversas formas, pois não é apenas 1 caminho que leva para o resultado.
Muitas vezes poderemos ver a mesma operação com diversas linhas de comando, e outra com apenas 10 linhas. O que influenciará neste caso, é o poder de raciocínio lógico do programador, o conhecimento da linguagem utilizada, e a própria linguagem utilizada. Como por exemplo, temos o Assembly que éuma programação de baixo nível que exige muitos passos para se obter os resultados. Temos o Pascal que é uma evolução na programação por implementar algumas facilidades, assim como hoje temos o PHP, Java que tem mais facilidades ainda. Estas facilidades podem ser funções prontas para resolução de determinados problemas, linguagem enxuta, que quer dizer que não teremos comandos extensos para se realizar um determinado processo entre outras coisas.
Para se escolher uma linguagem de programação, o primeiro passo é verificar o que vem sendo utilizado atualmente. Hoje por exemplo encontramos muitos sistemas desenvolvidos em Java, Php. Então seria interessante adotar uma destas duas linguagens. No meu caso caminhei do Delphi que foi a primeira linguagem de programação que tive contato, passando para Pascal, adotado na faculdade, indo para C e voltando para Delphi e tendo noções de Java, isto no período da faculdade.
Em fora da faculdade utilizei por um período de 3 anos o Delphi e estou saindo do Delphi e partindo para o PHP utilizando ainda o paradigma de Programação Orientada a Objetos.(POO) Na faculdade tive uma matéria introdutória em cima de algoritmos, porém acho que não é necessário chegar a estudar isso para poder programar em qualquer linguagem, pois esse conhecimento você pode adquirindo passo a passo conforme vai lendo um bom livro em cima da linguagem desejada.
Existem muitos livros didáticos que te ensinam passo a passo os comandos das linguagens, e você vai lendo e programando para começar a aprender como se escreve a nossa receita. Uma dica que deixo, é que se aprenda uma linguagem estruturada primeiro como o Delphi ou mesmo o PHP, ambas podemos programar Orientado a Objetos ou não, pois a programação estruturada é a base da programação. Se você optar por programar em Java por exemplo, a complexidade dele será maior pois ele ja exige a POO.
Por isso as dicas que deixo é escolher uma linguagem atual e bem utilizada, pois isso facilitará a busca por documentações de apoio. Aprender uma linguagem que se possa aprender a Programação Estruturada para que possa se obter os conceitos básicos de programação. Aprender após ter uma certa firmeza na programação estruturada, os conceitos de Programação Orietadaa Objetos (POO), e se caso a linguagem que tiver escolhido no começo não possuir as condições que se possa usar POO, adotar uma linguagem que permita este paradigma e estuda-la.
Além disso adquira o conhecimento da linguagem que estiver trabalhando, treine muito, crie a receita de bolo para executar tarefas simples como por exemplo limpar o seu quarto para que ja venha se adquirindo experiencia ao montar um algoritmo como fiz anteriormente com o exemplo de abrir a porta de casa.
Nos próximos artigos abordarei os conceitos de Programação Orientada a Objetos e também abordarei a linguagem PHP como linguagem de programação a ser estudada, ja que estou utilizando-a e estudando-a.
Bibliografia
Algoritmo – Wikipédia





