Instrutor: Er Galvão Escola: Targettrust
Introduções... aula Orientação objeto trabalhamos com Objetos, classes, metodos,
A classe pode ser entendida como uma planta de um objeto; toda a sequencia para produzir um objeto, ela que define as caracteristicas, funções e popriedade que nosso objeto vai desempenhar!
Quando um alinha é executa processural.. uma abaixo do outro.. fundamental.. quando utilizamos funções e chamamos elas ao longo do codigo…Na OO trabalhamos com conteners… uma classe é um … Ao desenvolver um sistema com OO… costumamos identificar alguns dos objetos que reutilizaremos , em um cadastro de clientes.. podemos agregar as funções… a um objeto.. chamado USUARIO… podendo ter seus processos: autenticar, acessar, perfil…
USUARIO - classe cadastrar() - métodos autenticacao() (funções) recuperar()
nome - variaveis senha propriedades email
- wamp ====>>> pasta HOST, ROOT
- www / ===> para acessos HTTP
-pastaServer /
Class.php (main.php)
- classes
usuario.php // usar php melhor que .class.. pois não tem como ser lido caso for invadido via browser.. ou via GET
-
Construa a classes na pasta de classes... classes / Class.php
-
Crie o arquivo que irá "USAR".. o script www / pastaServer / script.php
-
Vincule os arquivos usando o INCLUDE ou REQUERE require ('../../classes/Class.php');
/****** FECHO .. agora pra sinuca ********/
/* Autoload >>>>>>>>>>>>>>>>> COMPOSER - PSR-0 : http://www.php-fig.org/psr/psr-0/ - PSR-4 : http://www.php-fig.org/psr/psr-4/ composers.... https://getcomposer.org/ https://packagist.org/ http://github.com
http://www.noupe.com/php/20-useful-php-components-tutorials-for-everyday-project.html
http://pear.php.net/
- JSON
- - Apache/log4php
- Packagist
- Web
EXEMPLOA : https://gist.github.com/jwage/221634
function autoload($className)
{
$className = ltrim($className, '\\');
$fileName = '';
$namespace = '';
if ($lastNsPos = strrpos($className, '\\')) {
$namespace = substr($className, 0, $lastNsPos);
$className = substr($className, $lastNsPos + 1);
$fileName = str_replace('\\', DIRECTORY_SEPARATOR, $namespace) . DIRECTORY_SEPARATOR;
}
$fileName .= str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php';
require $fileName;
}
EXEMPLOA : https://gist.github.com/jwage/221634
http://www.php.net/manual/pt_BR/function.spl-autoload.php
spl_autoload_register(function ($className)
{
$className = ltrim($className, '\\');
$fileName = '';
$namespace = '';
if ($lastNsPos = strrpos($className, '\\')) {
$namespace = substr($className, 0, $lastNsPos);
$className = substr($className, $lastNsPos + 1);
$fileName = str_replace('\\', DIRECTORY_SEPARATOR, $namespace) . DIRECTORY_SEPARATOR;
}
$fileName .= str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php';
require $fileName;
});
*/
CLasses Abstratas.... // elas nao poderam ser instanciadas... ou seja sou obrigado EXTENDs para usar. bancoDeDados .. .. pois nao se refere a algo especifico....
Classes Concretas..
mysql ....... mysql.php \n
postgresql .. postg.php \n
Estrutura: \n
RAIZ
+ classes_arno
+db
- db.php
- mysqli.php
- postg.php
- autoload.php
+ www (public_html)
+ aula_ooPHP
- script.php
- Classes com inicial Maisucscula
- Cada metodo.. um unico algoritimo .. unica função
- Não use echo ou print em um Classe ou função.!
###Dicas: PHP fundamental;
- Utilize os operadores === e !==
- isset() brincando de strlen()
- Evitando aquele maldito erro dos Ifs
- Zeros à esquerda (e à direita também!)
- Com vocês, a função list()
- Esqueça (de vez) o '?>' no final dos arquivos
- Métodos em cadeia
- Par ou ímpar?
- echo 'Olá', 'Mundo';
- Ordenando arrays por um índice
- Substituindo a primeira ocorrência de uma string
referencia: http://www.daviferreira.com/posts/11-dicas-de-php-que-talvez-voce-nao-conheca