<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Baronen</title>
	
	<link>http://www.baronen.org</link>
	<description>Baronen en webbprogrammerare</description>
	<lastBuildDate>Tue, 03 Nov 2009 20:49:29 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/Baronenorg" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Nyheter i PHP 5.3 Del 2 – Namespaces</title>
		<link>http://feedproxy.google.com/~r/Baronenorg/~3/NIobCHLXTIg/</link>
		<comments>http://www.baronen.org/nyheter-i-php-5-3-del-2-namespaces/#comments</comments>
		<pubDate>Mon, 02 Nov 2009 21:52:42 +0000</pubDate>
		<dc:creator>Baronen</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Webbutveckling]]></category>

		<guid isPermaLink="false">http://www.baronen.org/?p=797</guid>
		<description><![CDATA[I en tidigare post skrev jag om Nyheter i PHP 5.3 och visade funktionaliteten med Lambda och Closures. Naturligtvis var inte detta de ända nyheterna. Jag tänkte därför i denna post gå igenom den kanske bästa nyheten, nämligen Namespaces.

Den främsta anledningen att använda Namespaces är för att komma ifrån problemet med namnkollisioner. Zend har tidigare [...]


Relaterade poster:<ol><li><a href='http://www.baronen.org/nyheter-i-php-5-3/' rel='bookmark' title='Permanent Link: Nyheter i PHP 5.3'>Nyheter i PHP 5.3</a> <small>I somras l</small></li><li><a href='http://www.baronen.org/method-chaining-i-php-metodkedjor/' rel='bookmark' title='Permanent Link: Method Chaining i PHP &#8211; metodkedjor'>Method Chaining i PHP &#8211; metodkedjor</a> <small>I och med </small></li></ol>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 10px; margin-top: 5px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.baronen.org%2Fnyheter-i-php-5-3-del-2-namespaces%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.baronen.org%2Fnyheter-i-php-5-3-del-2-namespaces%2F" height="61" width="51" /></a></div><p>I en tidigare post skrev jag om <a href="http://www.baronen.org/nyheter-i-php-5-3/" mce_href="http://www.baronen.org/nyheter-i-php-5-3/">Nyheter i PHP 5.3</a> och visade funktionaliteten med Lambda och Closures. Naturligtvis var inte detta de ända nyheterna. Jag tänkte därför i denna post gå igenom den kanske bästa nyheten, nämligen Namespaces.</p>
<p>
Den främsta anledningen att använda Namespaces är för att komma ifrån problemet med namnkollisioner. Zend har tidigare löst det med en hierarki, till exempel <code>Zend_Db_Table</code>. Dessa kan dock bli väldigt långa som till exempel denna <code> Zend_Search_Lucene_Analysis_Analyzer_Common_TextNum_CaseInsensitive()</code>
</p>
<h3>Ett exempel med Namespace</h3>
<p>Jag kommer gå igenom ett väldigt enkelt exempel med namespace.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">namespace</span> Blog<span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">class</span> User
<span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> Hello<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;Hello World! from &quot;</span> <span style="color: #339933;">.</span> __NAMESPACE__ <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot; - &quot;</span> <span style="color: #339933;">.</span> <span style="color: #009900; font-weight: bold;">__CLASS__</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">namespace</span> CMS<span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">class</span> User
<span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> Hello<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;Hello World! from &quot;</span> <span style="color: #339933;">.</span> __NAMESPACE__ <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot; - &quot;</span> <span style="color: #339933;">.</span> <span style="color: #009900; font-weight: bold;">__CLASS__</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>I detta exemplet har vi skapat två stycken namespaces, Blog och CMS. Här ser man redan fördelar med att använda namespaces, vi kan i detta exemplet nämligen ha två klasser med samma namn, User.</p>
<p>För att avända våra namespaces, klasser och funktioner använder vi följande kod.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$object</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> CMS\User<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$object2</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Blog\User<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$object</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Hello</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$object2</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Hello</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Resultatet av följande kod kommer bli:<br />
<img src="http://www.baronen.org/wp-content/uploads/2009/11/Bild-20.png" alt="Bild 20" title="Bild 20" width="307" height="49" class="alignnone size-full wp-image-826" /><br />
Ett annat tips när det gäller namespaces är att du kan skapa ett alias för en klass.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">use CMS\User <span style="color: #b1b100;">as</span> cmsuser<span style="color: #339933;">;</span>
use Blog\User <span style="color: #b1b100;">as</span> bloguser<span style="color: #339933;">;</span>
<span style="color: #000088;">$object</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> cmsuser<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$object2</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> bloguser<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Här skapar vi två stycken alias, cmsuser och bloguser, dessa kan vi sedan använda för att skapa objektet.</p>
<h3>Sub-namespaces</h3>
<p>Namespaces fungerar i stort sätt som en katalogstruktur. Du kan alltså skapa sub-namespaces, till exempel.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">namespace</span> Baronen\Blog<span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">class</span> User
<span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> Hello<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;Hello World! from &quot;</span> <span style="color: #339933;">.</span> __NAMESPACE__ <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot; - &quot;</span> <span style="color: #339933;">.</span> <span style="color: #009900; font-weight: bold;">__CLASS__</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Notera här att jag har ändrat namnet till Baronen\Blog. Tillvägagångssättet för att använda klassen är detsamma.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$object</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Baronen\Blog\User<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Vill du läsa mer om namespaces rekommenderar jag som vanligt den <a href="http://se2.php.net/manual/en/language.namespaces.php">officiella dokumentationen</a>.</p>
<p>Vill du veta mer om nyheterna i PHP 5.3 hittar du det <a href="http://us.php.net/manual/en/migration53.changes.php">här</a>.</p>
<p>Som jag nämnt tidigare hoppas jag webbhotellen tar till sig nya versionen av PHP så snart som möjligt.</p>


<p>Relaterade poster:<ol><li><a href='http://www.baronen.org/nyheter-i-php-5-3/' rel='bookmark' title='Permanent Link: Nyheter i PHP 5.3'>Nyheter i PHP 5.3</a> <small>I somras l</small></li><li><a href='http://www.baronen.org/method-chaining-i-php-metodkedjor/' rel='bookmark' title='Permanent Link: Method Chaining i PHP &#8211; metodkedjor'>Method Chaining i PHP &#8211; metodkedjor</a> <small>I och med </small></li></ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/ui2dZyMTPnv-Bap7rsVBZFSDNOA/0/da"><img src="http://feedads.g.doubleclick.net/~a/ui2dZyMTPnv-Bap7rsVBZFSDNOA/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/ui2dZyMTPnv-Bap7rsVBZFSDNOA/1/da"><img src="http://feedads.g.doubleclick.net/~a/ui2dZyMTPnv-Bap7rsVBZFSDNOA/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/Baronenorg/~4/NIobCHLXTIg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.baronen.org/nyheter-i-php-5-3-del-2-namespaces/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.baronen.org/nyheter-i-php-5-3-del-2-namespaces/</feedburner:origLink></item>
		<item>
		<title>Handlat.nu lanserat under 24HBC</title>
		<link>http://feedproxy.google.com/~r/Baronenorg/~3/MqC6HUKA7ew/</link>
		<comments>http://www.baronen.org/handlat-nu-lanserat-under-24hbc/#comments</comments>
		<pubDate>Sat, 31 Oct 2009 16:06:56 +0000</pubDate>
		<dc:creator>Baronen</dc:creator>
				<category><![CDATA[Baronen]]></category>
		<category><![CDATA[Personligt]]></category>

		<guid isPermaLink="false">http://www.baronen.org/?p=800</guid>
		<description><![CDATA[Jag har under de senaste dagarna varit iväg på 24 Hour Buisness Camp. Evenemanget hölls på det flotta Yasuragi på Hasseludden i Stockholm.
Om jag sammanfattar hela evenemanget så var det riktigt grym och atmosfären var helt fenomenal. Utveckling, bra mat, fin anläggning, bra planerat och trevliga människor med samma intresse, det kan inte bli fel!
Handlat.nu
Tillsammans [...]


Relaterade poster:<ol><li><a href='http://www.baronen.org/handlat-nu-projekt-pa-24hbc/' rel='bookmark' title='Permanent Link: Handlat.nu &#8211; Projekt på 24HBC'>Handlat.nu &#8211; Projekt på 24HBC</a> <small>Som jag sk</small></li><li><a href='http://www.baronen.org/deltagarna-pa-24hbc/' rel='bookmark' title='Permanent Link: Deltagarna på 24hbc'>Deltagarna på 24hbc</a> <small>I slutet a</small></li></ol>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 10px; margin-top: 5px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.baronen.org%2Fhandlat-nu-lanserat-under-24hbc%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.baronen.org%2Fhandlat-nu-lanserat-under-24hbc%2F" height="61" width="51" /></a></div><p>Jag har under de senaste dagarna varit iväg på 24 Hour Buisness Camp. Evenemanget hölls på det flotta Yasuragi på Hasseludden i Stockholm.</p>
<p>Om jag sammanfattar hela evenemanget så var det riktigt grym och atmosfären var helt fenomenal. Utveckling, bra mat, fin anläggning, bra planerat och trevliga människor med samma intresse, det kan inte bli fel!</p>
<h3>Handlat.nu</h3>
<p>Tillsammans med Nicklas, Joacim och Erik byggdes webbtjänsten <a href="http://www.handlat.nu">handlat.nu</a>. Vi kallar det en backchannel för shopping. Det fungerar så att när du handlar något så kan du enkelt dela med dig av produkten i form av information, bilder och pris med mera. Detta för att andra ska kunna ställa frågor, se bilder och betyg.</p>
<p>Vi hann faktiskt med att beta av hela funktionslistan vi hade satt upp innan och det känns riktigt kul. Även om vi alla fyra inte har jobbat tillsammans på detta sätt tycker jag det gick väldigt bra och inga större incidenter inträffade. Vi har redan börjat planera en fortsättning för tjänsten och vi kommer eventuellt ändra inriktning.</p>
<p>Handlat.nu ligger live och du kan testa tjänsten.</p>
<p>På den officiella bloggen, 24hbc.com pågår nu en <a href="http://www.24hbc.com/2009/10/rosta-pa-dina-favoriter-fran-24hbc.html">omröstning</a> där den bästa tjänsten ska koras. Så gillar du handlat.nu och tycker det är en bra idé tycker jag att du ska <a href="http://www.24hbc.com/2009/10/rosta-pa-dina-favoriter-fran-24hbc.html">rösta på handlat.nu</a>. (I skrivande stund ligger vi på 5:e plats vilket känns jättekul)</p>
<h3>Tack</h3>
<p>Detta är bland det roligaste jag varit med om och jag vill tack alla som gjorde det möjligt, <a href="http://www.sses.se/">SSES</a>, <a href="http://www.tedvalentin.com/">Ted</a>, <a href="http://www.yasuragi.se/">Yasuragi</a>, alla sponsorer och <a href="http://jardenberg.se/">Joakim</a> för bra insats som konferencier.</p>
<h3>Bilder från Yasuragi</h3>
<p><img class="alignnone size-full wp-image-801" title="Svslut" src="http://www.baronen.org/wp-content/uploads/2009/11/DSC_0045.jpg" alt="Svslut" width="576" height="334" /><br />
Slutsignalen</p>
<p><img class="alignnone size-full wp-image-804" title="DSC_0011" src="http://www.baronen.org/wp-content/uploads/2009/10/DSC_0011.jpg" alt="DSC_0011" width="576" height="385" /><br />
Joacim och Erik</p>
<p><img class="alignnone size-full wp-image-805" title="DSC_0032" src="http://www.baronen.org/wp-content/uploads/2009/10/DSC_0032.jpg" alt="DSC_0032" width="576" height="354" /><br />
Nicklas och Jag själv</p>
<p><img class="alignnone size-full wp-image-806" title="DSC_0063" src="http://www.baronen.org/wp-content/uploads/2009/10/DSC_0063.jpg" alt="DSC_0063" width="576" height="385" /><br />
Erik presenterar Handlat.nu</p>
<p><img class="alignnone size-full wp-image-807" title="DSC_0081" src="http://www.baronen.org/wp-content/uploads/2009/10/DSC_0081.jpg" alt="DSC_0081" width="576" height="385" /></p>
<p>Avslutning</p>
<p>Jag har lagt upp fler bilder från <a href="http://www.flickr.com/photos/baronen/sets/72157622580311903/">24hbc på flickr</a>.</p>


<p>Relaterade poster:<ol><li><a href='http://www.baronen.org/handlat-nu-projekt-pa-24hbc/' rel='bookmark' title='Permanent Link: Handlat.nu &#8211; Projekt på 24HBC'>Handlat.nu &#8211; Projekt på 24HBC</a> <small>Som jag sk</small></li><li><a href='http://www.baronen.org/deltagarna-pa-24hbc/' rel='bookmark' title='Permanent Link: Deltagarna på 24hbc'>Deltagarna på 24hbc</a> <small>I slutet a</small></li></ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/6FILBo9LzJmurIcaBfphBfxPWhc/0/da"><img src="http://feedads.g.doubleclick.net/~a/6FILBo9LzJmurIcaBfphBfxPWhc/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/6FILBo9LzJmurIcaBfphBfxPWhc/1/da"><img src="http://feedads.g.doubleclick.net/~a/6FILBo9LzJmurIcaBfphBfxPWhc/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/Baronenorg/~4/MqC6HUKA7ew" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.baronen.org/handlat-nu-lanserat-under-24hbc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.baronen.org/handlat-nu-lanserat-under-24hbc/</feedburner:origLink></item>
		<item>
		<title>Pusha presenterar API</title>
		<link>http://feedproxy.google.com/~r/Baronenorg/~3/4Umopfvsx9k/</link>
		<comments>http://www.baronen.org/pusha-presenterar-api/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 14:49:03 +0000</pubDate>
		<dc:creator>Baronen</dc:creator>
				<category><![CDATA[Notiser]]></category>

		<guid isPermaLink="false">http://www.baronen.org/?p=774</guid>
		<description><![CDATA[Idag lanserar Pusha ett API. Tanken med API:et är att utvecklare ska få tillgång till data och kunna skapa visualiseringar och applikationer kring Pusha. Just nu är APIet i en BETA version och för tillfället går det endast att hämta data.
För att testa måste du skaffa en API-nyckel. Läs mer om nya API:et.


Relaterade poster:Sökmotorn Wolfram [...]


Relaterade poster:<ol><li><a href='http://www.baronen.org/sokmotorn-wolfram-alpha-oppnar-api/' rel='bookmark' title='Permanent Link: Sökmotorn Wolfram Alpha öppnar API'>Sökmotorn Wolfram Alpha öppnar API</a> <small>Wolfram Al</small></li><li><a href='http://www.baronen.org/antal-rss-lasare-via-feedburner-api/' rel='bookmark' title='Permanent Link: Antal RSS-läsare via Feedburner API'>Antal RSS-läsare via Feedburner API</a> <small>I denna li</small></li><li><a href='http://www.baronen.org/baronen-i-rampljuset/' rel='bookmark' title='Permanent Link: Baronen i rampljuset'>Baronen i rampljuset</a> <small>Sedan jag </small></li></ol>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 10px; margin-top: 5px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.baronen.org%2Fpusha-presenterar-api%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.baronen.org%2Fpusha-presenterar-api%2F" height="61" width="51" /></a></div><p>Idag lanserar <a href="http://www.pusha.se">Pusha</a> ett API. Tanken med API:et är att utvecklare ska få tillgång till data och kunna skapa visualiseringar och applikationer kring Pusha. Just nu är APIet i en BETA version och för tillfället går det endast att hämta data.<br />
För att testa måste du skaffa en <a href="http://api.pusha.se/nyckel">API-nyckel</a>. <a href="http://api.pusha.se/">Läs mer om nya API:et</a>.</p>


<p>Relaterade poster:<ol><li><a href='http://www.baronen.org/sokmotorn-wolfram-alpha-oppnar-api/' rel='bookmark' title='Permanent Link: Sökmotorn Wolfram Alpha öppnar API'>Sökmotorn Wolfram Alpha öppnar API</a> <small>Wolfram Al</small></li><li><a href='http://www.baronen.org/antal-rss-lasare-via-feedburner-api/' rel='bookmark' title='Permanent Link: Antal RSS-läsare via Feedburner API'>Antal RSS-läsare via Feedburner API</a> <small>I denna li</small></li><li><a href='http://www.baronen.org/baronen-i-rampljuset/' rel='bookmark' title='Permanent Link: Baronen i rampljuset'>Baronen i rampljuset</a> <small>Sedan jag </small></li></ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/7DGuVeK8yJZKlHF46i1RrObOW4c/0/da"><img src="http://feedads.g.doubleclick.net/~a/7DGuVeK8yJZKlHF46i1RrObOW4c/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/7DGuVeK8yJZKlHF46i1RrObOW4c/1/da"><img src="http://feedads.g.doubleclick.net/~a/7DGuVeK8yJZKlHF46i1RrObOW4c/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/Baronenorg/~4/4Umopfvsx9k" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.baronen.org/pusha-presenterar-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.baronen.org/pusha-presenterar-api/</feedburner:origLink></item>
		<item>
		<title>Nyheter i PHP 5.3</title>
		<link>http://feedproxy.google.com/~r/Baronenorg/~3/_fGAtsyHKbg/</link>
		<comments>http://www.baronen.org/nyheter-i-php-5-3/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 06:30:21 +0000</pubDate>
		<dc:creator>Baronen</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.baronen.org/?p=762</guid>
		<description><![CDATA[I somras lanserades PHP  5.3 och det innebar mycket nyheter och trevliga godsaker. Jag har  idag tagit tag i saken och installerat PHP 5.3 på vår server på  kontoret, det tog lite tid med till slut gick det. Jag är väldigt exalterad över den nya versionen och all ny funktionalitet, jag hoppas [...]


Relaterade poster:<ol><li><a href='http://www.baronen.org/nyheter-i-php-5-3-del-2-namespaces/' rel='bookmark' title='Permanent Link: Nyheter i PHP 5.3 Del 2 &#8211; Namespaces'>Nyheter i PHP 5.3 Del 2 &#8211; Namespaces</a> <small>I en tidig</small></li></ol>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 10px; margin-top: 5px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.baronen.org%2Fnyheter-i-php-5-3%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.baronen.org%2Fnyheter-i-php-5-3%2F" height="61" width="51" /></a></div><p>I somras <a href="http://www.php.net/archive/2009.php#id2009-06-30-1">lanserades PHP  5.3</a> och det innebar mycket nyheter och trevliga godsaker. Jag har  idag tagit tag i saken och installerat PHP 5.3 på vår server på  kontoret, det tog lite tid med till slut gick det. Jag är väldigt exalterad över den nya versionen och all ny funktionalitet, jag hoppas verkligen inte det tar alltför lång tid innan PHP 5.3 blir standard på webbhotellen.</p>
<p>Det är väldigt mycket gamla saker som är förbättrade i nya versionen till exempel är <code>md5()</code> snabbare och konstanter är flyttade till read-only minnet. Enligt uppgifter ska prestandan vara 5%-15% bättre.</p>
<p>Men det är inte bara förbättringar utan väldigt mycket nya funktioner också, <code>Namespaces</code>, <code>Lambda</code>, <code>Closures</code>, <code>Late static binding</code> och <code>garbage collector</code> är några av nyheterna. Jag tänkte gå igenom några av nyheterna och visa kodexempel. Jag kommer göra detta i två delar, i denna del kommer jag att titta på Lambda och Closures. Detta är nytt för mig så vi får se hur det går.</p>
<h3>Lambda funktioner och Closures</h3>
<p>Lambda eller anonyma funktioner är funktioner som kan skapas när som helst och är ofta knutna till en variabel. Har du programmerat javascript kommer du känna igen det.</p>
<p>Jag tänkte visa ett exempel där vi använder lambda ihop med funktionen <code>array_filter</code>.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$input</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'andreas'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'tord'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'bo'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'kim'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'johannes'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$output</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array_filter</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$input</span><span style="color: #339933;">,</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$v</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #b1b100;">return</span> <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$v</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">3</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">print_r</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$output</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Vi börjar med att skapa arrayen input som innehåller ett antal namn. Vi använder sedan funktionen array_filter som tar <code>$input</code> och andra parametern är det som kallas Lambda eller anonyma funktioner.<br />
Vi skapar alltså en anonym funktion, i denna funktionen kontrollerar vi vilka namn som är längre än tre tecken och returnerar dom.<br />
Kollar vi på resultatet ser det ut som följande.</p>
<p><img class="alignnone size-full wp-image-768" title="Bild 13" src="http://www.baronen.org/wp-content/uploads/2009/10/Bild-13.png" alt="Bild 13" width="185" height="217" /></p>
<p>Som vi ser nu är bara tre namn kvar, de som är längre än tre bokstäver.</p>
<h3>Closures</h3>
<p>Att skapa anonyma funktioner har man kunnat göra tidigare med funktionen create_function(). Nu ska vi titta vidare på det som kallas Closures. Closures är nästan som anonyma funktioner med skillnaden att de känner till variabler som inte är skapade i sig själva.</p>
<p>Om vi tittar på exemplet nedan så har vi $globalVar som ligger utanför funktionen, denna kan vi sedan använda i funktionen genom att använda ordet <code>use</code>. Vi skickar den som referens genom att använda &#038;.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$globalVar</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$closure</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$arg</span><span style="color: #009900;">&#41;</span> use <span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span><span style="color: #000088;">$globalVar</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;Medskickad parameter: &quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$arg</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot; - &quot;</span> <span style="color: #339933;">.</span> <span style="color: #339933;">++</span><span style="color: #000088;">$globalVar</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$closure</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Parameter 1'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;&lt;br /&gt;&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$closure</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Parameter 2'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;&lt;br /&gt;&quot;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Det här var två exempel på Lambda och Closures i nya PHP 5.3</p>
<h3>Ny Magisk metod __invoke</h3>
<p>Slutligen tänkte jag visa den nya magiska funktionen <a href="http://us.php.net/manual/en/language.oop5.magic.php#language.oop5.magic.invoke"><code>__invoke</code></a>. Detta är en funktion som körs när man försöker köra ett objekt som en funktion, <code>$object('hej')</code>.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">class</span> Demo<span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> __invoke<span style="color: #009900;">&#40;</span><span style="color: #000088;">$args</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$args</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000088;">$object</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Demo<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$object</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'hej'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Anropar man nu objektet som som en funktion så kommer __invoke rycka och och i detta exemplet skriva ut &#8216;hej&#8217;.</p>
<p>Som jag nämnde tidigare såg är jag väldigt uppjagad över nya PHP och jag hoppas verkligen att flertalet webbhotell kommer uppgradera sina versioner inom kort.</p>


<p>Relaterade poster:<ol><li><a href='http://www.baronen.org/nyheter-i-php-5-3-del-2-namespaces/' rel='bookmark' title='Permanent Link: Nyheter i PHP 5.3 Del 2 &#8211; Namespaces'>Nyheter i PHP 5.3 Del 2 &#8211; Namespaces</a> <small>I en tidig</small></li></ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/fK51gprcO6TFqWE9Y7VvfDu0drk/0/da"><img src="http://feedads.g.doubleclick.net/~a/fK51gprcO6TFqWE9Y7VvfDu0drk/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/fK51gprcO6TFqWE9Y7VvfDu0drk/1/da"><img src="http://feedads.g.doubleclick.net/~a/fK51gprcO6TFqWE9Y7VvfDu0drk/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/Baronenorg/~4/_fGAtsyHKbg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.baronen.org/nyheter-i-php-5-3/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://www.baronen.org/nyheter-i-php-5-3/</feedburner:origLink></item>
		<item>
		<title>Bing och Twitter slår sig ihop</title>
		<link>http://feedproxy.google.com/~r/Baronenorg/~3/gnW26DHx4Fg/</link>
		<comments>http://www.baronen.org/bing-och-twitter-slar-sig-ihop/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 20:15:00 +0000</pubDate>
		<dc:creator>Baronen</dc:creator>
				<category><![CDATA[Notiser]]></category>

		<guid isPermaLink="false">http://www.baronen.org/?p=758</guid>
		<description><![CDATA[Idag har det blivit officiellt att Bing och Twitter har ett samarbete. Att söka i realtid har varit en utmaning uppger Bing, och Sök måste hänga med tjänster som Twitter, där sökningar sker i realtid.
De har tidigare kört ett experiment tillsammans där Bing till tillgång till ett fåtal av kändisars twitterflöden.
På http://www.bing.com/twitter kan du själv [...]


Relaterade poster:<ol><li><a href='http://www.baronen.org/twitter-pa-din-webbplats-med-php-och-jquery/' rel='bookmark' title='Permanent Link: Twitter på din webbplats med PHP och jQuery'>Twitter på din webbplats med PHP och jQuery</a> <small>Aktivitete</small></li></ol>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 10px; margin-top: 5px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.baronen.org%2Fbing-och-twitter-slar-sig-ihop%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.baronen.org%2Fbing-och-twitter-slar-sig-ihop%2F" height="61" width="51" /></a></div><p>Idag har det blivit officiellt att <a href="http://www.bing.com/community/blogs/search/archive/2009/10/21/bing-is-bringing-twitter-search-to-you.aspx">Bing och Twitter</a> har ett samarbete. Att söka i realtid har varit en utmaning uppger Bing, och Sök måste hänga med tjänster som Twitter, där sökningar sker i realtid.</p>
<p>De har tidigare kört ett experiment tillsammans där Bing till tillgång till ett fåtal av kändisars twitterflöden.</p>
<p>På <a href="http://www.bing.com/twitter">http://www.bing.com/twitter</a> kan du själv testa resultatet av det nya samarbetet eller läs den <a href="http://www.bing.com/community/blogs/search/archive/2009/10/21/bing-is-bringing-twitter-search-to-you.aspx">officiella bloggposten från Bing</a>.</p>


<p>Relaterade poster:<ol><li><a href='http://www.baronen.org/twitter-pa-din-webbplats-med-php-och-jquery/' rel='bookmark' title='Permanent Link: Twitter på din webbplats med PHP och jQuery'>Twitter på din webbplats med PHP och jQuery</a> <small>Aktivitete</small></li></ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/XvQkMnE1InJrkYeewHb9yuMWqjg/0/da"><img src="http://feedads.g.doubleclick.net/~a/XvQkMnE1InJrkYeewHb9yuMWqjg/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/XvQkMnE1InJrkYeewHb9yuMWqjg/1/da"><img src="http://feedads.g.doubleclick.net/~a/XvQkMnE1InJrkYeewHb9yuMWqjg/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/Baronenorg/~4/gnW26DHx4Fg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.baronen.org/bing-och-twitter-slar-sig-ihop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.baronen.org/bing-och-twitter-slar-sig-ihop/</feedburner:origLink></item>
		<item>
		<title>Handlat.nu – Projekt på 24HBC</title>
		<link>http://feedproxy.google.com/~r/Baronenorg/~3/GF9RpViTWXI/</link>
		<comments>http://www.baronen.org/handlat-nu-projekt-pa-24hbc/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 16:02:33 +0000</pubDate>
		<dc:creator>Baronen</dc:creator>
				<category><![CDATA[Notiser]]></category>

		<guid isPermaLink="false">http://www.baronen.org/?p=752</guid>
		<description><![CDATA[Som jag skrivit tidigare skrivit så kommer jag tillsammans med Nicklas, Erik och Joacim delta på 24 Hour Buisness Camp som går av stapeln nästa vecka. Vi kommer bygga tjänsten handlat.nu som kommer bli en social produktsida. Kort och gott kan användare posta sina inköp, andra användare kan därefter ställa frågor om produkten, se bilder [...]


Relaterade poster:<ol><li><a href='http://www.baronen.org/handlat-nu-lanserat-under-24hbc/' rel='bookmark' title='Permanent Link: Handlat.nu lanserat under 24HBC'>Handlat.nu lanserat under 24HBC</a> <small>Jag har un</small></li><li><a href='http://www.baronen.org/answerse-sommarens-forsta-projekt/' rel='bookmark' title='Permanent Link: Answer.se &#8211; Sommarens första projekt'>Answer.se &#8211; Sommarens första projekt</a> <small>Sommaren 2</small></li><li><a href='http://www.baronen.org/deltagarna-pa-24hbc/' rel='bookmark' title='Permanent Link: Deltagarna på 24hbc'>Deltagarna på 24hbc</a> <small>I slutet a</small></li></ol>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 10px; margin-top: 5px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.baronen.org%2Fhandlat-nu-projekt-pa-24hbc%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.baronen.org%2Fhandlat-nu-projekt-pa-24hbc%2F" height="61" width="51" /></a></div><p>Som jag skrivit tidigare skrivit så kommer jag tillsammans med <a href="http://www.jarnesjo.net">Nicklas</a>, <a href="http://www.erikfalk.com">Erik</a> och Joacim delta på 24 Hour Buisness Camp som går av stapeln nästa vecka. Vi kommer bygga tjänsten handlat.nu som kommer bli en social produktsida. Kort och gott kan användare posta sina inköp, andra användare kan därefter ställa frågor om produkten, se bilder och recension. Du kan läsa en bättre beskrivning på <a href="http://www.24hbc.com/2009/10/handlatnu-presenterar-sig.html">24hbc &#8211; Handlat.nu presenterar sig</a>.</p>


<p>Relaterade poster:<ol><li><a href='http://www.baronen.org/handlat-nu-lanserat-under-24hbc/' rel='bookmark' title='Permanent Link: Handlat.nu lanserat under 24HBC'>Handlat.nu lanserat under 24HBC</a> <small>Jag har un</small></li><li><a href='http://www.baronen.org/answerse-sommarens-forsta-projekt/' rel='bookmark' title='Permanent Link: Answer.se &#8211; Sommarens första projekt'>Answer.se &#8211; Sommarens första projekt</a> <small>Sommaren 2</small></li><li><a href='http://www.baronen.org/deltagarna-pa-24hbc/' rel='bookmark' title='Permanent Link: Deltagarna på 24hbc'>Deltagarna på 24hbc</a> <small>I slutet a</small></li></ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/LPg2aI_yTlchNwmZ5X_pdFBBRhQ/0/da"><img src="http://feedads.g.doubleclick.net/~a/LPg2aI_yTlchNwmZ5X_pdFBBRhQ/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/LPg2aI_yTlchNwmZ5X_pdFBBRhQ/1/da"><img src="http://feedads.g.doubleclick.net/~a/LPg2aI_yTlchNwmZ5X_pdFBBRhQ/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/Baronenorg/~4/GF9RpViTWXI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.baronen.org/handlat-nu-projekt-pa-24hbc/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.baronen.org/handlat-nu-projekt-pa-24hbc/</feedburner:origLink></item>
		<item>
		<title>Ändra textstorlek på dina adsense-annonser</title>
		<link>http://feedproxy.google.com/~r/Baronenorg/~3/SJWyFoxYoHY/</link>
		<comments>http://www.baronen.org/andra-textstorlek-pa-dina-adsense-annonser/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 21:11:21 +0000</pubDate>
		<dc:creator>Baronen</dc:creator>
				<category><![CDATA[Notiser]]></category>

		<guid isPermaLink="false">http://www.baronen.org/?p=742</guid>
		<description><![CDATA[Att visa adsense på din webbplats kan vara relativt lönsamt. Även om man har kunnat göra inställningar i sina annonser som till exempel länkfärg och bakgrundsfärg så har man inte kunnat ändra textstorlek eller typsnitt fram till nyligen. (Med reservation för att denna möjlighet funnits länge och jag har missat den)
Nu tillåter alltså Google dig [...]


Relaterade poster:<ol><li><a href='http://www.baronen.org/battre-sokfunktion-for-dina-sidor/' rel='bookmark' title='Permanent Link: Bättre sökfunktion för dina sidor'>Bättre sökfunktion för dina sidor</a> <small>Tänkte rek</small></li></ol>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 10px; margin-top: 5px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.baronen.org%2Fandra-textstorlek-pa-dina-adsense-annonser%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.baronen.org%2Fandra-textstorlek-pa-dina-adsense-annonser%2F" height="61" width="51" /></a></div><p>Att visa adsense på din webbplats kan vara relativt lönsamt. Även om man har kunnat göra inställningar i sina annonser som till exempel länkfärg och bakgrundsfärg så har man inte kunnat ändra textstorlek eller typsnitt fram till nyligen. (Med reservation för att denna möjlighet funnits länge och jag har missat den)</p>
<p>Nu tillåter alltså Google dig att välja mellan tre olika storlekar samt välja olika typsnitt.</p>
<p><img class="alignnone size-full wp-image-745" title="Bild 31" src="http://www.baronen.org/wp-content/uploads/2009/10/Bild-31.png" alt="Bild 31" width="475" height="88" /></p>
<p><a href="http://www.baronen.org/wp-content/uploads/2009/10/Bild-29.png"><img class="alignnone size-large wp-image-743" title="Bild 29" src="http://www.baronen.org/wp-content/uploads/2009/10/Bild-29-1024x122.png" alt="Bild 29" width="614" height="73" /></a></p>


<p>Relaterade poster:<ol><li><a href='http://www.baronen.org/battre-sokfunktion-for-dina-sidor/' rel='bookmark' title='Permanent Link: Bättre sökfunktion för dina sidor'>Bättre sökfunktion för dina sidor</a> <small>Tänkte rek</small></li></ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/XkX3vVqJDlA1wniLb5CIRSK2eNI/0/da"><img src="http://feedads.g.doubleclick.net/~a/XkX3vVqJDlA1wniLb5CIRSK2eNI/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/XkX3vVqJDlA1wniLb5CIRSK2eNI/1/da"><img src="http://feedads.g.doubleclick.net/~a/XkX3vVqJDlA1wniLb5CIRSK2eNI/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/Baronenorg/~4/SJWyFoxYoHY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.baronen.org/andra-textstorlek-pa-dina-adsense-annonser/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.baronen.org/andra-textstorlek-pa-dina-adsense-annonser/</feedburner:origLink></item>
		<item>
		<title>Förenkla PHP med autoload</title>
		<link>http://feedproxy.google.com/~r/Baronenorg/~3/bNENvHy1iZM/</link>
		<comments>http://www.baronen.org/forenkla-php-med-autoload/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 07:48:48 +0000</pubDate>
		<dc:creator>Baronen</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.baronen.org/?p=707</guid>
		<description><![CDATA[När man bygger webbplatser i PHP är det ganska lätt att antalet klasser springer iväg. Använder du dig av &#8220;require&#8221; eller &#8220;include&#8221; för att inkludera dessa klasser kan det bli väldigt omständligt och rörigt.
Jag tänkte därför tips om en funktion som heter spl_autoload_register som gör att PHP kan själv ladda in de klasser som behövs. [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 10px; margin-top: 5px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.baronen.org%2Fforenkla-php-med-autoload%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.baronen.org%2Fforenkla-php-med-autoload%2F" height="61" width="51" /></a></div><p>När man bygger webbplatser i PHP är det ganska lätt att antalet klasser springer iväg. Använder du dig av &#8220;<code>require</code>&#8221; eller &#8220;<code>include</code>&#8221; för att inkludera dessa klasser kan det bli väldigt omständligt och rörigt.</p>
<p>Jag tänkte därför tips om en funktion som heter spl_autoload_register som gör att PHP kan själv ladda in de klasser som behövs. Det är väldigt enkelt och det behövs inte mycket kod för att åstadkomma detta.</p>
<h3>Börja koda</h3>
<p>Vi kommer i första delen av exemplet använda en index-fil, en mapp som innehåller en klass.</p>
<p><img class="alignnone size-full wp-image-730" title="Bild 27" src="http://www.baronen.org/wp-content/uploads/2009/10/Bild-27.png" alt="Bild 27" width="159" height="81" /></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">//Set the includepath</span>
<span style="color: #990000;">set_include_path</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">get_include_path</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span>PATH_SEPARATOR<span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;lib&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">function</span> autoload<span style="color: #009900;">&#40;</span><span style="color: #000088;">$class</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">include</span> <span style="color: #000088;">$class</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;.php&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #990000;">spl_autoload_register</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'autoload'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Här börjar vi alltså med att ställa sökvägen till inkluderingsmappen, i detta fall mappen &#8220;lib&#8221;. Vi skapar sedan en vanlig funktion vi kallar autoload som helt enkelt inkluderar den klass vi skapar. Slutligen använder vi funktionen <a href="http://se2.php.net/manual/en/function.spl-autoload-register.php">spl_autoload_register</a> och skickar med namnet på vår autoload-funktion.</p>
<p>Notera, för att detta ska fungera ska klassnamnet och filnamnet vara likadant, vilket ändå är en bra regel att använda sig efter.</p>
<p>I mappen &#8220;lib&#8221; skapar vi en testklass där filnamnet blir &#8220;Test.php&#8221; och klassnamnet blir alltså &#8220;Test&#8221;. Nu kan vi alltså skapa nya objekt/klasser och PHP kommer automatiskt att inkludera dessa när det behövs.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$test</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Test<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<h3>Använda undermappar och autoload</h3>
<p>Som jag nämnde inledningsvis är autoload kanon när man har många klasser i sin applikation. Men att lägga alla klasser i mappen &#8220;lib&#8221; kan bli väldigt rörigt. Därför tänkte jag även visa ett exempel på hur man kan ha undermappar och ändå ladda in klasser automatiskt.</p>
<p>Vi börjar med att skapa undermappar i mappen &#8220;lib&#8221; och skapar sedan två nya klasser.</p>
<p><img class="alignnone size-full wp-image-731" title="Bild 28" src="http://www.baronen.org/wp-content/uploads/2009/10/Bild-28.png" alt="Bild 28" width="187" height="152" /></p>
<p>För att kunna ladda in klasser som ligger i undermappar måste vi förändra vår autoload-funktion en aning.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">set_include_path</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">get_include_path</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span>PATH_SEPARATOR<span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;lib&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">function</span> autoload<span style="color: #009900;">&#40;</span><span style="color: #000088;">$class</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$class</span> <span style="color: #339933;">=</span> <span style="color: #990000;">str_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'_'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'/'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$class</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">include</span> <span style="color: #000088;">$class</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;.php&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #990000;">spl_autoload_register</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'autoload'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Det vi har lagt till nu är att vi använder str_replace för att byta ut &#8220;_&#8221; till &#8220;/&#8221;. </p>
<p>I och med denna metod måste vi döpa våra klasser på följande sätt &#8220;Mapp_Klassnamn&#8221;. Vill du läsa mer om standard för namngivning rekommenderar jag <a href="http://framework.zend.com/manual/en/coding-standard.naming-conventions.html#coding-standard.naming-conventions.classes">Zend&#8217;s standard</a>.</p>
<p>Klassen Mailer kommer alltså sen ut enligt följande:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">class</span> Mail_Mailer
<span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> __construct<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;Created a mailer object &lt;br /&gt;&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>För att skapa ett nytt Mailer-objekt gör vi enligt följande.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$mailer</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Mail_Mailer<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Den här metoden med &#8220;Mapp_Namn&#8221; lämpar sig bra för PHP-versioner under 5.3 då stöd för <em><a href="http://se2.php.net/manual/en/language.namespaces.rationale.php">Namespaces</a></em> finns i 5.3.</p>
<h3>Demo och källkod</h3>
<p><a href="http://www.baronen.org/baronen_demos/autoload/" rel="nofollow">Se demo</a> eller ladda ner <a href="http://www.baronen.org/wp-content/uploads/2009/10/autoload_med_php.zip">källkoden här</a>.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/7NYK3xTIOtjZyc07hfDkTVQLm00/0/da"><img src="http://feedads.g.doubleclick.net/~a/7NYK3xTIOtjZyc07hfDkTVQLm00/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/7NYK3xTIOtjZyc07hfDkTVQLm00/1/da"><img src="http://feedads.g.doubleclick.net/~a/7NYK3xTIOtjZyc07hfDkTVQLm00/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/Baronenorg/~4/bNENvHy1iZM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.baronen.org/forenkla-php-med-autoload/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://www.baronen.org/forenkla-php-med-autoload/</feedburner:origLink></item>
		<item>
		<title>Sökmotorn Wolfram Alpha öppnar API</title>
		<link>http://feedproxy.google.com/~r/Baronenorg/~3/cD0anDy669I/</link>
		<comments>http://www.baronen.org/sokmotorn-wolfram-alpha-oppnar-api/#comments</comments>
		<pubDate>Fri, 16 Oct 2009 13:50:10 +0000</pubDate>
		<dc:creator>Baronen</dc:creator>
				<category><![CDATA[Notiser]]></category>

		<guid isPermaLink="false">http://www.baronen.org/?p=722</guid>
		<description><![CDATA[Wolfram Alpha är en relativt ny sökmotor som är specialiserad på fakta, som till exempel platser och matteuträkningar. Igår meddelande de på sin blogg att de öppnar ett API. Ska bli spännande att se vad för spännande tjänster som växer fram utifrån detta. Kanske har du några egna ideér?
Läs hela bloggposten, (via Peter Rosdahl).


Relaterade poster:Firefox [...]


Relaterade poster:<ol><li><a href='http://www.baronen.org/firefox-3-6-alpha-slapps/' rel='bookmark' title='Permanent Link: Firefox 3.6 Alpha släpps'>Firefox 3.6 Alpha släpps</a> <small>I dagarna </small></li></ol>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 10px; margin-top: 5px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.baronen.org%2Fsokmotorn-wolfram-alpha-oppnar-api%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.baronen.org%2Fsokmotorn-wolfram-alpha-oppnar-api%2F" height="61" width="51" /></a></div><p>Wolfram Alpha är en relativt ny sökmotor som är specialiserad på fakta, som till exempel platser och matteuträkningar. Igår meddelande de på sin blogg att de öppnar ett API. Ska bli spännande att se vad för spännande tjänster som växer fram utifrån detta. Kanske har du några egna ideér?</p>
<p>Läs hela <a href="http://blog.wolframalpha.com/2009/10/15/the-wolframalpha-api-has-arrived/">bloggposten</a>, (via <a href="http://twitter.com/PeterRosdahl">Peter Rosdahl</a>).</p>


<p>Relaterade poster:<ol><li><a href='http://www.baronen.org/firefox-3-6-alpha-slapps/' rel='bookmark' title='Permanent Link: Firefox 3.6 Alpha släpps'>Firefox 3.6 Alpha släpps</a> <small>I dagarna </small></li></ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/r_BF3oCHcuab9BZUkjTUsMAv-Gc/0/da"><img src="http://feedads.g.doubleclick.net/~a/r_BF3oCHcuab9BZUkjTUsMAv-Gc/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/r_BF3oCHcuab9BZUkjTUsMAv-Gc/1/da"><img src="http://feedads.g.doubleclick.net/~a/r_BF3oCHcuab9BZUkjTUsMAv-Gc/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/Baronenorg/~4/cD0anDy669I" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.baronen.org/sokmotorn-wolfram-alpha-oppnar-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.baronen.org/sokmotorn-wolfram-alpha-oppnar-api/</feedburner:origLink></item>
		<item>
		<title>W3 lanserar ny design</title>
		<link>http://feedproxy.google.com/~r/Baronenorg/~3/9DR-rIrmMrw/</link>
		<comments>http://www.baronen.org/w3-lanserar-ny-design/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 20:38:42 +0000</pubDate>
		<dc:creator>Baronen</dc:creator>
				<category><![CDATA[Notiser]]></category>

		<guid isPermaLink="false">http://www.baronen.org/?p=717</guid>
		<description><![CDATA[Igår lanserade World Wide Web Consortium (W3C) sin nya design. Enligt dem själva ska den nya sidan ha en harmonisk design, enklare upplägg av information och nytt innehåll, bland annat kalender och aggregerade bloggar. Vissa sidor är dock inte helt färdiga utan de planerar att fylla på dem efter hand. Läs mer hos W3.

Vad tycker [...]


Relaterade poster:<ol><li><a href='http://www.baronen.org/google-lanserar-webblasaren-chrome/' rel='bookmark' title='Permanent Link: Google lanserar webbläsaren Chrome'>Google lanserar webbläsaren Chrome</a> <small>Idag lanse</small></li><li><a href='http://www.baronen.org/genius-design-anvandbarhet/' rel='bookmark' title='Permanent Link: Genius Design Användbarhet'>Genius Design Användbarhet</a> <small>Användarce</small></li><li><a href='http://www.baronen.org/dag-tva/' rel='bookmark' title='Permanent Link: Dag två'>Dag två</a> <small>Detta blir</small></li></ol>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 10px; margin-top: 5px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.baronen.org%2Fw3-lanserar-ny-design%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.baronen.org%2Fw3-lanserar-ny-design%2F" height="61" width="51" /></a></div><p>Igår lanserade World Wide Web Consortium (W3C) sin nya design. Enligt dem själva ska den nya sidan ha en harmonisk design, enklare upplägg av information och nytt innehåll, bland annat kalender och aggregerade bloggar. Vissa sidor är dock inte helt färdiga utan de planerar att fylla på dem efter hand. <a href="http://www.w3.org/News/2009#entry-6521">Läs mer hos W3</a>.</p>
<p><img class="alignnone size-large wp-image-718" title="Bild 24" src="http://www.baronen.org/wp-content/uploads/2009/10/Bild-24-1024x468.png" alt="Bild 24" width="614" height="281" /></p>
<p>Vad tycker du om den nya designen?</p>


<p>Relaterade poster:<ol><li><a href='http://www.baronen.org/google-lanserar-webblasaren-chrome/' rel='bookmark' title='Permanent Link: Google lanserar webbläsaren Chrome'>Google lanserar webbläsaren Chrome</a> <small>Idag lanse</small></li><li><a href='http://www.baronen.org/genius-design-anvandbarhet/' rel='bookmark' title='Permanent Link: Genius Design Användbarhet'>Genius Design Användbarhet</a> <small>Användarce</small></li><li><a href='http://www.baronen.org/dag-tva/' rel='bookmark' title='Permanent Link: Dag två'>Dag två</a> <small>Detta blir</small></li></ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/kTgC3hGEkFyDkAgT4PVRfGmaPfU/0/da"><img src="http://feedads.g.doubleclick.net/~a/kTgC3hGEkFyDkAgT4PVRfGmaPfU/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/kTgC3hGEkFyDkAgT4PVRfGmaPfU/1/da"><img src="http://feedads.g.doubleclick.net/~a/kTgC3hGEkFyDkAgT4PVRfGmaPfU/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/Baronenorg/~4/9DR-rIrmMrw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.baronen.org/w3-lanserar-ny-design/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.baronen.org/w3-lanserar-ny-design/</feedburner:origLink></item>
	</channel>
</rss>
