0
MongoNYC - PHP Development With MongoDB
         Presented By: Fitz Agard - LightCube Solutions LLC

                     ...
Introductions - Who is this guy?
{ “name”: “Fitz Agard”,
  “description”: [“Developer”,”Consultant”,”Data Junkie”, “Educat...
Yankee Stadium

 Get People In


Make the Most
 of their Time

Get People Out
     Safely
Web-Based Applications

1. Get Data In

2. Make the most of the data

3. Get the data out safely
Does your
 PHP code
work well with
    this?
How about
  this?
Why PHP Developers Should Use MongoDB?

                    Database Reasons

• Document-oriented storage - JSON-style doc...
Why PHP Developers Should Use MongoDB?

            PHP Reasons


                          OO
  AD                       ...
Why PHP Developers Should Use MongoDB?

                           PHP Reasons

                                          ...
Why PHP Developers Should Use MongoDB?




The KISS Method
Use Case - eCommerce
Imagine the SQL
 (not PHP) code
 you would have
to write to figure
   out product
      details.
Simple
         and
       Flexible



http://kylebanker.com/blog/2010/04/30/
       mongodb-and-ecommerce/
Mongo and PHP in a Nutshell
                 http://us.php.net/manual/en/book.mongo.php




Common Methods                ...
Don’t you find it strange we haven’t
      talked about PHP yet?
Check out all the
  open PHP
   projects!
phpMoAdmin
                         Eric David Benari - support@phpMoAdmin.com




• Nothing to configure - place the moad...
ActiveMongo
                            Cesar D. Rodas- crodas@php.net




• Handle MongoDB connection, connecting once wh...
Let’s talk about PHP Frameworks that Support MongoDB
Let’s Pick a Framework and Use it with MongoDB
+
• Integrated Unit Testing (speed, quality) [thank you: closures, iterators]
• Aspect Inspired Filter System (flexibility) [...
Let’s Make Use of the MVC
Your Connection
Your Connection




                  Use This
Your Connection




                  Not This
Setup Your Model




  This will setup your mongodb collection
Setup Your Views


                   index.html.php




                                    add.html.php
Last But Not Least - The Controller
Yay!
It Worked!
What happens when we need
   to extend our Blog?



     Let’s add a Tag!
Normally we
would touch this!
= Dynamic Schema
Just Change Your Views


                 index.html.php




                                  add.html.php
Just Change Your Views


                 index.html.php




                                  add.html.php
What else can I do with MongoDB and PHP?
Cursors
 MongoDates
                     Indexes                   MapReduce

                ...Just to name a few...
   ...
No more time.


            Go here for more:
http://us.php.net/manual/en/book.mongo.php
         http://www.mongodb.org
 ...
{ “type”: “Conclusion”,
  “date”: new Date('05-21-2010'),
  “comments”: [“Thank You”,”Have Fun Developing”],
  “location”:...
Mongo NYC PHP Development
Upcoming SlideShare
Loading in...5
×

Mongo NYC PHP Development

5,987

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
5,987
On Slideshare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
84
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide









































  • Transcript of "Mongo NYC PHP Development "

    1. 1. MongoNYC - PHP Development With MongoDB Presented By: Fitz Agard - LightCube Solutions LLC May 20, 2010
    2. 2. Introductions - Who is this guy? { “name”: “Fitz Agard”, “description”: [“Developer”,”Consultant”,”Data Junkie”, “Educator”, “Engineer”], “location”: “New York”, “companies”:[ {“name”: “LightCube Solutions”, “url”: “www.lightcubesolutions.com”} ], “urls”:[ {“name”: “LinkedIn”, “url”: “http://www.linkedin.com/in/fitzagard”}, {“name”: “Twitter”, “url”: “http://www.twitter.com/fitzhagard”} ], “email”: “fhagard@lightcube.us” } (If the above formatting confused you please see - http://json.org/)
    3. 3. Yankee Stadium Get People In Make the Most of their Time Get People Out Safely
    4. 4. Web-Based Applications 1. Get Data In 2. Make the most of the data 3. Get the data out safely
    5. 5. Does your PHP code work well with this?
    6. 6. How about this?
    7. 7. Why PHP Developers Should Use MongoDB? Database Reasons • Document-oriented storage - JSON-style documents with dynamic schemas offer simplicity and power. • Full Index Support - Index on any attribute. • Replication & High Availability - Mirror across LANs and WANs. • Auto-Sharding - Scale horizontally without compromising functionality. • Querying - Rich, document-based queries. • Fast In-Place Updates - Atomic modifiers for contention-free performance. • Map/Reduce - Flexible aggregation and data processing. • GridFS - Store files of any size.
    8. 8. Why PHP Developers Should Use MongoDB? PHP Reasons OO AD P UT RAD AOP
    9. 9. Why PHP Developers Should Use MongoDB? PHP Reasons Object elopm ent Orient ed e Dev Progra A gil mming st ing nit Te U Rapid Aspect Oriented Aplic Deve ation Development lopm ent
    10. 10. Why PHP Developers Should Use MongoDB? The KISS Method
    11. 11. Use Case - eCommerce
    12. 12. Imagine the SQL (not PHP) code you would have to write to figure out product details.
    13. 13. Simple and Flexible http://kylebanker.com/blog/2010/04/30/ mongodb-and-ecommerce/
    14. 14. Mongo and PHP in a Nutshell http://us.php.net/manual/en/book.mongo.php Common Methods Conditional Operators • find() • $ne • findOne() • $in • save() • $nin • remove() • $mod • update() • $all • group() • $size • limit() • $exists • skip() • $type • ensureIndex() • $gt • count() • $lt • ...And More • $lte • $gte
    15. 15. Don’t you find it strange we haven’t talked about PHP yet?
    16. 16. Check out all the open PHP projects!
    17. 17. phpMoAdmin Eric David Benari - support@phpMoAdmin.com • Nothing to configure - place the moadmin.php file anywhere on your web site and it just works! • Fast AJAX-driven XHTML 1.1 interface operates consistently in every browser! • Self-contained in a single 90kb file! • Works on any version of PHP5 with the MongoDB NoSQL database & Mongo PHP driver installed and running. • Option to enable password-protection for one or more users; to activate protection, just add the username-password(s) to the array at the top of the file. • E_STRICT PHP code is formatted to the Zend Framework coding standards + fully-documented in the phpDocumentor DocBlock standard. • Instructional error messages - phpMoAdmin can be used as a PHP-Mongo connection debugging tool • All textareas can be resized by dragging/stretching the lower-right corner. • Multiple design themes to choose from • Free & open-source! Released under the GPLv3 FOSS license!
    18. 18. ActiveMongo Cesar D. Rodas- crodas@php.net • Handle MongoDB connection, connecting once when it is needed • Define a Collection as a class • Abstracts iteration over a dataset • Efficient save() which creates or updates efficiently (using $unset, $set) a document • Provides simple queries interface • Use of MongoCollection for complex queries in sub-classes • Delete current object, Drop() table • Support filtering per property • Support for efficient updates on nested documents • Dynamic References (AKA, save a query to execute later)
    19. 19. Let’s talk about PHP Frameworks that Support MongoDB
    20. 20. Let’s Pick a Framework and Use it with MongoDB
    21. 21. +
    22. 22. • Integrated Unit Testing (speed, quality) [thank you: closures, iterators] • Aspect Inspired Filter System (flexibility) [thank you: closures, lambdas, iterators] • Document Oriented Data Sources (speed, flexibility) [thank you mongodb] • Automatic output escaping (quality) [thank you: stream wrappers] • Extensible plugin support (flexibility) [thank you: namespaces] • Static Models with Object Oriented Results (speed, flexibility) [thank you: late static binding, iterators] • More, More, More.... http://lithify.me
    23. 23. Let’s Make Use of the MVC
    24. 24. Your Connection
    25. 25. Your Connection Use This
    26. 26. Your Connection Not This
    27. 27. Setup Your Model This will setup your mongodb collection
    28. 28. Setup Your Views index.html.php add.html.php
    29. 29. Last But Not Least - The Controller
    30. 30. Yay!
    31. 31. It Worked!
    32. 32. What happens when we need to extend our Blog? Let’s add a Tag!
    33. 33. Normally we would touch this!
    34. 34. = Dynamic Schema
    35. 35. Just Change Your Views index.html.php add.html.php
    36. 36. Just Change Your Views index.html.php add.html.php
    37. 37. What else can I do with MongoDB and PHP?
    38. 38. Cursors MongoDates Indexes MapReduce ...Just to name a few... Sharding Exceptions MongoBinData MongoCode MongoRegex
    39. 39. No more time. Go here for more: http://us.php.net/manual/en/book.mongo.php http://www.mongodb.org http://www.lightcubesolutions.com http://lithify.me
    40. 40. { “type”: “Conclusion”, “date”: new Date('05-21-2010'), “comments”: [“Thank You”,”Have Fun Developing”], “location”: “New York”, “speaker”: “Fitz H. Agard”, “contact”: “fhagard@lightcube.us” }
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×