<?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>larsemil &#187; PHP</title>
	<atom:link href="http://larsemil.se/tag/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://larsemil.se</link>
	<description></description>
	<lastBuildDate>Fri, 04 May 2012 08:06:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>php strtoupper och svenska bokstäver.</title>
		<link>http://larsemil.se/php-strtoupper-och-svenska-bokstaver/</link>
		<comments>http://larsemil.se/php-strtoupper-och-svenska-bokstaver/#comments</comments>
		<pubDate>Wed, 14 Mar 2012 09:44:05 +0000</pubDate>
		<dc:creator>Emil</dc:creator>
				<category><![CDATA[Teknik]]></category>
		<category><![CDATA[Webb]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[string]]></category>

		<guid isPermaLink="false">http://larsemil.se/?p=4732</guid>
		<description><![CDATA[Satt med ett skript som skulle generera bilder från text och behövde då göra om strängen till stora bokstäver. Lätt som en plätt tänkte jag. skickade in bokstäver i strtoupper. echo strtoupper&#40;&#34;Bostäder&#34;&#41;; //Resultatet: BOSTäDER Som ni ser blev resultatet inte det väntade. Men lösningen var enkel &#8211; byt ut strtoupper till mb_strtoupper echo mb_strtoupper&#40;&#34;Bostäder&#34;&#41;; //resultat [...]]]></description>
			<content:encoded><![CDATA[<p>Satt med ett skript som skulle generera bilder från text och behövde då göra om strängen till stora bokstäver.</p>
<p>Lätt som en plätt tänkte jag. skickade in bokstäver i strtoupper.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">echo</span> <span style="color: #990000;">strtoupper</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Bostäder&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">//Resultatet: BOSTäDER</span></pre></div></div>

<p>Som ni ser blev resultatet inte det väntade.</p>
<p>Men lösningen var enkel &#8211; byt ut strtoupper till <a href="http://php.net/manual/en/function.mb-strtoupper.php" target="_blank">mb_strtoupper</a></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">echo</span> <span style="color: #990000;">mb_strtoupper</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Bostäder&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">//resultat BOSTÄDER</span></pre></div></div>

<p><em>Edit: Kräver att modulen mbstrings är installerad och aktiverad!</em></p>
]]></content:encoded>
			<wfw:commentRss>http://larsemil.se/php-strtoupper-och-svenska-bokstaver/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP och late static bindings</title>
		<link>http://larsemil.se/php-och-late-static-bindings/</link>
		<comments>http://larsemil.se/php-och-late-static-bindings/#comments</comments>
		<pubDate>Wed, 22 Feb 2012 13:46:21 +0000</pubDate>
		<dc:creator>Emil</dc:creator>
				<category><![CDATA[Teknik]]></category>
		<category><![CDATA[Webb]]></category>
		<category><![CDATA[objektorienterat]]></category>
		<category><![CDATA[oo]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[static binding]]></category>

		<guid isPermaLink="false">http://larsemil.se/?p=4717</guid>
		<description><![CDATA[I PHP 5.3.0 introducerades en fin liten grej som inte fått så jättemycket uppmärksamhet. Late static bindings.  När du jobbar med klasser för att skapa objekt så får du ofta en situation som ser ut som följande: &#60;?php class person&#123; static $name = 'Unidentified person'; &#160; public static function getName&#40;&#41;&#123; return self::$name; &#125; &#160; &#125; [...]]]></description>
			<content:encoded><![CDATA[<p>I PHP 5.3.0 introducerades en fin liten grej som inte fått så jättemycket uppmärksamhet. <a title="Late static binding" href="http://php.net/manual/en/language.oop5.late-static-bindings.php" target="_blank">Late static bindings. </a></p>
<p>När du jobbar med klasser för att skapa objekt så får du ofta en situation som ser ut som följande:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000000; font-weight: bold;">class</span> person<span style="color: #009900;">&#123;</span>
    static <span style="color: #000088;">$name</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'Unidentified person'</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> static <span style="color: #000000; font-weight: bold;">function</span> getName<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">::</span><span style="color: #000088;">$name</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">class</span> teacher <span style="color: #000000; font-weight: bold;">extends</span> person<span style="color: #009900;">&#123;</span>
    static <span style="color: #000088;">$name</span> <span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;Teacher&quot;</span><span style="color: #339933;">;</span> 
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #b1b100;">echo</span> teacher<span style="color: #339933;">::</span><span style="color: #004000;">getName</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Vilket kommer att ge</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">Unidentified person</pre></div></div>

<p>När man egentligen vill ha variabeln från childklassen och inte parentklassen. Det är här late static bindings kommer in i bilden.</p>
<p>Om man då byter ut raden return self::$name till return static::$name så gör man alltså en late static binding och php förstår att det är variabeln från childklassen du vill returnera och inte den från parentklassen(där funktionen getName ligger). Koden blir alltså så här:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000000; font-weight: bold;">class</span> person<span style="color: #009900;">&#123;</span>
    static <span style="color: #000088;">$name</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'Unidentified person'</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> static <span style="color: #000000; font-weight: bold;">function</span> getName<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">return</span> static<span style="color: #339933;">::</span><span style="color: #000088;">$name</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">class</span> teacher <span style="color: #000000; font-weight: bold;">extends</span> person<span style="color: #009900;">&#123;</span>
    static <span style="color: #000088;">$name</span> <span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;Teacher&quot;</span><span style="color: #339933;">;</span> 
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #b1b100;">echo</span> teacher<span style="color: #339933;">::</span><span style="color: #004000;">getName</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Vilket kommer att ge</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">Teacher</pre></div></div>

<p>Och helt plötsligt blev även statiska funktioner och variabler så mycket enklare att jobba med genom klasser och arv. Kör hårt!</p>
]]></content:encoded>
			<wfw:commentRss>http://larsemil.se/php-och-late-static-bindings/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Owncloud och smidig kod!</title>
		<link>http://larsemil.se/own-cloud/</link>
		<comments>http://larsemil.se/own-cloud/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 13:33:01 +0000</pubDate>
		<dc:creator>Emil</dc:creator>
				<category><![CDATA[Teknik]]></category>
		<category><![CDATA[Webb]]></category>
		<category><![CDATA[daladevelop]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://larsemil.se/?p=4707</guid>
		<description><![CDATA[I nördkretsar började det idag pratas mycket om owncloud, en sorts molntjänst där du kan lagra data i molnet för att komma åt från vart du än är. Dropbox tänker du, rätt men fel säger jag. För owncloud är något så smart som en dropboxliknande tjänst &#8211; fast där du kan sätta upp owncloud på [...]]]></description>
			<content:encoded><![CDATA[<p>I nördkretsar började det idag pratas mycket om <a href="http://owncloud.org" target="_blank">owncloud</a>, en sorts molntjänst där du kan lagra data i molnet för att komma åt från vart du än är. Dropbox tänker du, rätt men fel säger jag. För owncloud är något så smart som en dropboxliknande tjänst &#8211; fast där du kan sätta upp owncloud på egen server. (Vilket vi gjorde hos <a href="http://daladevelop.se" target="_blank">daladevelop</a> såklart gjorde för att prova).</p>
<p>Det är ju en ganska färsk programvara och den har några babysjukdomar &#8211; men intresset är enormt. Demot som finns på ownclouds hemsida drog under två dygn 250gb data, vilket är schysst för ett open source projekt som precis sett dagens ljus. Prova gärna! Och om du är en daladevelopare så ska du kunna logga in på vårat eget <a href="http://daladevelop.se/owncloud" target="_blank">owncloud</a> med dina serverinloggningsuppgifter.</p>
<p>Och appropå det, så fick jag det inte att fungera när jag först provade. Det gick inte. Jag kollade på deras forum och såg att fler haft samma problem och satte mig sen ner för att försöka lösa problemet. Tack vare att projektet är just öppen källkod så kunde jag gå in i koden och se vad som skulle kunna vara fel. Och snabbt förstod jag att det faktiskt var en bugg i koden. Jag skrev ihop en fix och mailade den till författaren av orginalkoden och sa att han gärna fick använda den.</p>
<p>Och det är själva kärnan av open source, att vi tillsammans kan göra programvara bättre genom att tillsammans hitta felen, testa dem och fixa dem.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://larsemil.se/own-cloud/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>En ny slider!</title>
		<link>http://larsemil.se/en-ny-slider/</link>
		<comments>http://larsemil.se/en-ny-slider/#comments</comments>
		<pubDate>Tue, 29 Mar 2011 06:00:54 +0000</pubDate>
		<dc:creator>Emil</dc:creator>
				<category><![CDATA[Dalnix]]></category>
		<category><![CDATA[Teknik]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[slider]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://larsemil.se/?p=899</guid>
		<description><![CDATA[Jag har kollat igenom alla möjliga olika sliders för att hitta en som passar till det jobb jag gör åt en kund just nu. Mina krav var egentligen ganska simpla: Kunna skapa flera olika sliders, med unika bilder och inställningar på varje slide. Att välja bilder från wordpress media bibliotek. Alla sliders som fanns hade [...]]]></description>
			<content:encoded><![CDATA[<p>Jag har kollat igenom alla möjliga olika sliders för att hitta en som passar till det jobb jag gör åt en kund just nu. Mina krav var egentligen ganska simpla:</p>
<ol>
<li>Kunna skapa flera olika sliders, med unika bilder och inställningar på varje slide.</li>
<li>Att välja bilder från wordpress media bibliotek.</li>
</ol>
<p>Alla sliders som fanns hade tusen inställningsmöjligheter vad gällde hur bilderna skulle bytas och allt annat, men att just klara av de två ovanstående kraven och presentera det på ett vettigt sätt var helt omöjligt.</p>
<p><strong>Så jag bestämde mig för att göra en egen</strong></p>
<p>Sagt och gjort, fem timmars kvällsprogrammering resulterade i en enkel plugin till wordpress där man kan skapa ett oändligt antal sliders och unika inställningar för varje slide. Slidern bygger såklart på jquery och går självklart att skriva ett betydligt mer avancerat javascript som hanterar bildskiftningen, men keep it simple tänkte jag och det är det nu. Och fungerar rackarns bra.</p>
<p>Håll utkik efter demo!</p>
<p>Koden ska nu snyggas upp lite och så ska jag lägga till lite enkla inställningar som man kan vilja ha om man inte vill hårdkoda och sen kommer jag att släppa den fritt på ett eller annat sätt.</p>
]]></content:encoded>
			<wfw:commentRss>http://larsemil.se/en-ny-slider/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP &#8211; en del av internets ryggrad</title>
		<link>http://larsemil.se/php-en-del-av-internets-ryggrad/</link>
		<comments>http://larsemil.se/php-en-del-av-internets-ryggrad/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 18:12:57 +0000</pubDate>
		<dc:creator>Emil</dc:creator>
				<category><![CDATA[Teknik]]></category>
		<category><![CDATA[BOT]]></category>
		<category><![CDATA[IRC]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://larsemil.se/?p=505</guid>
		<description><![CDATA[Internet är stort, det finns miljarder sidor där ute. Du har kanske själv skapat en hemsida någon gång, och vet hur det går till när man ska uppdatera den. Man ändrar, man laddar upp en ny version till webbservern och om man vill ändra igen får man ladda upp en ny version. Hade man några [...]]]></description>
			<content:encoded><![CDATA[<p>Internet är stort, det finns miljarder sidor där ute. Du har kanske själv skapat en hemsida någon gång, och vet hur det går till när man ska uppdatera den. Man ändrar, man laddar upp en ny version till webbservern och om man vill ändra igen får man ladda upp en ny version. Hade man några länkar från sidaA till sidaB och sen döpte om sidaB så blev det snart problem då fick man ändra det också.</p>
<p>Man insåg snart att det här skulle bli helt ohållbart på större hemsidor, det fanns ingen möjlighet att ha så många hemsidehackare som gjorde alla ändringar och uppladdningar som det kunde behövas för t.ex Aftonbladet.se. Det är här scriptspråken kommer in. Med ett scriptspråk som hanterar delar av din hemsida så kan man koncentrera sig på att bara göra det som man gör bäst manuellt &#8211; ändra innehållet. Scriptspråket sköter resten.</p>
<p>Ett av de största scriptspråken på webben idag är PHP som går att köra enskilt eller tillsammans med andra tjänster. Det är en del av den kända LAMP tjänsten(Linux, Apache, Mysql, PHP) där apache är en webbserver och mysql en databasserver. Du kanske tänker att du aldrig har varit i närheten av PHP som scriptspråk, men det kan jag lova dig att du har. Några stora siter som kör php är: Facebook, WordPress och diverse andra bloggverktyg. Så jo &#8211; du har varit på en sida som kör PHP, varje dag som du surfar är du det.</p>
<p>PHP är öppen källkod, det betyder att vem som helst kan ladda ner det på sin dator och köra PHP program.</p>
<p>Framförallt är det fantastiskt skoj att programmera i. Larsemil.se, dalnix.se, och alla siter som jag gör åt kunder kör PHP.</p>
<p>Idag har jag varit så där skönt nördig och programmerat en IRC-bot i PHP. Den kan ansluta till en IRC kanal och sen utföra lite enkla uppgifter. Kul! Källkod här i sann open source anda: <a href="http://www.linuxportalen.se/blogs/larsemil/2010/02/04/en-ircbot-i-php" target="_blank">http://www.linuxportalen.se/blogs/larsemil/2010/02/04/en-ircbot-i-php</a></p>
<p>Börja du också &#8211; <a href="http://www.phpportalen.net" target="_blank">phpportalen.net</a> är en bra start!</p>
]]></content:encoded>
			<wfw:commentRss>http://larsemil.se/php-en-del-av-internets-ryggrad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Served from: larsemil.se @ 2012-05-22 07:33:49 by W3 Total Cache -->
