<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>PHPDeveloper.org</title>
    <link>http://www.phpdeveloper.org</link>
    <description>Up-to-the Minute PHP News, views and community</description>
    <language>en-us</language>
    <pubDate>Tue, 22 May 2012 14:20:20 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[PHPMaster.com: Error Logging with MongoDB and Analog]]></title>
      <guid>http://www.phpdeveloper.org/news/17715</guid>
      <link>http://www.phpdeveloper.org/news/17715</link>
      <description><![CDATA[<p>
On PHPMaster.com today there's a new tutorial from <i>Lorna Mitchell</i> introducing you to <a href="http://phpmaster.com/error-logging-with-mongodb-and-analog/">using Analog for error logging</a> in a MongoDb connection. Because of the way the tool (<a href="https://github.com/jbroadway/analog">Analog</a>) is designed, it could be used anywhere - she just uses the MongoDB connection as an example because it integrates easily and efficiently.
</p>
<blockquote>
<p>
MongoDB is an excellent fit for logging (and of course other things as well) for many reasons. For one, it is very VERY fast for writing data. It can perform writes asynchronously; your application wont hang because your logging routines are blocked. This allows you to centralize your logs which makes it easier to querying against them to find issues. Also, its query interface is easy to work with and is very flexible. You can query against any of the field names or perform aggregate functions either with map/reduce or MongoDB 2.2's upcoming aggregation framework.
</p>
<p>
This article will show how you can use existing code to add a logging library to your code and log errors to MongoDB. You'll also see how to query MongoDB from the command line and how to filter those queries to find the information you are interested in.
</p>
</blockquote>
<p>
Analog makes it simple to log information in an easy to use, self-contained, extensible kind of way, offering writers for multiple output formats including: files, the FirePHP plugin output, email, POSTing to another machine and sending to a syslog daemon. She also mentions the different logging levels the tool makes available and how to filter down your logging results based on them (searched by "equal to", "greater than" and grouped by level).
</p>]]></description>
      <pubDate>Thu, 22 Mar 2012 11:11:39 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPMaster.com: Introduction to MongoDB]]></title>
      <guid>http://www.phpdeveloper.org/news/17048</guid>
      <link>http://www.phpdeveloper.org/news/17048</link>
      <description><![CDATA[<p>
PHPMaster.com has a new tutorial today for those wanting to get into the MongoDb document-driven (NoSQL) database but haven't known where to start. <a href="http://phpmaster.com/introduction-to-mongodb/">This tutorial</a> walks you through some of the basics including setup and configuration of both the server and PHP client side.
</p>
<blockquote>
There are a lot of implementations of the NoSQL concept, but one of the most famous and widely used NoSQL databases is MongoDB. I think it's one of the most interesting NoSQL databases available currently, and it's considered by many to be one of the easiest to use (which has helped it gain widespread adoption). In this article I'll introduce you to NoSQL with MongoDB. You'll learn how to install the MongoDB extension for PHP, and how to add, update, and retrieve document objects. 
</blockquote>
<p>
He starts with an introduction to MongoDB and links to <a href="http://www.mongodb.org/downloads">their site</a> to grab the latest version of the database. A few simple steps later (including a call to install the mongo PECL module) and your PHP install is ready to go. Code snippets are included showing how to connect to the server and insert/update/select document records.
</p>]]></description>
      <pubDate>Thu, 27 Oct 2011 08:27:47 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Philip Norton's Blog: Creating A Thumbnail Of A Word Document With PHP And LiveDocx]]></title>
      <guid>http://www.phpdeveloper.org/news/16904</guid>
      <link>http://www.phpdeveloper.org/news/16904</link>
      <description><![CDATA[<p>
In a new post to his blog <i>Philip Norton</i> shares a method for <a href="http://www.hashbangcode.com/blog/creating-thumbnail-word-document-php-and-livedocx-598.html">creating a thumbnail of a Word document</a> with the help of PHP and <a href="http://framework.zend.com/manual/en/zend.service.livedocx.html">LiveDocx</a> (in this case, the component inside the Zend Framework).
</p>
<blockquote>
Creating Word document icons is very simple thanks to a service called LiveDocx. LiveDocx was created as a web service to allow the easy creation of most document formats from a simple template. However, it is possible to send a normal Word document as the template file and get an image of the file in return.
</blockquote>
<p>
You'll need a <a href="https://www.livedocx.com/user/account_registration.aspx">LiveDocx account</a> to be able to use the service - there's a <a href="http://www.livedocx.com/pub/pricing.aspx">free</a> option of their service that uses a shared server. Included in the post is a sample script that defines a LiveDocx connection, pulls in a local Word document for parsing and calls a "getBitmaps" method on the service to return the raw image data. This is pushed into an image (using <a href="http://php.net/gd">GD</a>) as a PNG.
</p>]]></description>
      <pubDate>Mon, 26 Sep 2011 08:50:42 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DZone.com: The era of Object-Document Mapping]]></title>
      <guid>http://www.phpdeveloper.org/news/16568</guid>
      <link>http://www.phpdeveloper.org/news/16568</link>
      <description><![CDATA[<p>
On the PHP on Windows section of DZone.com today <i>Giorgio Sironi</i> has posted about a different sort of object mapping than is usually thought of with databases - <a href="http://css.dzone.com/articles/era-object-document-mapping">object-document mapping</a>.
</p>
<blockquote>
The Data Mapper pattern is a mechanism for persistence where the application model and the data source have no dependencies between each other. [...] But everytime we talk about the Data Mapper pattern, we assume there is a relational database on the other side of the persistence boundary. We always save objects; we always map them to MySQL or Postgres tables; but it's not mandatory.
</blockquote>
<p>
He talks about two projects, <a href="http://www.doctrine-project.org/projects/mongodb_odm">MongoDb_ODM</a> and <a href="http://www.doctrine-project.org/projects/couchdb_odm">CouchDb_ODM</a>, that the Doctrine project is working on to help make working with document-driven databases as simple as the usual ORMs. He includes a brief code snippet showing how the feature will work (hint: a namespace of Document instead of Entity). He lists some of the features - including the usual ORM capabilities, support for collections, cascade of persistence - and where you can get the latest code for it (from <a href="https://github.com/doctrine/couchdb-odm.git">github</a> and <a href="pear.doctrine-project.org/DoctrineMongoDBODM-1.0.0BETA3">PEAR</a>
</p>]]></description>
      <pubDate>Fri, 08 Jul 2011 11:45:46 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Zend Developer Zone: ZendCon Sessions Episode 041: Documents, Documents, Documents]]></title>
      <guid>http://www.phpdeveloper.org/news/16003</guid>
      <link>http://www.phpdeveloper.org/news/16003</link>
      <description><![CDATA[<p>
On the Zend Developer Zone today they've published the latest episode in their ZendCon Session series (as recorded at <a href="http://zendcon.com">ZendCon 2010</a>), a talk from <i>Matthew Weier O'Phinney</i> about document databases - <a href="http://devzone.zend.com/article/13105-ZendCon-Sessions-Episode-041-Documents-Documents-Documents">Documents, Documents, Documents</a>.
</p>
<blockquote>
Welcome to the ZendCon 2010 edition of the ZendCon Sessions. The ZendCon Sessions are live recordings of sessions that have been given at previous Zend Conferences. [...] In this series we will be releasing sessions from ZendCon 2010! This episode of The ZendCon Sessions was recorded live at ZendCon 2010 in Santa Clara, CA and features Matthew Weier O'Phinney giving his talk: "Documents, Documents, Documents"
</blockquote>
<p>
You can listen in one of a few ways - either via the <a href="http://devzone.zend.com/article/13105-ZendCon-Sessions-Episode-041-Documents-Documents-Documents">embedded player</a> on the Devzone site, by grabbing <a href="http://devzone.zend.com/content/audio/zendcon_sessions/zendcon_sessions_podcast_041.mp3">the mp3 itself</a> or by subscribing to <a href="http://feeds.feedburner.com/zendcon_sessions?format=xml">their feed</a> to get this and other great episodes.
</p>]]></description>
      <pubDate>Mon, 07 Mar 2011 08:47:05 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[ServerGrove Blog: Creating indexes for your Doctrine ODM documents with Symfony 2]]></title>
      <guid>http://www.phpdeveloper.org/news/15249</guid>
      <link>http://www.phpdeveloper.org/news/15249</link>
      <description><![CDATA[<p>
On the ServerGrove blog there's <a href="http://blog.servergrove.com/2010/10/07/creating-indexes-for-your-doctrine-odm-documents-with-symfony-2/">a new post</a> showing you how to create indexes for your <a href="http://www.doctrine-project.org/projects/mongodb_odm/1.0/docs/reference/indexes/en#indexes">Doctrine ODM documents</a> in a Symfony 2 application.
</p>
<blockquote>
Creating indexes in NoSQL / Document-based databases is quite different compared to traditional relational databases. Since the former are schema-less (there is no table creation), indexes do not get created when the collection or the document is created or inserted. Here is a quick tip that will create all the indexes defined in your documents when using Symfony 2 and Doctrine ODM for MongoDB. Indexes are a great way to speed up your queries, in fact, it is a crime not to include them in your documents.
</blockquote>
<p>
Adding the index is as easy as putting a new annotation on the property in its document class (for @Index) and run a bit of code in Symfony to build it out. The two lines you'll need to execute are included in the post.
</p>]]></description>
      <pubDate>Fri, 08 Oct 2010 08:24:41 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Zend Developer Zone: Creating PDF Documents with Zend Framework]]></title>
      <guid>http://www.phpdeveloper.org/news/15053</guid>
      <link>http://www.phpdeveloper.org/news/15053</link>
      <description><![CDATA[<p>
On the Zend Developer Zone there's <a href="http://devzone.zend.com/article/12492-Creating-PDF-Documents-with-Zend-Framework">a new post</a> by <i>Vikram Vaswani</i> about a method for creating PDF files directly from a Zend Framework application (hint: it uses <a href="http://framework.zend.com/manual/en/zend.pdf.html">Zend_Pdf</a>).
</p>
<blockquote>
PHP comes with a number of options to help developers dynamically generate PDF files from within their applications. The Haru and PDFlib extensions offer a complete API for dynamic PDF generation, and there also exist a number of open-source PHP components that can be used for the same purpose. This article will introduce you to one such component, the Zend_Pdf component that ships as part of the Zend Framework, and illustrate how it can be used to perform sophisticated PDF operations from within a PHP application.
</blockquote>
<p>
The tutorial walks you through some of the introductory steps to using the component (outside of the framework) and create a sample PDF with some basic text. It gets more technical by adding in pictures, text wrapping, drawing lines and shapes, styling text and using things like the My_Pdf_Table feature to easily create tables. There's even a bit at the end about using the properties of the file to set things like title, subject and author.
</p>]]></description>
      <pubDate>Tue, 31 Aug 2010 14:27:15 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Jonathan Wage's Blog: Blending the Doctrine ORM and MongoDB ODM]]></title>
      <guid>http://www.phpdeveloper.org/news/15026</guid>
      <link>http://www.phpdeveloper.org/news/15026</link>
      <description><![CDATA[<p>
On his blog today <i>Jonathan Wage</i> has <a href="http://www.jwage.com/2010/08/25/blending-the-doctrine-orm-and-mongodb-odm/">posted a tip</a> on getting MongoDB connections and queries to work through the Doctrine ORM layer:
</p>
<blockquote>
Since the start of the <a href="http://www.doctrine-project.org/projects/mongodb_odm">Doctrine MongoDB Object Document Mapper</a> project people have asked how it can be integrated with the <a href="http://www.doctrine-project.org/projects/orm">ORM</a>. This blog post demonstrates how you can integrate the two transparently, maintaining a clean domain model. This example will have a Product that is stored in MongoDB and the Order stored in a MySQL database.
</blockquote>
<p>
His code shows how to define the document and entity for the connection (a Product and Order) and creating an event subscriber to lazy load the product. He creates a sample Product and an Order for it and save them to the database. He also includes code to pull an order back out by its ID number and get an Order object back out (with Product data inside).
</p>]]></description>
      <pubDate>Thu, 26 Aug 2010 13:34:40 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[php|architect: PHPDOCX: generating Word documents from PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/14835</guid>
      <link>http://www.phpdeveloper.org/news/14835</link>
      <description><![CDATA[<p>
On the php|architect blog today there's <a href="http://www.phparch.com/2010/07/21/phpdocx-generating-word-documents-from-php">a new post</a> about a tool that helps you create Word documents directly from your PHP application - <a href="http://www.phpdocx.com">PHPDOCX</a>.
</p>
<blockquote>
PHPDOCX is a PHP library that allows its client code to generate Microsoft Word documents in the .docx format from PHP scripts. PHP is increasingly being used for disparate goals and has to deal with data that comes from strange sources and has to be produced in stranger formats. [...] Starting with the 1.5 version, which has been released on July 12th, PHPDOCX is now compatible with PHP 5.3. The adoption of PHP 5.3 from operating systems is growing and it will at last replace the previous versions of PHP also in the servers of hosting providers.
</blockquote>
<p>
He mentions some of the features it includes (like the library and automatic insertion of things like headers and footers) as well as two requirements for the tool to work - the <a href="http://php.net/manual/en/book.zip.php">zip</a> and <a href="http://php.net/manual/en/book.xsl.php">xsl</a> extensions.
</p>]]></description>
      <pubDate>Thu, 22 Jul 2010 10:23:18 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[php|architect: Zend Db 2.0 Kicks Off ]]></title>
      <guid>http://www.phpdeveloper.org/news/14713</guid>
      <link>http://www.phpdeveloper.org/news/14713</link>
      <description><![CDATA[<p>
As is mentioned on the php|architect blog today (from <i>Bill Karwin</i>) the requirements gathering stage for the Zend_Db 2.0 version of the database component for the Zend Framework has started. <i>Ralph Schindler</i> has <a href="http://www.phparch.com/2010/06/25/zend-db-2-0-kicks-off">issued a document</a> talking about some of the issues that have come up in the component's past.
</p>
<blockquote>
Requirements have been solicited from both community members in various conversations, as well as looking through the issue tracker for feature requests that have been on the backlog due to potential BC breakage. This document reflects those ideas, and it's now in a position where we'd like to start a discussion on the direction outlined inside it.
</blockquote>
<p>Suggested features include things like:</p>
<ul>
<li>Pluggable architecture
<li>Distinct abstractions
<li>Addition of a Metadata sub-component
<li>Better testability in the Unit Tests
<li>Base Plugins / Type Converter
</ul>]]></description>
      <pubDate>Mon, 28 Jun 2010 12:09:38 -0500</pubDate>
    </item>
  </channel>
</rss>

