<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Acumen Development &#187; php</title>
	<atom:link href="http://www.acumendevelopment.net/tag/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.acumendevelopment.net</link>
	<description>Software to inspire.</description>
	<lastBuildDate>Wed, 02 Jun 2010 16:39:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0-alpha</generator>
		<item>
		<title>Direct Email Reception</title>
		<link>http://www.acumendevelopment.net/direct-email-reception/</link>
		<comments>http://www.acumendevelopment.net/direct-email-reception/#comments</comments>
		<pubDate>Fri, 02 Jan 2009 13:37:26 +0000</pubDate>
		<dc:creator>Leo Brown</dc:creator>
				<category><![CDATA[Business Processes]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[integration]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.acumendevelopment.net/?p=77</guid>
		<description><![CDATA[A quick guide to automatically processing inbound emails on a UNIX server.]]></description>
			<content:encoded><![CDATA[<p>There are numerous applications for integration of inbound email &#8211; the most obvious being ticketing systems, and robot systems (auto/interactive responders).</p>
<p>This is really easily achievable on UNIX systems using the .forward (dot forward) file and your scripting language of choice. If you wanted to pipe all of root&#8217;s mail into a script, you would create a .forward file in that user&#8217;s home directory, consisting of a single line, starting with a pipe, followed by the full process path.</p>
<pre class="brush: php;">
|/root/process.php
</pre>
<p>Then you need to provide a destination processor for your email. In this case we have used a UNIX-style file processor at the start by using the hashbang syntax:</p>
<pre class="brush: php;">
#!/usr/local/bin/php
&lt;?php

// read from stdin
$fp = fopen('php://stdin', 'r');
while(!feof($fp)) {
$lines[]=fgets($fp, 4096);
}

[... email processing code...]
?&gt;
</pre>
<p>You can then use an optional MIME decoder such as <a href="http://pear.php.net/package/Mail_mimeDecode">Pear mimeDecode</a> to break up the email into the relevant sections &#8211; for instance, the from/to fields and plain and/or HTML body text.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.acumendevelopment.net/direct-email-reception/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Basic Scraping</title>
		<link>http://www.acumendevelopment.net/basic-scraping/</link>
		<comments>http://www.acumendevelopment.net/basic-scraping/#comments</comments>
		<pubDate>Sat, 22 Nov 2008 16:57:59 +0000</pubDate>
		<dc:creator>Leo Brown</dc:creator>
				<category><![CDATA[Development Processes]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[mashups]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[scraping]]></category>

		<guid isPermaLink="false">http://www.acumendevelopment.net/?p=75</guid>
		<description><![CDATA[A short introduction to Web Page Scraping]]></description>
			<content:encoded><![CDATA[<p>While in production applications we all favour use of an API, there are a lot of situations, such as in &lsquo;<a href="http://en.wikipedia.org/wiki/Mashup_(web_application_hybrid)">Mashups</a>&rsquo; (I love how that term has been reappropriated from Jungle music) where you need to do some page scraping.</p>
<p>It&#8217;s occurred to me how these very easy techniques seem inaccessible to many people, so I thought I&#8217;d post a few bits and bobs about some basic scraping methods.</p>
<p>Here&#8217;s a bit of code I wrote to use PHP&#8217;s <a href="http://php.net/domdocument">DOMDocument class</a> to treat a HTML page as XML and fetch, in this case, the incredibly useful current world population&#8230; fantastic!</p>
<pre class="brush: php;">
&lt;?php
 // where to find population data...
 $location['url']='http://www.census.gov/ipc/www/popclockworld.html';
 $location['id']='worldnumber';

 // initialise a new document and prepare the data
 $d=new DOMDocument();
 $file = file_get_contents($location['url']);

 // get and print current world population
 $d-&gt;loadHTML($file);
 $e=$d-&gt;getElementById($location['id']);
 print $e-&gt;nodeValue;
?&gt;
</pre>
<p>Sample output: 6,738,610,278</p>
]]></content:encoded>
			<wfw:commentRss>http://www.acumendevelopment.net/basic-scraping/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vector for php, surely not?</title>
		<link>http://www.acumendevelopment.net/vector-for-php-surely-not/</link>
		<comments>http://www.acumendevelopment.net/vector-for-php-surely-not/#comments</comments>
		<pubDate>Thu, 21 Feb 2008 16:42:46 +0000</pubDate>
		<dc:creator>Paul Hayes</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[vector]]></category>

		<guid isPermaLink="false">http://acumendevelopment.net.paul.proto1.acumensystems.net/?p=40</guid>
		<description><![CDATA[Ok before you try to hit me let me explain. This is not just a boring Object Orientated wrapper for storing PHP object in an array. It&#8217;s a multi-indexed,  self sufficient class.

Too many times I&#8217;ve seen my code swell with foreach loops, looking for elements with a certain property, or to call a function [...]]]></description>
			<content:encoded><![CDATA[<p>Ok before you try to hit me let me explain. This is not just a boring Object Orientated wrapper for storing PHP object in an array. It&#8217;s a multi-indexed,  self sufficient class.</p>
<p><span id="more-40"></span></p>
<p>Too many times I&#8217;ve seen my code swell with foreach loops, looking for elements with a certain property, or to call a function of each object in an array. Additionally making sure the keys of an array match one particular property and stay in sink with them. So to try and side step all these I&#8217;m started Vector, I&#8217;m sure others have done similar, but reinvention is one of the fun things about being a programmer (and one of the few things which make it similar to being an artist).</p>
<p>So here&#8217;s how you use Vector currently:</p>
<p><code>&lt;?php </code></p>
<p><code>require_once('Vector.class.php');<br />
require_once('User.example.class.php');</code></p>
<p><code><br />
<font color="#99cc00"> //initialize a Vector and add a index that uses the username field of each object entered into the array<br />
</font> $users=new Vector();<br />
$users-&gt;addIndex('username');</code></p>
<p><code><br />
<font color="#99cc00"> //add two objects of class User into the vector<br />
</font> $users-&gt;addObject($frank=new User('frank.n.stein','monster'));<br />
$users-&gt;addObject($vlad=new User('count.dracula','vampire'));</code></p>
<p><code><br />
<font color="#99cc00"> //call the checkpassword method of the object whose username is count.dracula<br />
</font> if($users-&gt;exists('username','count.dracula') &amp;&amp; $users-&gt;username['count.dracula']-&gt;checkPassword('vampire'))<br />
{<br />
echo 'password correct!';<br />
}<br />
else<br />
{<br />
echo 'password false';<br />
}<br />
?&gt;</code></p>
<p>I hope to include more features later. But it&#8217;s a start.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.acumendevelopment.net/vector-for-php-surely-not/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using memcached

Served from: www.acumendevelopment.net @ 2010-09-08 23:14:07 -->