• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
[LatinoWare 2012] Mini Curso PHP 5.4 + MongoDB
 

[LatinoWare 2012] Mini Curso PHP 5.4 + MongoDB

on

  • 1,338 views

Mini-curso sobre PHP 5.4 e MongoDB no Latino Ware 2012.

Mini-curso sobre PHP 5.4 e MongoDB no Latino Ware 2012.

Statistics

Views

Total Views
1,338
Views on SlideShare
1,077
Embed Views
261

Actions

Likes
0
Downloads
15
Comments
0

2 Embeds 261

http://www.programador.eti.br 260
https://si0.twimg.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    [LatinoWare 2012] Mini Curso PHP 5.4 + MongoDB [LatinoWare 2012] Mini Curso PHP 5.4 + MongoDB Presentation Transcript

    • PHP 5.4 + MongoDB Conceitos e prática
    • Quem fala?Vinícius de Sá - @vdssg19 anosDesenvolve na Móveis SimonettiEstuda Análise e Desenv. de Sistemas na UNISAMAma tecnologia e qualquer coisa que agilize as coisasPrograma em PHP, JavaScript, Python
    • PHPPHP: Hypertext PreprocessorLinguagem de programação OpenSource;Criada em 1995 por Rasmus Lerdorf;Sintaxe like C/C++ e Perl;Orientado a Objetos;6a Linguagem no Ranking TIOBE;20 mi de WebSites, em mais de 1 mi de ser vidores;
    • PHP, mas quem usa?Facebook;Google;WikiMedia (WikiPedia);Yahoo;Bank of America;Wordpress.
    • Tá, mas como eu faço pra instalar?Debian, Ubuntu, Mint: apt-get install php5;Fedora, CentOS, RedHat: yum install php;OpenSuse: zypper install php5;OS X: port install phpWindows(aff): http://windows.php.net/downloads
    • Mas... no nosso caso.wget http:/ /br1.php.net/distributions/php-5.4.7.tar.bz2tar -jxvf php-5.4.7.tar.bz2cd php-5.4.7./configure --disable-allmakesudo make install
    • Testando a instalaçãocd ˜/mkdir testes || cd testesecho "<?php phpinfo(); ?>" > index.phpsudo php -S 127 1:80 .0.0.
    • Resultado dainstalação... :)
    • E o que o PHP tem de bom?Documentação;Certificação oficial - Zend Technologies;Modelo orientado a objeto;Restful, SOAP, AJAX;Namespaces;Closures;Traits;Interface CLI;Servidor Web embutido para testes;Ecossistema (Composer, git, perl, pecl);Frameworks (Zend, Symfony, CodeIgniter, Yii);ORM (Doctrine2, Propel);Instalação de extensões.
    • E o NoSQL? O que é?NoSQL são diferentes sistemas dearmazenamentoque vieram para suprir necessidadesem demandas onde os bancos de dadostradicionais (relacionais) sãoineficazes.
    • Bancos NoSQL são...Sem relacionamentos;Distribuidos;Open-Source;Map/Reduce;Altamente escaláveis(horizontalmente);Schema-free;Fáceis ao replicar;Simples(instalação, API, etc);NO ACID - Tolerância à falhas;Robustos(Grandes quantidades de carga e dados);
    • Então, o que quer dizer NoSQL?
    • Tipos de bancos NoSQL ! =)Wide Column Store;Document Store;Key Value;Graph Databases;
    • Wide Column StoreSuporte a grandequantidade de linhas ecolunas;Subcolunas;Exemplos: Cassandra (Apache); Big Table (Google);
    • Documents StoreBaseado em docs XMLou JSON;Localização por ID ouqualquer outro registro;Exemplos: MongoDB (10gen); CouchDB (Apache);
    • Key ValueSuporte a maior cargade dados;Maior escalabilidade;Exemplos: MemCached; SimpleDB;
    • Graph StoreArmazenamento deobjetos;Navegabilidade pelosobjetos;Exemplos: Neo4j; monetdb;
    • Mas então, qual eu devo utilizar?
    • O banco certo pra situação certa!Cada ferramenta é boa em uma áreaespecifíca, não tem como atender todasas situações com um único tipo de banco.Então, cuidado!
    • E onde entra o MongoDB?Alternativa para o velho M do LAMP;Altamente escalável;Totalmente sem esquemas;Fácil acesso à informação;Suporte a várias linguagens e O.S.;
    • Casos de Uso Mongo
    • E pra instalar?Acesse: http://www.mongodb.org/downloadsBaixe a release para seu sistema;Descompacte e pronto. :)
    • Instalação do Mongo: 1As versões 32-bits só suportam bases com até 2GB e não são recomendados para produção!
    • Instalação Mongo: 2tar -zxvf mongodb-osx-x86_64-2.2.0.tgz
    • Instalação Mongo: 3sudo cp mongodb-osx-x86_64-2.2.0/bin/* /usr/bin/
    • Instalação Mongo: 4sudo mkdir -p /data/dbsudo chown `id -u` /data/db
    • E agora??sudo mongod
    • Como eu sei que funcionou? Acesse: http://127 1:28017 .0.0.
    • E quem já sabe SQL?
    • E quem já sabe SQL?
    • E como é que uso as duas coisas? PHP+Mongo
    • Extensão Mongo p/ PHPsudo pecl install mongoecho "extension=mongo.so" >> /usr/local/lib/php.ini
    • SQL -> Mongo+PHPhttp://www.php.net/manual/en/mongo.sqltomongo.php
    • Conectando ao Mongo
    • Inserindo em uma Collection
    • Removendo em uma Collection
    • Atualizando em uma Collection
    • Buscando em uma Collection
    • Projeto práticoCRUD(inserir, buscar, atualizar e deletar);Dados de uma pessoa: nome, telefones, email, observacoes, data de nascimento
    • Conteúdo disponível em: vdssgmu@gmail.com github.com/viniciusss @vdssg www.programador.eti.br
    • Obrigaduuuuuu!