Mongo + php

1,894 views

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,894
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
22
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Mongo + php

  1. 1. MongoDB + PHP
  2. 2. QuemAgripino Duarte@agripinoduarte @RadigTI
  3. 3. MongoDb“MongoDB (from "humongous") is a scalable, high­performance,  open source NoSQL database” mongodb.org 
  4. 4. MongoDb✔  Escrito em C++✔  Linguagem Rica e de Fácil Entendimento✔  Orientado a Documentos (BSON)✔  Não Relacional (NoSQL)✔  Tipado Dinamicamente (Schemaless)✔  Suporte a Índices✔  Suporte a Replicação (Master­Slave e Replica Sets)✔  Map/Reduce✔  Mais...
  5. 5. MongoDbDrivers✔  C✔  C++✔  Erlang✔  Haskell✔  Java✔  Javascript✔ .NET (C# F#, PowerShell, etc)✔  Node.js✔  Perl ✔  PHP✔  Python✔  Ruby✔  Scala
  6. 6. MongoDbLinux/Unix OS X Windows32 e 64 bits
  7. 7. MongoDb
  8. 8. MongoDbInstalando
  9. 9. InstalandoLinuxFácil:  apt­get/aptitude/yum install mongodbPouco fácil:curl http://downloads.mongodb.org/linux/mongodb­linux­x86_64­x.y.z.tgz > mongo.tgztar ­zxvf mongo.tgzmkdir ­p /data/dbchown mongo /data/dbmongod ­­config /etc/mongod.conf
  10. 10. InstalandoOS XFácil: brew/port install mongodbPouco Fácil: curl http://downloads.mongodb.org/osx/mongodb­osx­i386­x.y.z.tgz > mongo.tgztar ­zxvf mongo.tgzsudo mkdir ­p /data/dbsudo chown `id ­u` /data/dbmongod ­­config /etc/mongod.conf
  11. 11. InstalandoWindowsDifícil:cd move C:mongodb­win32­* C:mongodbmd datamd datadbC:mongodbbinmongod.exe(Depending on the security level of your system, Windows will issue a Security Alert dialog box about blocking “some features” of C:mongodbbinmongod.exe)md C:mongodblogecho logpath=C:mongodblog > C:mongodbmongod.cfgC:mongodbbinmongod.exe ­­config C:mongodbmongod.cfg –installnet start MongoDB
  12. 12. Suporte ao MongoDB no PHP
  13. 13. Suporte ao MongoDB no PHP PHP >5.1 Linux, OS X e Windows 32 e 64 bits
  14. 14. Instalando a Extensão mongo ao PHP
  15. 15. Instalando a Extensão Linux sudo pecl install mongo extension=mongo.so OS X sudo pecl install mongo  extension=mongo.so Windows Go to http://www.php.net/manual/en/mongo.installation.php#mongo.installation.windows extension=php_mongo.dll
  16. 16. Usando o MongoDB no PHP
  17. 17. MongoDB no PHP Por que? Web Apps Informações Rápidas Escalabilidade Cache
  18. 18. MongoDB no PHP Criando uma Conexão $m = new Mongo();  // conecta a localhost:27017 Ou$m = new Mongo(exemplo.com:1337);  // conecta ao host  exemplo.com na porta 1337
  19. 19. MongoDB no PHP Selecionando um banco de dados$db = $m­>phpms; //seleciona o banco de dados phpms Selecionando uma coleção $participants = $db­>participants;
  20. 20. MongoDB no PHP Inserindo dados$participants ­>insert(array( name => jose);$participants ­>insert(array( name => maria, cpf => 12345678901);
  21. 21. MongoDB no PHP Executando um comando$db­>execute(db.insert({participants: {name:”jose”}}));
  22. 22. MongoDB no PHP Tipos de Dados
  23. 23. MongoDB no PHPMongoInt32: Inteiro de 32 bits num sistema 64 bits $i = new MongoInt32(123.45);MongoInt64: Inteiro de 64 bits num sistema 32 bits $i = new MongoInt64(123.45);MongoDate: Data/Hora em milisegundos $date = new MongoDate(strtotime(2012­08­17 18:00:00));
  24. 24. MongoDB no PHPBuscando num intervalo de datas $start = new MongoDate(strtotime("2012­08­17 00:00:00")); $end = new MongoDate(strtotime("2012­09­01 00:00:00")); $participants­>find(array( “inscription_date” => array( $gt => $start,  $lte => $end ) ) );
  25. 25. MongoDB no PHPBuscando num intervalo de datas $start = new MongoDate(strtotime("2012­08­17 00:00:00")); $end = new MongoDate(strtotime("2012­09­01 00:00:00")); $collection­>find(array( “inscription_date” => array( $gt => $start,  $lte => $end ) ) );
  26. 26. MongoDB no PHPMongoDB nos Frameworks PHP
  27. 27. MongoDB nos Frameworks PHP CakePHP CodeIgniter Drupal Kohana Lithium Symfony Zend Etc.

×