Conhecendo a Programação Orientada a Objeto como PHP

0

Salve Amigos do VAB, David CHC em mais uma aula de PHP. Nessa Video Aula iremos conhecer um pouco sobre Programação Orientada a Objeto com PHP. Esse é o assunto mais pedido, desde a minha primeira video aula lá no Mxmasters. Tentei abordar de maneira fácil com um exemplo real da sua utilização. Iremos ver o que é um objeto, class, atributos, métodos, método Mágico, instância, em enfim, um pouco para começarem a entender e se interessarem sobre o assunto. Boa Aula.

Sugestão: Tente criar aplicar alguns conceitos da video aula em script já criado no VAB, como busca interna sem Banco de Dados, Query String , listagem de pasta, é importante práticar para começar a entender melhor sobre Programação Orientada a Objeto.

Script Utilizado: http://www.mxmasters.com.br/comunidade/viewtopic.php?f=50&t=2663&start=0

O script está comentado também para uma melhor compreensão da vídeo aula.

CURSO RELACIONADO

Sabia que nós temos um curso relacionado a este post?

Curso galeria de vídeos com PHP e Mysql

Ver Curso

Postar comentários

56 comentários

  1. Postado por Gabriel, em Responder

    muito bom a video aula cara… to curtindo as video aulas aqui do VAB…

  2. Postado por Michel, em Responder

    Muito legal. Parabéns David!
    Por as variáveis do php serem dinâmicas, acho a sintaxe meio estranha, fico sempre com a impressão que falta algo, mas o importante da aula são os conceitos, que como dito valem pra qquer linguagem…
    Se alguem quiser ver um pouco mais dos conceitos com bastante bom humor, aconselho a série de posts sobre o assunto no http://www.digitalminds.com.br/tags/zenoop

    []‘s

    • Postado por David CHC, em Responder

      @Michel, realmente a tipagem dinamica do PHP pode ser bom e ruim ao mesmo tempo, bom pq vc não precisa se preocupar que tipo de dado aquela variavel vai receber, e ruim, quase do mesmo motivo, vc não não sabe qual tipo q vai receber, mas pra isso vc pode fazer validação, e se vc usa outras linguagens, vc realmente estranha. O intuito da video aula é tentar dá uma noção de saber o q é um objeto, e como enxegar isso, dizer o q é um atributo, o q é um método, como eles podem se comporta e acessá-los, mas como falei tbm cada linguagem pode implementar de uma maneira, mas o conceito global seria quase o mesmo. Esse link q vc passou é muito bom, eu já conhecia. vlw

      Samuel Lucas . Não entendi direito essa sua comparação, se pude explanar um pouco mais, serial legal. vlw

  3. Postado por Samuel Lucas, em Responder

    Otima video aula david . lembrando que programaçao orientada pra objeto tem alguns que pensam que e para objeto como imagens e etc. mas nao e . E sim para objetos como servidores Em Sql , banco de dados e listagens Parabens pela video aula .

  4. Postado por Leonardo Tavares, em Responder

    David parabéns pela vídeo aula :)

  5. Postado por Alison_PC, em Responder

    David CHC Admiro muito seu trabalho cara, você manja muito, toda vez que entro no VAB, vejo uma nova video aula postada com o nome do Autor “David CHC”, eu tenho o prazer de assisti-la.

    Lhe agradeço muito, você me ensinou muito, tanto a mecher com PHP, como JQuery e em outras video aulas, Obrigado!

    • Postado por David CHC, em Responder

      @Alison_PC, q bom vc minhas aulas estão te ajudando a entender um pouco sobre php e jquery, isso é realmente muito gratificante e incentiva cada vez mais criar video aulas. vlw

      @Rodrigo Martinelli, é muito simples o conceito do __construct, ele vai executar, quando vc for instanciar uma classe. Vc instanciou, ele chama o método __construct. Um exemplo, vamos dizer q vc tá criando uma classe, em q vc quer q determinados atributos sejam carregados com algum valor por padrão, então vc usar o __construct para fazer isso. Nesse caso da video aula, eu queria atribuir valores logo ao instanciar a classe, isso é interessante pq tbm diminui as linhas q vc vai usar.

  6. Postado por Rodrigo Martinelli/Bom Jesus dos Perdões/SP, em Responder

    cara.. muito boa explicação…. so me perdi na hora do __construct
    fiquei boiando urghh..
    mas agora ja tenho definido o que são classes, atributos e metodos, algo que sempre me perdi pra entender…

    quando vc começar a fazer mais tutoriais
    utilizando oop em aplicações com BD ficara mais claro ainda a utilização do oop pra mim.

    valew mesmo,

  7. Postado por marcio, em Responder

    Olá Davi, gostaria de saber se tem como fazer uma video sobre como enviar dados do formulario para o banco de dados….?? e se tem como faz o contrario tipo assim pegar os dados do banco atravez de um formulario???

    grato,

    Andre Lima

  8. Postado por marcio, em Responder

    se poder tiver como POO eu aceito tbm…masi queria pegar um formulario de contato exemplo e jogar os dados desse formulario para o banco….e a outra opção é de pegar os dados do banco e inserir no formulario….

    • Postado por David CHC, em Responder

      @Andre Lima, então o link q passei sobre sistema de comentário tem esse principio, vc vai aprender a inserir dados na tabela no banco de dados, vc vai ter um formulário pra poder inserir esses dados. E na hora de recuperar esses dados é da mesma maneira, apenas vc vai coloca-lo no value do seu campo input ou textarea. Veja outras video aula no VAB, como carrinho de compras, Avaliação de Produtos com PHP, esses tem mostrando dados ou inserindo ou alterando dados na tabela, q poderam te ajudar a entender como fazer o q vc deseja.

  9. Postado por Tutorial City, em Responder

    Boa vídeo-aula. Vai ser bastante útil não só pros usuários como pra mim também, que tenho algumas video-aulas em mente e já quero usar orientação a objeto. Não sei se tem muito mais pra falar além disso aí… talvez extender objetos, outros métodos mágicos e tal, mas com isso aí já dá pra fazer quase tudo que agente precisa. ;)

    • Postado por David CHC, em Responder

      @Tutorial City, o mais complicado, pelo eu acho é entender um pouco a lógica, conseguir identificar o que é um atributo, o que um método, tentar transferir os problemas pra soluções em POO. Claro q falta alguma coisas praticas e conceituais, como vc já falou, extender classes, mais métodos mágicos, mais sobre ecapsulamento(apesar abordei um pouco na video aula) falar sobre conceitos sobre abstract, final ,static, interface, indução de tipagem, polimorfismo, entre algumas coisas. E como sempre respondo perguntar sobre temas variados, o senti q a maior dificuldade é começar, entender o q é um objeto, etc, tentei dá uma visão geral, pelo é um começo pra quem quer aprender sobre esse mundo OO, e com vc já falou, dá pra fazer já algumas coisas passada na video aula, rs.

  10. Postado por andre, em Responder

    ok! resolvido…outra coisa tenho um sistema de upload so q quero q para cada usuario fazer o up ele armazenar em diretorios diferentes? como faço isso??

  11. Postado por Emmerson Siqueira, em Responder

    David muito boa a video aula!

    Isso tudo que foi passado eu ja sabia, mais mesmo assim vlw! quando a tempo estou sempre estudando bastante POO !

    Abraço.

  12. Postado por Matheus, em Responder

    David por favor vc podia me ensinar uma coisa. É que eu tenho um sistema de cadastro, e eu queria saber como que eu faço pra que cada pessoa quando se cadastrar e logar no site tenha uma página própia pra ele adicionar fotos dele etc. Mais que seja só no login dele e outra pessoa com outro login possa colocar fotos dela no login dela.
    Por favor me ajude! =]

    • Postado por David CHC, em Responder

      @Matheus, para isso vc vai ter q guarda o ID da pessoa nas tabelas q vc quer seja unica. exemplo, vc quer fazer uma galeria de imagens, então vc guardaria o id daquela pessoa na tabela da galeria, assim vai conseguir identificar de quem é aquela galeria.

  13. Postado por Tutorial City, em Responder

    @Matheus
    Você precisa de noções baásicas de PHP e MySQL, busque tutoriais básicos ou livros(recomendo) sobre esse assunto. busque tutoriais/livros que te ensinem a criar um CMS básico.

  14. Postado por Reginaldo Santana, em Responder

    Olá David! Parabéns a você e ao VAB pelo excelente serviço de devisão do seu conhecimento com todos os internautas do VAB. Pois, todas são show e 100% proveitosas.
    Aproveitando a oportunidade gostaria de sugerir uma vídeo aula para que vc postasse no VAB… “Como criar o autocompletar”, assim, como no google vc vai digitando e automaticamente aparecem algumas sugestões…ok

    • Postado por David CHC, em Responder

      @Reginaldo Santana, obrigado. E sua sugestão já foi anotada. vlw

  15. Postado por Sergio Araujo - SP, em Responder

    Ola David blz….

    Parabens pela iniciativa de falar sobre OOP, acho que isso ira ajudar muitos usuario iniciantes em PHP aprender melhor essa linguagem.

    Estaremos aguardando novos videos.

    Abraços

  16. Postado por Charles Potel, em Responder

    Ola David, foi de muita ajuda esta video aula, acho q posso dizer que ate hj nao encontrei nada mais explicativo na internet, pelo menos em video e na lingua portuguesa, kkk !! Parabéns. Gostaria de dar tambem uma sugestão, se possivel. Ate hj mtos veem sobre o termo “Framework”, mais existem muitas duvidas em relação e isso, como o que ele faz, pra que ele serve, porque é tao utilizado, etc…, principalmente no que diz respeito a PHP, como o Zend Framework por exemplo. Abraço !

    • Postado por David CHC, em Responder

      @Charles, realmente material português e em video sobre Orientação a Objeto é dificil encontrar mesmo. Sobre Framework, pense nunca rotina de codigos ou melhor dizendo, uma abstração de determinadas rotinas, isso “facilitaria” pq vc digitaria menos código. Como vc já disse, o Zend, tem tbm o CakePHP, Symfony, Prado, spaghetti (esse é brasileiro), entre outros. Cada framework tem suas vantagens e desvantagens, e falar qual é melhor seria complicado, talvez a zend saia na frente pelo motivo se da empresa q mantem o PHP. Sou defensor de ser aprender primeiro o Minimo OOP para vc pode trabalhar com algum framework. Mas pq? Vc terá um aproveitamento maior ao utiliza-los. Não sou um conhecedor de frameworks, mas pretendo dá uma estudada para pode criar algo relacionado isso. Vlw pela sugestão.

  17. Postado por Matheus, em Responder

    Brigadão por ter respondido…
    posso fazer uma sugestão?!
    faz uma video aula ensinando login e senha e ensinar também a fazer isso tipo o orkut, que eu entro com meu login e senha e la eu tenho minhas imagens meus videos…abraço.

    • Postado por David CHC, em Responder

      @Matheus, existe uma vídeo aula minha sobre Login e Senha no Site, só q não é em Orientação a Objeto, mas pode ser uma ótima oportunidade de vc tentar praticar no que foi abordado na vídeo aula, a melhor maneira de ser aprender algo é tentando fazer. Sobre imagens tem video aulas sobre como enviar multiplo arquivos e redimensionar imagens, e outra de upload de imagens guardando no banco de dados(essa não é minha), isso pode te ajudar.
      Para ficar mais fácil quando criar métodos ou atributos, pense assim: Se for para guardar valor para pode usar, eu uso um atributo, e se for para executar uma ação, crio um método.

  18. Postado por Matheus, em Responder

    Brigado vlw! =]

  19. Postado por andre, em Responder

    ola meu patrao vc pde postar masi aulas de POO com php???

    • Postado por David CHC, em Responder

      @andre, irá ter mais vídeo aulas sobre OOP

  20. Postado por Mario Sérgio, em Responder

    Muito Bom..
    eu não sei PHP mais entendi algumas coisas,Parábens.

    Gostaria de Saber como faz pro nodpad++ dar essas Opções inteligentes igual ao (DW) vlw.

    • Postado por David CHC, em Responder

      @Mario Sérgio, basta ir em configurações > preferencias > Backup / Auto-completar.
      Marque a opção: Habilitar auto completar para cada entrada. E marque tbm: Completar Função

  21. Postado por Otávio do Nascimento, em Responder

    Muito show esta video aula! acompanho sempre suas video aulas são muito 10! Uma sugestão de video aula seria criar paginação de registros com php, já procurei em vários lugares e até agora não consegui encontrar! Obrigado pelo conhecimento q vc nos transmite!

    • Postado por David CHC, em Responder

      @Otávio do Nascimento, vlw. Vou ver se consigo fazer uma paginação, e publico sim.

  22. Postado por Eduardo, em Responder

    Primeiramente Parabéns pelas video-aulas!!!num perco uma!!!
    Gostaria que me desse uma ajuda se puder…olha só!!!

    eu criei uma galeria lightbox com admin!!! no meu admin ele gera uma pasta com as fotos e outra com as thumb!!! agora eu preciso exibir essa thumb com o link para a foto grande olha o código que eu to usando!!!

    <?php
    foreach (glob("images/eventos/$pasta/*.*") as $filename);
    echo "



    “;
    ?>

    aí ta pegando a foto da pasta e redimensionando…num ta pegando as thumb… teria que criar mas alguma variavel aí pra buscar na outra pasta…..mas num to conseguindo…
    o endereço no caso seria este

    THUMB
    images/eventos/$pasta/thumbnails/*.*”

    FOTO NORMAL
    images/eventos/$pasta/*.*”

    se puder ajudar agradeço
    abraço

  23. Postado por Eduardo, em Responder

    David consegui fazer aqui…fiz o seguinte:

    <?php

    foreach (glob("images/eventos/$pasta/*.*") as $filename){

    foreach (glob("images/eventos/$pasta/thumbnails/*.*") as $thumb) {

    echo "

    “;
    }
    }
    ?>

    só que deu um pequeno problema… as fotos estão se multiplicando sozinhas na hora de exibir…tipo cada foto ta aparecendo umas 6 vezes e na pasta só tem uma de cada…
    oque pode ser??

    vlw”s

    • Postado por David CHC, em Responder

      Eduardo, vc tá fazendo 2 loops, tente fazer assim:

      $grande = glob(“images/eventos/$pasta/*.*”);
      $thumb = glob(“images/eventos/$pasta/thumbnails/*.*”) ;
      $contar = count($thumb);
      for($i = 0; $i < $contar; $i++){
      echo 'Foto Grande '.$grande[$i].' – Foto pequena: '.$thumb[$i].'’
      }

      Ai basta colocar as imagem nos links e na tag img

  24. Postado por Eduardo, em Responder

    DAVID deu certinho aqui…mto obrigadoOOo….
    abraço

  25. Postado por Matheus, em Responder

    Obrigado David! tentei agradeçe no MxMasters nao deu xD! Mais Valeu mi Ajudo muito agora soh pratica né

    • Postado por David CHC, em Responder

      @Matheus o VAB faz parte tbm do Mxmasters, está tudo em casa, rs

  26. Postado por Matheus, em Responder

    Hehe blz….

    Tipo…. Uma Sugestão de Video Aula…. Porque você não nos enssina a…. ex: Criar tipo um sistema de Comentario com PHP e Banco de Dados…. só que Respeitar os , Acentos, Cores, Negrito, Italico…. Essa é uma duvida de muito eu so um deles xD!

    • Postado por David CHC, em Responder

      @Matheus, existe uma vídeo aula aqui sobre sistema de comentário, mas vou ver o q posso fazer sim, vlw pela sugestão.

  27. Postado por Roberto, em Responder

    Parabéns pelo didatismo e objetividade de sua V.A.

    O tom de bom humor fez com a aula ficasse agradavel e ajudou a melhorar o aproveitamento

    Abraços

  28. Postado por Ernani José, em Responder

    Muito boa mesmo a aula, estou sempre querendo aprender sobre o assunto, sua aula está bem didatica, abraços

  29. Postado por Alex Mello, em Responder

    Olá boa tarde, sou programador php, porém no que se refere O.O. ainda ahco bastante confuso.

    Achei legal o modo como vc criou a class e tb criou sua página exemplo.php que é onde vc está crianado o objeto de conexão, até aí tudo bem fiz tudo igual, porém me surgiu uma dúvida renomiei seu arquivo exemplo.php paa conexao.php.

    Acreditando que este fosse meu arquivo de conexao tentei chama-lo em qualquer outra página atrave do require(“conexao.php”);
    porém minhas consultas não funcionam, o que pode estar errado ??

    Abs

  30. Postado por Jonas, em Responder

    Otimo video ! Grande David!
    Orientação a objeto, um dia acho que aprendo rsrs, acho não, eu vo aprender sim, vo me esforçar, pq eu sei que um dia eu vo conseguir!
    abc

    • Postado por David CHC, em Responder

      @Jonas, é começar ver logo OOP, q é um assunto sempre interessante. abrs

  31. Postado por Jonas, em Responder

    Verdade!, ja estou pesquisando muito sobre isso. David na aula vo citou uma maneira de fazer conexao com BD dessa outra maneira ai, é uma forma mais segura de conexão ? mais doq a forma tradicional de fazer a conexao, ou foi so pra demostrar como OOP trabalha ?

    • Postado por David CHC, em Responder

      @Jonas, não é uma forma mais segura em relação a maneira procedural. Apenas foi para demonstrar um pouco sobre OOP mesmo

  32. Postado por David CHC, em Responder

    Tenho vontade em fazer uma sequencia nas video aulas sobre OOP, mas o estou realmente sem tempo para criar. Mas se ver as outras vídeo aulas minhas, sempre tem algo relacionado, como Chat com PHP, Criando Cache, template, sempre é abordado, pode te ajudar.

    • Postado por Jowebdeveloper, em Responder

      Valeu David, vou dar uma olhada nessas vídeo aulas que você indicou, mas vou ficar aguardando suas vídeo aulas sobre OOP, porque as que eu vi por ai não são bem explicadas como as suas

      • Postado por David CHC, em Responder

        Vlw, realmente tá complicado fazer aulas, mas se consegui e tento abordar sobre OOP

  33. Postado por Ademir, em Responder

    Olá David,

    pena que você não está conseguindo fazer mas videos, qunado você faz os projetos para seus clientes você faz todo orientado a objeto.

    Ademir

    • Postado por David CHC, em Responder

      Ademir, infelizmente não tenho mais tempo para criar vídeo aula devido ao trabalho. Sim, os meus projetos, trabalho com orientação a objeto.

  34. Postado por David CHC, em Responder

    Essas propriedade tem que ser privadas, pq vc nao quer ela seja modificado por qualquer pessoa.

    Pensa no seguinte. Cada método só pode ter uma responsabilidade. Vou postar um exemplo abaixo :

    http://pastebin.com/JWJxcqRC