<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>Creates a new code object</title> </head> <body><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="class.mongocode.html">MongoCode</a></div> <div class="next" style="text-align: right; float: right;"><a href="mongocode.tostring.html">MongoCode::__toString</a></div> <div class="up"><a href="class.mongocode.html">MongoCode</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div><hr /><div id="mongocode.construct" class="refentry"> <div class="refnamediv"> <h1 class="refname">MongoCode::__construct</h1> <p class="verinfo">(PECL mongo >= 0.8.3)</p><p class="refpurpose"><span class="refname">MongoCode::__construct</span> — <span class="dc-title">Creates a new code object</span></p> </div> <div class="refsect1 description" id="refsect1-mongocode.construct-description"> <h3 class="title">Description</h3> <div class="methodsynopsis dc-description"> <span class="modifier">public</span> <span class="methodname"><strong>MongoCode::__construct</strong></span> ( <span class="methodparam"><span class="type">string</span> <code class="parameter">$code</code></span> [, <span class="methodparam"><span class="type">array</span> <code class="parameter">$scope</code><span class="initializer"> = array()</span></span> ] )</div> </div> <div class="refsect1 parameters" id="refsect1-mongocode.construct-parameters"> <h3 class="title">Parameters</h3> <p class="para"> <dl> <dt> <span class="term"> <em><code class="parameter">code</code></em> </span> <dd> <p class="para"> A string of code. </p> </dd> </dt> <dt> <span class="term"> <em><code class="parameter">scope</code></em> </span> <dd> <p class="para"> The scope to use for the code. </p> </dd> </dt> </dl> </p> </div> <div class="refsect1 returnvalues" id="refsect1-mongocode.construct-returnvalues"> <h3 class="title">Return Values</h3> <p class="para"> Returns a new code object. </p> </div> <div class="refsect1 examples" id="refsect1-mongocode.construct-examples"> <h3 class="title">Examples</h3> <div class="example" id="example-1492"> <p><strong>Example #1 <span class="methodname"><strong>MongoCode::__construct()</strong></span> example</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br /><br />$code </span><span style="color: #007700">= new </span><span style="color: #0000BB">MongoCode</span><span style="color: #007700">(</span><span style="color: #DD0000">'function() { '</span><span style="color: #007700">.<br /> </span><span style="color: #DD0000">'for(i=0;i<10;i++) {'</span><span style="color: #007700">.<br /> </span><span style="color: #DD0000">'db.foo.update({z : i}, {z : x});'</span><span style="color: #007700">.<br /> </span><span style="color: #DD0000">'}'</span><span style="color: #007700">.<br /> </span><span style="color: #DD0000">'return x-1;'</span><span style="color: #007700">.<br /> </span><span style="color: #DD0000">'}'</span><span style="color: #007700">, array(</span><span style="color: #DD0000">"x" </span><span style="color: #007700">=> </span><span style="color: #0000BB">4</span><span style="color: #007700">));<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">$code</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> <div class="example-contents"><p>The above example will output something similar to:</p></div> <div class="example-contents screen"> <div class="cdata"><pre> object(MongoCode)#1 (2) { ["scope"]=> array(1) { ["x"]=> int(4) } ["code"]=> string(80) "function() { for(i=0;i<10;i++) { db.foo.update({z : i}, {z : x}); } return x-1; }" } </pre></div> </div> </div> <div class="example" id="example-1493"> <p><strong>Example #2 Using <a href="class.mongocode.html" class="classname">MongoCode</a> with $where</strong></p> <div class="example-contents"><p> This example queries a collection for elements where the 'x' fields is less than $y. Notice that PHP objects can be passed into the JavaScript scope and that the JavaScript function returns a boolean. </p></div> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br /><br />$cursor </span><span style="color: #007700">= </span><span style="color: #0000BB">$collection</span><span style="color: #007700">-></span><span style="color: #0000BB">find</span><span style="color: #007700">(array(</span><span style="color: #DD0000">'$where' </span><span style="color: #007700">=> new </span><span style="color: #0000BB">MongoCode</span><span style="color: #007700">(</span><span style="color: #DD0000">'function() { return this.x < y; }'</span><span style="color: #007700">, array(</span><span style="color: #DD0000">'y'</span><span style="color: #007700">=></span><span style="color: #0000BB">$y</span><span style="color: #007700">))));<br /><br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> </div> </div> </div><hr /><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="class.mongocode.html">MongoCode</a></div> <div class="next" style="text-align: right; float: right;"><a href="mongocode.tostring.html">MongoCode::__toString</a></div> <div class="up"><a href="class.mongocode.html">MongoCode</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div></body></html>