Objota O mundo orientado a objetos

Arrays e Matrizes em php

Posted on julho 17, 2010

Posted by Rodrigo Ireno

Arrays em php

Olá, neste artigo vou falar um pouco sobre array em php. Como utilizá-lo, para que serve e etc. Mas.. o que é um array?

Array é uma coleção de valores armazenada em uma única variável. Até agora vimos que é possível armazenar valores numéricos e caracteres em uma variável. Utilizando um array, é possível armazenar vários tipos de valores em uma única variável. Veja um exemplo abaixo:


<?php

	//Uma variável comum

	$valor = 123;
	$valor = "Objota";

	//Um array

	$valor = array(123,"Objota");

?>

Para recuperar um valor específico do array é preciso fornecer um índice. Este índice geralmente é um valor numérico, porém em arrays associativos, também se usa caracteres. Vejamos o segundo exemplo:


<?php
	//Um array

	$valor = array(123,"Objota");

	//A linha abaixo imprime na tela o valor "123"

	echo $valor[0];

?>

Como pudemos ver no exemplo acima, o índice inicia sua contagem a partir do zero. Como temos dois elementos no array (123 e “Objota”) temos os índices 0 e 1 acessíveis.

Arrays Associativos

Em geral todo array é associativo. No exemplo anterior o índice zero está associado ao primeiro item do array. Por omissão o php considera que o índice é um número, porém é possível declarar como será este índice. Vejamos abaixo.


<?php
	//Sem declarar o nome da chave ou índice

	$valor = array(123,"Objota");

	//Por omissão é determinado um número como índice ou chave

	echo $valor[0];

	//Declarando o nome da chave

	$valor = array("primeiro" => 123, "segundo" => "Objota");

	//Imprime "123" na tela

	echo $valor["primeiro"];

?>

Matrizes com combinações de array

Na própria matemática e em muitos sistemas, e muitos tipos de cálculo é necessário o uso de matrizes. Uma matriz  é um conjunto de linhas e colunas. Vejamos um exemplo abaixo:


<?php
	//Eis um exemplo de um matriz 3x3 (três linhas por três colunas)

	$Matriz = array(array(59,56,47),
			     array(85,57,73),
			     array(15,23,32));

	// A linha abaixo imprime 23 na tela

	//veja a referência, terceira coluna e linha 2

	//Lembrando que a contagem do índice começa do zero!

	// Neste formato o primeiro colchete define a coluna
	// e o segundo colchete define a linha
	echo $Matriz[2][1];

?>

Da mesma forma também é possível fazer isso:

<?php

// Uma matriz associativa
$valor = array(
	'Cor'			=> array( 'Vermelho', 'Branco', 'Prata' ),
	'Capacidade'	=> array( '4GB', '8GB', '16GB' ),
	'Interface'		=> array( 'Windows', 'Mac', 'Linux' ),
);

// Esta linha printa 'Vermelho' na tela
echo $valor['Cor'][0];

//Coluna 'cor' e o ítem zero '0' desta coluna

?>

Bom este foi um tutorial simples e direto para esclarecer como utilizar um array. No próximo artigo faremos uma classe para manipular arrays. Com vários tipos de loop. Dúvidas, fiquem a vontade para postar.

Classes em php – Glossário

Posted on julho 15, 2010

Posted by Rodrigo Ireno

Olá caros leitores, este artigo é uma definição sumária de cada elemento de uma classe. Utilize este artigo para consulta, sempre que necessário. Sendo um glossário será atualizado toda vez que surgir conteúdo novo.

Classe:

Uma classe em php assim como em outras linguagens tem um conjunto de métodos e atributos que tem por objetivo implementar uma entidade lógica, que pode ser baseada no mundo real ou não.

Atributos:

Um atributo representa, para classes e orientação a objetos, um dado específico, uma característica de uma entidade lógica. Em geral se deve considerar atributo um dado (característica) muito relevante de tal objeto, que é indispensável para cumprir com sua finalidade na aplicação. Por exemplo, uma classe Pessoa deve com certeza conter um atributo nome, cpf... e outros registros que tornem este indivíduo único. Um classe Automovel deve conter um atributo muito relevante, o número da placa, por exemplo.

Atributos e a visibilidade:

Em orientação a objetos se ouve muito de herança, encapsulamento. Em geral construir uma classe com um bom encapsulamento é uma boa prática de programação. Para tanto, é preciso sempre declarar seus atributos como private e fazer uso de métodos modificadores e de acesso

Método:

Um método consiste em um trecho de código que é escrito ( implementado) uma vez. Sendo possível executá-lo quantas vezes for necessário simplesmente chamando-0 pela sua assinatura.

Método construtor:

O método construtor é o responsável por inicializar um objeto com seu valor default. Um método construtor pode ter um conteúdo em seu bloco ou não. O bloco abriga as ações a serem executadas pelo método.

Em php pode-se declarar um método construtor de duas formas. Pode-se dar o nome do construtor igual ao nome da classe, isso é padrão para muitas linguagens. Ou é possível também declarar com o método nativo do php "__construct()".

Método de acesso:

Métodos de acesso são necessários quando um atributo é declarado como private. Tem a ver com a visibilidade do atributo em questão. Quando o atributo é público não é necessário um método de acesso, porém o objeto fica com um nível alto de acoplamento, e isso é ruim na orientação a objetos. Quando se utiliza private o atributo é inacessível fora da classe exceto atravez deste método, que tem por objetivo retornar o valor contido neste atributo.

Método modificador:

Tem por finalidade modificar o valor de um atributo da classe. Geralmente ele recebe o novo valor por parâmetro. Quando necessário é aconselhável fazer uma lógica de validação deste dado de entrada, para somente então atribuir este novo valor ao atributo da classe.


static:

Em php,  atributos ou métodos declarados como estáticos faz deles acessíveis sem precisar instanciar a classe. Um membro declarado como estático não pode ser acessado com um objeto instanciado da classe (embora métodos estáticos possam).

protected:

Esta palavra chave  limita o acesso a classes herdadas (e para a classe que define o item). Este conceito já é fio para entrar em herança e polimorfismo. Em termos mais simples, protected é o mesmo que public, somente para quem herda o método ou atributo. E para quem não herda nada protected tem o mesmo efeito de um private.

const

Utiliza-se esta palavra chave para transformar o atributo de uma classe um valor constante e inalterável. Para acessar uma constante de uma classe usa-se está sintaxe: NomeDaClasse::NomeDaConstante. Isso irá retornar o valor da constante existente na classe. É muito usual para números fixos usados durante o desenvolvimento, por exemplo o status de um usuário no seu site: 0 = desabilitado; 1 = habilitado; 2 = pendente; e etc. sendo mais fácil a associação de palavras.. do que de números fica mais fácil usar constantes como Status::DESABILITADO; Status::ABILITADO; Status::PENDENTE.

Smarty 3.0 + MVC – Parte 1

Posted on julho 14, 2010

Posted by Pedro

Iniciando meus post’s aqui no objota, vou trazer para vocês um tutorial de Smarty 3.0 com uma pitada de MVC (pois é quase impossível falar de Smarty sem falar de MVC ).

Para quem não conhece o Smarty aqui vai uma explicação rápida sobre esse fantástico template engine que simplifica e muito a organização e a separação da camada de controle da camada de visualização.

“O Smarty é um sistema de templates para PHP. Mais especificamente, ele fornece uma maneira fácil de controlar a separação da aplicação lógica e o conteúdo de sua apresentação. Isto é melhor descrito em uma situação onde o programador da aplicação e o designer do template executam diferentes funções, ou na maioria dos casos não são a mesma pessoa.”
Font:  http://www.smarty.net/manual/pt_BR/what.is.smarty.php

Tá e ai? Então é isso, o Smarty tem por objetivo separar seu código (lógica e conteúdo) da sua apresentação.  Essa separação é realizada através da criação de templates que serão lidos pelo Smarty e esse irá gerar um arquivo pré compilado (arquivo PHP que você não precisa se preocupar pois é gerenciado pelo Smarty).  Um dos recursos no Smarty que também é muito utilizado principalmente em sites que recebem grande volume de acessos é o caching, ou seja,  gera uma saída em HTML que possui um tempo de vida determinado na programação do controlador ou diretamente no config do smarty de acordo com as necessidades do sistema.

Bom então é basicamente isso, se você necessita de mais informações sobre o Smarty acesse o site oficial http://www.smarty.net/. Lá você encontra a documentação completa  da “Latest Stable Release” (Última versão estável em português).

Vamos a configuração da versão 3.0 do Smarty.

Para quem ainda não realizou o download da versão 3.0 aqui está o link http://www.smarty.net/download.php, procure pela versão 3.0 e faça o download.

Após o download vamos criar uma pasta no seu servidor (não cabe a este tutorial explicar como utilizar o servidor web) chamada “tutorial” para nossa aplicação no seu servidor XAMPP ou WAMP ou algum outro servidor que possa ler o seu PHP.  Para esse tutorial eu vou usar o XAMPP e criar a pasta tutorial dentro de 'htdocs' dessa forma eu vou acessar a minha aplicação através da URL http://localhost/tutorial/.

Podemos agora criar a estrutura de diretórios dentro da nossa pasta de aplicação tutorial.

- includes – Arquivos php, no caso iremos colocar o arquivo config
- framework - Aqui ficam todas as ferramentas e frameworks da aplicação
- model -A pasta model é responsável por armazenar as nossas classes de negócio
- view - Aqui irão ficar nossas classes ou classe que irá ser responsável por gerar o html
- controller – Controladores do sistema que receberá as requisições
- general – Aqui vamos criar duas pasta js e css
- css

-js

- lib – E finalmente aqui nossas bibliotecas genéricas, por exemplos arquivos de cálculos, ftp, etc.
- template – O nome já diz tudo, irá armazenar os templates do smarty

Coloque o conteúdo da pasta libs que está na pasta extraída do Smarty dentro de nossa pasta framework para ficar da seguinte maneira

Se você olhar dentro da pasta descompactada do smarty tem uma pasta chamada ‘demo’ que demonstra a utilização do Smarty. Se quiser pode dar uma olhada para ajudar no aprendizado.

Vamos agora criar um arquivo chamado config.inc.php dentro da pasta includes para realizar a configuração da nossa aplicação.
config.inc.php

<?php
//Essas configurações são responsáveis por fazer o mapeamento básico do site
define("HOME", getenv("DOCUMENT_ROOT").'/tutorial/' );
define("HOST", "http://localhost/tutorial/");
define("FRAMEWORK", HOME."framework/");

//configuração do Smarty
define("SMARTY_DIR", FRAMEWORK."smarty/");
define("TEMPLATES", HOME."template/");
define("TMP", FRAMEWORK."tmp/");
define("TMP_CACHE", FRAMEWORK."cache/");
//------------------------------------------

/*Aqui fica minha função de autoload para as classes do PHP,
  para quem não conhece essa função aqui no site nos temos um artigo falando sobre a função
*/
function __autoload ($className) {

	if ( file_exists(HOME."controller/{$className}.class.php") ) {
		require_once (HOME."controller/{$className}.class.php");
	}else if( file_exists(HOME."model/{$className}.class.php") ){
		require_once (HOME."model/{$className}.class.php");
	}else if( file_exists(HOME."view/{$className}.class.php") ){
		require_once (HOME."view/{$className}.class.php");
	}else if( file_exists(HOME."lib/{$className}.class.php") ){
		require_once (HOME."lib/{$className}.class.php");
	}else{

		/*Esses são os comandos que irão ser responsáveis por carregar os arquivos Sys do Smarty ou seja o autoload do Smarty
		  mais na frente vocês irão entender o porque eu tirei essa linha de comando do arquivo Smarty.class.php
		*/
		$_class = strtolower($className);
	    if (substr($_class, 0, 16) === 'smarty_internal_' || $_class == 'smarty_security') {
	        include SMARTY_SYSPLUGINS_DIR . $_class . '.php';
	    }

	}

}

//Nessa linha vamos carregar nossa class Smarty que irá gerenciar toda as saidas de HTML do site
require_once(HOME.'framework/smarty/Smarty.class.php');

?>

Agora vamos a explicação do que fizemos nesse arquivo.
No comando define: para quem não conhece esse comando ele é responsável pela declaração de constantes.

Na função "function __autoload ($className) {}":  Esse fantástico recurso permite que você possa carregar suas classes automaticamente, então como esse arquivo será carregado em todas as páginas a função autoload será responsável por carregar as classes do nosso sistema, que poderão ficar nas pastas controller, model, view e lib.

Da linha 32 à linha 35: Essas linhas foram retiradas do arquivo Smarty.class.php que está presente na função de autoload do Smarty, porém se deixarmos ele controlar o autoload não iremos conseguir carregar nossas classes. Essa configuração será necessária para todos que estão seguindo esse tutorial, então vá até o arquivo Smarty.class.php que está dentro da sua pasta smarty presente em framework e então vá até a linha 97 e remova a seguintes linhas de código:

config.inc.php

if (SMARTY_SPL_AUTOLOAD && set_include_path(get_include_path() . PATH_SEPARATOR . SMARTY_SYSPLUGINS_DIR) !== false) {
    $registeredAutoLoadFunctions = spl_autoload_functions();
    if (!isset($registeredAutoLoadFunctions['spl_autoload'])) {
        spl_autoload_register();
    }
} else {
    spl_autoload_register('smartyAutoload');
}

Ufa! Nosso arquivo de config está OK! Mas agora temos que fazer a nossa classe de visualizacao para iniciar corretamente o Smarty.

Ué mas porque?

1 - Precisamos extender a classe Smarty evitando assim que futuras atualizações não possa causar problemas no nosso sistema que está o utilizando, dessa forma é necessários criar uma nova classe.

2 - Nessa classe podemos criar nosso proprios métodos para manipulação de templates e coisas relavantes a saida HTML. Então segue o código já pronto da classe que eu fiz que extende a classe Smarty. Detalhe no método getInstance que será explicado nos próximos artigos onde falaremos mais de MVC Essa classe vai ficar dentro da nossa pasta view.

Visao.class.php


<?php
/***************************************************************************
 *
 *   Copyright PEDRO LUCAS DA SILVA JUNIOR
 *   Site da empresa: http://www.webleaders.com.br/
 *
 ***************************************************************************
 *
 *	 Classe para controle do framework Smarty
 *
 ***************************************************************************/

class Visao extends Smarty{

	private static $instancia;

	public function Visao(){

		parent::__construct();

		$this->template_dir	= TEMPLATES;
		$this->compile_dir		= TMP;
		$this->cache_dir    	= TMP_CACHE;
		$this->caching = false;
		$this->variavel('host',HOST);

	}

	/**
	 * Atribuir um valor a variável de template
	 *
	 * @param string $nome
	 * @param mixed $valor
	 */
	public function variavel($nome,$valor){
		$this->assign($nome,$valor);
	}

	/**
	 * mostrar na tela
	 *
	 * @param string $template
	 * @param int $id
	 */
	public function visualizar($template,$id=""){
		$this->display($template,$id);
	}

	public static function getInstance() {

		if (! isset ( self::$instancia )) {

			try {
				self::$instancia = new Visao ();
			} catch ( Exception $e ) {
				echo 'Temporáriamente indisponível';
				exit ();
			}

		}

		return self::$instancia;

	}

}

Pronto!! Agora já podemos usar o Smarty com tudo configurado.  Só para sentir o gostinho do que virá nos próximos artigos, vamos criar um arquivo com o nome de index.php na raiz da nossa aplicação e outro com o nome de index.tpl dentro da pasta template e coloque os seguinte códigos.

index.php

<?php
require_once("includes/config.inc.php");

$smarty = new Visao();

$smarty->variavel("titulo","Olá mundo");
$smarty->variavel("mensagem","Olá mundo");

$smarty->visualizar("index.tpl");

?>

index.tpl

<!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>
	<title>{$titulo}</title>
	<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1" />
	<meta name="content-language" content="pt-br" />
</head>

<body>

{$mensagem}

</body>
</html>

No arquivo index.php quando nós criamos uma instância da classe Visao, perceba que não foi necessário informar o arquivo, pois quando o PHP percebe que ainda não foi carregada a classe é enviado um pedido para a classe __autoload passando como parametro o nome da classe.

No próximo artigo iremos mais a fundo com os novos recurso do Smarty 3.0 e sobre MVC, tudo isso no nosso caminho que vamos percorrer para chegar no nosso último tutorial onde iremos criar um pequena aplicação utilizando tudo o que foi estudado nos artigos.

Obrigado galera e até a próxima!

Dúvidas e opiniões por favor postem nos comentários que eu irei responder sem sombra de dúvidas.

Arquivos do tutorial: Arquivos do tutorial Smarty + MVC

Classes em php

Posted on julho 12, 2010

Posted by Rodrigo Ireno

Antes de ler este artigo.

Se você não conhece nada de php veja: Primeiros passos com php

E se não conhece nada sobre programação orientada a objetos veja: Conceitos básicos de POO – Abstração e Modularização

Se já leu estes artigos ou já conhece o assunto, vamos proseguir.

Neste artigo vou mostrar como fazer classes em php, porém antes de falar de classes é preciso antes falar de orientação a objetos. Caso você não tenha nenhum conhecimento de orientação a objetos, leia este artigo que escrevi sobre:

Abstração e modularização.

Se já sanou suas dúvidas sobre POO (programação orientada a objetos) vamos prosseguir, visto que já leu ou procurou sobre tal assunto vou utilizar termos referentes a tal assunto.

Regras básicas para se construir uma classe em php:

  • O arquivo deve ter o mesmo nome da classe
  • O nome da classe deve sempre iniciar com letra maiúscula
  • Toda classe deve sempre iniciar com a palavra chave class

Seguindo estas regras podemos então, ter a classe da seguinte forma:

<?php

class Pessoa{
	private $nome;
	private $cpf;

	//Método construtor
	public function Pessoa($nome, $cpf){
		$this->nome = $nome;
		$this->cpf = $cpf;
	}

	//Métodos de acesso
	public function getNome(){
		return $this->nome;
	}

	public function getCpf(){
		return $this->cpf;
	}

	//Métodos modificadores
	public function setNome($novoNome){
		$this->nome = $novoNome;
	}

	public function setCpf($novoCpf){
		$this->cpf = $novoCpf;
	}

	//Outros métodos

	public function mostraDados(){
		echo "O nome é: ".$this->nome."<br />
		     "e o cpf é: ".$this->cpf;
	}
}

?>

Como visto no exemplo acima o nome do método construtor deve ser o mesmo nome da classe. Sempre, caso contrário não será considerado um método construtor. Fica inicialmente  a dúvida de porque fazer “métodos de acesso” e “métodos modificadores”, pois bem. Tudo isso é feito para manter o encapsulamento do objeto pessoa.
Por hora basta saber que uma classe que é construída de forma a tornar o objeto bem encapsulado é uma boa prática de programação.

Como isso acontece?

Através das palavras chave public, private.

Essas palavras especificam a visibilidade de elementos da classe. Por exemplo, veja no exemplo anterior que declarei que os atributos da classe (cpf e nome) são private, ou seja, eles só podem ser referenciados diretamente de dentro da classe. Visto que ações externas não podem alterá-las ou acessá-las, foi preciso então utilizar-se de métodos que auxiliassem esta relação. São os chamados métodos de acesso e modificadores.

Em outras linguagens como Java é possível declarar public ou private para a própria classe.

Vejamos agora um exemplo funcionando do nosso objeto Pessoa.

Crie um arquivo com o nome de Pessoa.class.php. Por favor, por questão de organização tenha o costume de dar a seguinte extensão para arquivos que contém classes “.class.php”. Veja que o “ponto class” (.class) na verdade ainda é parte do nome, e que a verdadeira extensão ainda é (.php).

Crie e copie o exemplo 1 para dentro deste arquivo e salve. Agora veremos o exemplo 2.

<?php
//incluo minha classe neste arquivo
include_once("Pessoa.class.php");

//Instanciando ou Inicializando um objeto

// A variavel abaixo poderia se chamar joaozinho, caso vocÊ queira
	$obj = new Pessoa("Objota",333);

// Acesso o método modificador com (->), e altero cpf para '222'
	$obj->setCpf(222);

// Por fim chamo o método que mostra na tela
	$obj->mostraDados();

?>

Salve este arquivo com o nome de executar.php. jogue os dois arquivos dentro da pasta htdocs do seu servidor apache. E veja o que acontece. Se tudo der certo você verá a seguinte mensagem na tela:

O nome é: Objota
e o cpf é: 333

Obs: Lembrando que o método echo, nativo do php, imprime na tela toda string a sua frente até encontra um “;” (ponto-e-vírgula) que indica o final de uma linha de comando.

Veja também, um exemplo classe em java: Construindo uma classe
e note como é muito parecido com php.

Este artigo finaliza aqui. Dúvidas por favor deixe nos comentários. Até a próxima.

Primeiros passos com php

Posted on julho 10, 2010

Posted by Rodrigo Ireno

Tipos de dados em php

Antes de começar é preciso saber de alguns detalhes da linguagem. Todo código para ser executado, deve estar em um arquivo com extenção ".php". Dentro de um servidor ou se for local dentro da pasta htdocs.
Em algumas linguagens, como Java, é preciso dizer que tipo de dado vai ser armazenado em uma variável. No php isso não é necessário com tipos primitivos. Ele pode armazenar números inteiros, números double ou float (números com casas decimais), sendo que as casas decimais devem ser separados por um “.”(ponto) . E String uma cadeia de caracteres, sempre entre aspas-duplas ou aspas-simples, sendo que existe diferença entre as duas. Será citada em momento oportuno.

E por último valores booleanos, ou seja: 0 ou 1, true (verdadeiro) ou false (falso).

Exemplo:
Armazenando Inteiros:
$var = 50;
Armazenando double ou float:
$var = 50.365;
Armazenando String:
$var = "Eu vi isso no objota";

Armazenando valor booleano:
$var = true; //verdadeiro
$var = 1; //verdadeiro

$var = false; // falso
$var = 0; //falso

Estruturas de Controle

Veremos a seguir uma série de estruturas de controle utilizadas no php para controlar o fluxo da aplicação. Mas antes...

Declarando variáveis:

Toda variável em php deve iniciar com o símbolo de sifrão “$”. Logo depois dele é possível colocar caracteres alfanuméricos. De A-Z e de 0-9 (o primeiro caractere depois do sifrão deve ser uma letra). Por regra de sintaxe, todo comando deve ser finalizado com um ponto-e-vírgula “;”. Vide exemplo abaixo.

$variavel;

Operador de atribuição:
O operador de atribuição “=” (igual) é utilizado para atribuir (armazenar) um valor em uma variável. Vide exemplo abaixo.


$variavel = “Valor”;

Operador de comparação:

Os operadores de comparação são utilizados para fazer comparação de valores, dentro de variáveis.

  • “==” este operador compara se o dois valores são iguais. Cuidado é muito fácil confundir este operador com o de atribuição que é só um “=”(igual).
  • “>” (maior que) este operador compara se o valor da esquerda é maior que o da direita.
  • “<” (menor que) este operador compara se o valor da direita é maior que o da esquerda. · “>=” (maior igual) este operador compara se o valor da esquerda é maior ou igual ao valor da direita.
  • “<=” (menor igual) este operador compara se o valor da esquerda é menor ou igual ao valor da direita.
  • “!=” (diferente) este operador verifica se os valores comparados são diferentes.
  • “===” (idêntico) este operador verifica se os dois valores comparados são idênticos.
  • “!==” (não-idêntico) este operador verifica se os dois valores comparados não são idênticos.

Operador de bits:

Deslocamento à esquerda:

"<<"

<code>$a << $b;</code>

Desloca os bits de $a "$b passos" para a esquerda (cada passo significa "multiplica por dois"). Se $b for 2, por exemplo, os bits serão deslocados dois passos a esquerda.

Deslocamento à direita:

">>"

$a >> $b;

Desloca os bits de $a "$b passos" para a direita (cada passo significa "divide por dois"). Segue o mesmo conceito que o anterior.
Se você ainda não tem familiaridades com base binária sugiro que faça um breve estudo a respeito. Futuramente veremos como utilizar estes operadores.

Estruturas condicionais:

IF, ELSEIF, ELSE IF, ELSE, SWICTH, CASE.

Em geral o a estrutura if funciona da seguinte forma.
If(<expressão>){
Bloco de código a executar.
}
Se a expressão dentro do parâmetro do if for verdadeira ele executa o conteúdo do bloco, caso contrário ele excuta o else . Se não existir um else ele simplesmente não faz nada.
Exemplos:
IF

<?php
$var1 = 5;
$var2 = 6;
If($var1 < $var2){
echo “Texto qualquer”;
}

?>

IF e ELSE

<?php
$var1 = 5;
$var2 = 6;
If($var1 >  $var2){
echo “Texto qualquer”;
}
Else{
Echo “Texto qualquer do else”;
}

 ?>

Também é possível fazer um encadeamento, com uma séria de if else ifs.

<?php
If(5 > 10){
 echo “primeiro if”;
}
else if(10 > 11){
 echo “Segundo if”;
}
else{
 echo “Final”;
}

?>

Experimente alterar os valores na comparação, fazendo vários testes. Isso irá ajudar a fixar bem a idéia de como funciona a estrutura.

SWICTH, CASE

Se você conseguir associar bem o uso de um if e else vai achar ainda mais fácil utilizar um swicth. Sua estrutura é bem simples, veja abaixo:

switch (<valor>) {
case 0:
echo "i equals 0";
break;
case 1:
echo "i equals 1";
break;
case 2:
echo "i equals 2";
break;
}

Se o valor recebido por parâmentro for igual ao valor na frente do palavra case então ele irá executar um comando até encontrar um comando break. Mais simples impossível. Vejamos um exemplo real abaixo:

<?php

$valor =  0;
<code>switch ($valor) {
 case 0:
echo "Teste 0";
 break;
 case 1:
echo "Teste 1";
 break;
 case 2:
echo "Teste 2";
 break;
}</code>

?>

Neste caso o case que será executado é o Zero "0";

Estruturas de repetição:

For, while, do while, foreach
Em geral uma estrutura de repetição serve para repetir um trecho de código um determinado número de vezes. O programador pode ou não saber quantas vezes este trecho irá repetir. Para isso existem estruturas como while e do while¸elas repetem um bloco de código enquanto uma expressão for verdadeira.
A estrutura for é utilizada geralmente quando se sabe o número de repetições necessárias para executar uma certa ação. Vejamos alguns exemplos.
FOR
for(<Inicia o contador>;<expressão>;<incrementa o contador>){
bloco de código a executar.
}

<?php
for($i = 0; $i <= 10;$i++){
  echo $i;
}
?>

O primeiro parâmetro do for é onde atribuímos um valor inicial para seu contador. Neste caso eu chamei de $i. O segundo parâmetro é uma expressão que pode ser verdadeira ou falsa. E o terceiro e último parâmetro é onde se incrementa o valor do contador. Os dois símbolos de “+” juntos, “++” é o mesmo que “+1”. Sendo assim $i++ é o mesmo que $i+1.
Neste caso o for imprime na tela números de 0 até 10. Sendo executado da seguinte forma. Primeiro ele atribui o valor inicial do contador, no caso zero “0”; Depois compara se a expressão é verdadeira, caso seja executa o conteúdo do seu bloco; Em seguida incrementa o contador, que antes era zero agora se torna 1 a assim sucessivamente até que a expressão não seja mais verdadeira.

WHILE
while(<expressão>){
bloco de código a executar.
}

<?php
$var1 = 20;
$var2 = 35;
while($var1 <= $var2){
 	echo $var1;
 	$var1++;
}
?>

Com a estrutura while a coisa é mais simples. Veja que ele só possui um parâmetro, que recebe uma expressão. Segue a regra, se a expressão for verdadeira ele executa o bloco de código, caso contrário o fluxo da aplicação segue em frente. Neste caso o trecho de código dentro do bloco imprime na tela todos os valores de 20 até 35. Veja que ainda dentro do bloco eu faço o incremento da variável $var1. Se isso não fosse feito, $var1 sempre iria ter o mesmo valor “20”, conseqüentemente a expressão sempre seria verdadeira “20 menor ou igual a 35”. Isso tudo iria resultar em um loop infinito, o que faria o browser ficar cada vez mais lento até travar e fechar o programa.

FOREACH
O foreach é uma estrutura utilizada para extrair todo o conteúdo de um array, para saber mais sobre arrays veja este artigo: Arrays em php.

<?php
$var1 = array(“valor1”,”valor2”,”valor3”);

foreach($var1 as $key){
 	echo $key;
}

?>

Este trecho de código imprime na tela todos os valores do Array.
Por aqui basta, espero que tenha sido esclarecedor para quem está começando. Até o próximo artigo.

Hello World em php

Posted on julho 5, 2010

Posted by Rodrigo Ireno

PHP (um acrônimo recursivo para "PHP: Hypertext Preprocessor") é uma linguagem de programação de computadores interpretada, livre e muito utilizada para gerar conteúdo dinâmico na Web.

Algumas pessoas se confundem com php e javascript, desde já esclareço. PHP é uma linguagem que é executada pelo servidor web e o javascript é executado pelo navegador do usuário.

A linguagem surgiu por volta de 1994, como um pacote de programas CGI criado por Rasmus Lerdorf, com o nome Personal Home Page Tools, para substituir um conjunto de scripts Perl que ele usava no desenvolvimento de sua página pessoal. Em 1997 foi lançado o novo pacote da linguagem com o nome de PHP/FI, trazendo a ferramenta Forms Interpreter, um interpretador de comandos SQL.

A atual versão é a 5, que possibilita utilizar diversos recursos de orientação a objetos. E ela já está caminhando firme rumo a versão 6, com certeza com mais recursos ainda.

É uma linguagem, em essência, muito parecida com C e C++. E o detalhe é que seu compilador é feito em C. Está disponível para diversos sistemas operacionais: Windows, Linux Mac OS são alguns deles.

Neste artigo quero mostrar como instalar o php e publicar um simples exemplo de script em PHP. A plataforma que irei utilizar é windows.

Para começar vamos fazer download do xampp. Um aplicativo que instala em sua máquina todas as ferramentas necessárias para se iniciar um estudo de php sendo:

  • O compilador do php
  • Banco de Dados MySQL - e a ferramenta phpMyAdmin
  • E o todo poderoso servidor Apache

Além de alguns ítens de série, mas por hora não vem ao caso.

Entendendo as três coisas. O compilador lê o seu código interpreta e executa; O banco de dados armazena dados (que novidade); E o Apache é um software para servidores web que recebe requisições e devolve uma página para o browser.

Um exemplo de requisição:
www.google.com.br

Ou seja, requisição quem faz é o usuário através do browser.

faça download do xampp

Sua instalação é extremamente simples, vai apertando "Next" ou "Próximo" até ele instalar. No meio dessa história o instalador vai te perguntar onde arquivar o xampp, lembre bem onde ele será arquivado.

Depois de instalado, encontre a pasta xampp e dentro dela encontre a pasta htdocs, pois é lá que os scripts php devem ficar para que sejam executados.

C: CaminhoQueVocêEscolheu/xampp/htdocs

( "C:" também era um exemplo, você também pode instalar em outras partições de seu computador ).

Feito isso, já temos como fazer um Hello World. Podemos usar o bloco de notas para escrever o script, salvar com a extensão “.php”, porém profissionais da área utilizam ferramentas especializadas em lidar com esta linguagem, são as chamadas  IDE's,  ( Integrated Development Environment) - Ambiente Integrado de Desenvolvimento.

Existem vários editores no mercado, a maioria freeware. Eu utilizo ZendStudio, uma excelente ferramenta para desenvolvimento web, e vai bem além de php. Outra também para iniciar e nada mais que isso seria o Dreamweaver, mas ainda assim recomendo o ZendStudio.
Bom vamos ao "Hello World";

Inicie seu bloco de notas e digite:

<?php

echo "Hellow World";

?>

Salve este arquivo dentro do diretorio ( pasta)  htdocs com a extensão “.php”, pode ser com o nome teste.php

Depois disso, inicie seu browser e digite:

http://localhost/teste.php

Se tudo der certo você verá a frase "Hello World" escrito na tela do navegador.

Pronto, você já fez, provavelmente,  seu primeiro script em php.
Dúvidas ou sugestões deixem um comentário. Abraços 😉