Mongo NYC PHP Development
Upcoming SlideShare
Loading in...5
×
 

Mongo NYC PHP Development

on

  • 7,533 views

 

Statistics

Views

Total Views
7,533
Views on SlideShare
6,099
Embed Views
1,434

Actions

Likes
2
Downloads
83
Comments
0

17 Embeds 1,434

http://www.lightcubesolutions.com 952
http://jeltz.lightcube.us 204
http://www.slideshare.net 115
http://www.joyceleong.com 60
http://www.lightcube.us 57
http://lightcube.us 17
http://lanyrd.com 13
http://www.linkedin.com 3
http://ns2.lightcubesolutions.com 2
http://jeltz.lightcubesolutions.com 2
http://lightcubecanada.com 2
http://bryancollier.com 2
http://webcache.googleusercontent.com 1
http://www.lightcubecanada.com 1
http://50.57.66.198 1
http://translate.googleusercontent.com 1
https://duckduckgo.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

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
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />
  • <br />

Mongo NYC PHP Development Mongo NYC PHP Development Presentation Transcript

  • MongoNYC - PHP Development With MongoDB Presented By: Fitz Agard - LightCube Solutions LLC May 20, 2010
  • 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/)
  • 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 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.
  • Why PHP Developers Should Use MongoDB? PHP Reasons OO AD P UT RAD AOP
  • 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
  • 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 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
  • 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 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!
  • 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)
  • 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) [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
  • 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... Sharding Exceptions MongoBinData MongoCode MongoRegex
  • 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
  • { “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” }