2. Classes e Objetos
PHP5
PHP4 classes mais completas,
classes simples uso de padrões
class Var {
class Var { private $a;
var $a; private $b;
var $b; private $c;
var $c;
function Var($a,$b,$c) { public function
///atrubuiçoes __construct($a,$b,$c) {
} ///atrubuiçoes
} }
$var = new Var('teste', //getters
'pronto', //setters
'frango'); }
$var = new Var('teste',
'pronto',
'frango');
3. Construtores e Destrutores
class Var {
private $a;
private $b;
private $c;
public function __construct($a,$b,$c) {
///atrubuiçoes
}
public function __destruct() {
unset($this);
}
}
exemplo
4. Visibilidade
Propriedades e Métodos
public
protected
private
exemplo
5. Abstração
Classes e Métodos
Não podem ser instanciadas
exemplo
6. Interfaces
Não podem ser instanciadas
Metodos herdados devem ser implementados
interface
implements
exemplo
7. Iteração com Objetos
foreach
Mostra as propriedades publicas
$classe = new NovaClasse();
foreach($classe as $chave => $valor) {
print quot;$chave => $valornquot;;
}
8. Iteração com Objetos
Interface Iterator
Qualquer objeto define sua própria maneira de iterar
Todos os métodos devem ser implementados
exemplo
9. Iteração com Objetos
Interface IteratorAggregate
Qualquer objeto define sua própria maneira de iterar
Nem todos os métodos devem ser implementados
Devemos ter uma classe Iterator para retornar
Podemos criar collections
exemplo
10. Exceções
Objeto Exception
Throw e try/catch
Controle de fluxo por exceções
exemplo
11. Indução de tipo
Maior controle sobre os dados
Mais confiabilidade
Somente para arrays e objetos
class MyClass {
public $var = 'Frango com Bacon';
}
function MyFunction (MyClass $foo) {
echo $foo->var;
}
$myclass = new MyClass;
MyFunction($myclass);
12. Padrões de Projeto ( design patterns )
Reutilização de códigos
Melhores práticas de programação
Solução para problemas do dia a dia
13. Padrões de Projeto ( design patterns )
Factory
Criação de objetos em tempo de execução
Fazer verificações antes de criar um objeto
exemplo
14. Padrões de Projeto ( design patterns )
Singleton
Única instância de uma determinada classe
exemplo
15. Padrões de Projeto ( design patterns )
Outros Padrões
Abstract Factory
Composite
Facade
...
16. Final =D
PHP
( www.php.net )
Design Patterns
( http://www.industriallogic.com/papers/learning.html )
pQui Linux
( http://pqui.codigolivre.org.br/ )
Pedro Ivo Branquinho Gimenes
pedroivo.branquinho@gmail.com