<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule">
<channel>
    
    <title>artodeto's blog about coding, politics and the world - coding</title>
    <link>http://artodeto.bazzline.net/</link>
    <description>artodeto's blog about coding, politics and the world</description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.6 - http://www.s9y.org/</generator>
    <ttl>240</ttl>
<pubDate>Tue, 08 May 2012 10:33:55 GMT</pubDate>

    <image>
        <url>http://artodeto.bazzline.net/templates/bulletproof/img/s9y_banner_small.png</url>
        <title>RSS: artodeto's blog about coding, politics and the world - coding - artodeto's blog about coding, politics and the world</title>
        <link>http://artodeto.bazzline.net/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>howto - Apache Tomcat Configuration</title>
    <link>http://artodeto.bazzline.net/archives/169-howto-Apache-Tomcat-Configuration.html</link>
            <category>coding</category>
    
    <comments>http://artodeto.bazzline.net/archives/169-howto-Apache-Tomcat-Configuration.html#comments</comments>
    <wfw:comment>http://artodeto.bazzline.net/wfwcomment.php?cid=169</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://artodeto.bazzline.net/rss.php?version=2.0&amp;type=comments&amp;cid=169</wfw:commentRss>
    

    <author>nospam@example.com (artodeto)</author>
    <content:encoded>
    &lt;p&gt;All the needed configuration parameters you can/have to to are linked below. In this entry i want to point out the use of &lt;strong&gt;setenv.sh&lt;/strong&gt;.&lt;br /&gt;
&lt;br /&gt;
With &lt;strong&gt;setenv.sh&lt;/strong&gt; you don&#039;t have to edit the default startup script from the tomcat. This means you also can backup/store your settings on a well know place and then just create a link into the directory where your catalina.sh file is placed.&lt;br /&gt;
The catalina.sh script itself looks for a setenv.sh and reads it. Everything that is configured inside the setenv.sh script overwrites the default settings inside the catalina.sh.&lt;br /&gt;
&lt;br /&gt;
links:&lt;br /&gt;
&lt;a href=&quot;http://tomcat.apache.org/tomcat-6.0-doc/config/context.html&quot; title=&quot;configuration documentation apache.org&quot; target=&quot;_BLANK&quot;&gt;tomcate.apache.org&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://tomcat.apache.org/tomcat-4.1-doc/RUNNING.txt&quot; target=&quot;_BLANK&quot; title=&quot;how to run a tomcat&quot;&gt;how to run a tomcat&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://willcode4beer.com/ware.jsp?set=tomcat_config&quot; target=&quot;_BLANK&quot; title=&quot;configurate a tomcat by willcode4beer.com&quot;&gt;how to configurate a tomcate&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;serendipity_babelfish&quot;&gt;Translate to  &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F169-howto-Apache-Tomcat-Configuration.html&amp;amp;lp=en%5Fde&quot;&gt;de&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F169-howto-Apache-Tomcat-Configuration.html&amp;amp;lp=en%5Fes&quot;&gt;es&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F169-howto-Apache-Tomcat-Configuration.html&amp;amp;lp=en%5Ffr&quot;&gt;fr&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F169-howto-Apache-Tomcat-Configuration.html&amp;amp;lp=en%5Fit&quot;&gt;it&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F169-howto-Apache-Tomcat-Configuration.html&amp;amp;lp=en%5Fpt&quot;&gt;pt&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F169-howto-Apache-Tomcat-Configuration.html&amp;amp;lp=en%5Fja&quot;&gt;ja&lt;/a&gt;&lt;/div&gt; 
    </content:encoded>

    <pubDate>Sat, 12 May 2012 03:25:00 +0200</pubDate>
    <guid isPermaLink="false">http://artodeto.bazzline.net/archives/169-guid.html</guid>
    <category>apache</category>
<category>english</category>
<category>howto</category>
<category>java</category>
<category>open source</category>
<category>tomcat</category>
<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>
<item>
    <title>web - Tizen 1.0 Larkspur SDK and Source Code Release</title>
    <link>http://artodeto.bazzline.net/archives/166-web-Tizen-1.0-Larkspur-SDK-and-Source-Code-Release.html</link>
            <category>coding</category>
    
    <comments>http://artodeto.bazzline.net/archives/166-web-Tizen-1.0-Larkspur-SDK-and-Source-Code-Release.html#comments</comments>
    <wfw:comment>http://artodeto.bazzline.net/wfwcomment.php?cid=166</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://artodeto.bazzline.net/rss.php?version=2.0&amp;type=comments&amp;cid=166</wfw:commentRss>
    

    <author>nospam@example.com (artodeto)</author>
    <content:encoded>
    &lt;p&gt;&lt;blockquote&gt;Today we are excited to announce Tizen 1.0 Larkspur, including the addition of new complimentary components, as well as source code that focuses on enhancing stability and performance. We believe that these updates and new offerings improve the experience for developers. We are also continuing to work on improvements and additions, and we will be doing frequent updates to the SDK and source code. There are a few additional components that we plan to add in the coming weeks, and we will continue to fix bugs and add additional features.&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://www.tizen.org/blogs/tsg/2012/tizen-1.0-larkspur&quot; target=&quot;_BLANK&quot; title=&quot;tizen 1.0 larkspur - 120501 tizen.org&quot;&gt;source&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;You want to start or take a deep look to the source code? Check out the &lt;a href=&quot;https://source.tizen.org/&quot; target=&quot;_BLANK&quot; title=&quot;source tizen.org&quot;&gt;source page&lt;/a&gt;.&lt;/p&gt;&lt;div class=&quot;serendipity_babelfish&quot;&gt;Translate to  &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F166-web-Tizen-1.0-Larkspur-SDK-and-Source-Code-Release.html&amp;amp;lp=en%5Fde&quot;&gt;de&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F166-web-Tizen-1.0-Larkspur-SDK-and-Source-Code-Release.html&amp;amp;lp=en%5Fes&quot;&gt;es&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F166-web-Tizen-1.0-Larkspur-SDK-and-Source-Code-Release.html&amp;amp;lp=en%5Ffr&quot;&gt;fr&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F166-web-Tizen-1.0-Larkspur-SDK-and-Source-Code-Release.html&amp;amp;lp=en%5Fit&quot;&gt;it&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F166-web-Tizen-1.0-Larkspur-SDK-and-Source-Code-Release.html&amp;amp;lp=en%5Fpt&quot;&gt;pt&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F166-web-Tizen-1.0-Larkspur-SDK-and-Source-Code-Release.html&amp;amp;lp=en%5Fja&quot;&gt;ja&lt;/a&gt;&lt;/div&gt; 
    </content:encoded>

    <pubDate>Tue, 01 May 2012 18:48:03 +0200</pubDate>
    <guid isPermaLink="false">http://artodeto.bazzline.net/archives/166-guid.html</guid>
    <category>daily</category>
<category>english</category>
<category>meego</category>
<category>mobile device</category>
<category>open source</category>
<category>operation system</category>
<category>tablet</category>
<category>tizen</category>
<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>
<item>
    <title>tool - create php classes from a soap wsdl</title>
    <link>http://artodeto.bazzline.net/archives/164-tool-create-php-classes-from-a-soap-wsdl.html</link>
            <category>coding</category>
    
    <comments>http://artodeto.bazzline.net/archives/164-tool-create-php-classes-from-a-soap-wsdl.html#comments</comments>
    <wfw:comment>http://artodeto.bazzline.net/wfwcomment.php?cid=164</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://artodeto.bazzline.net/rss.php?version=2.0&amp;type=comments&amp;cid=164</wfw:commentRss>
    

    <author>nospam@example.com (artodeto)</author>
    <content:encoded>
    &lt;p&gt;Since i am working with a lot of soap services right now i searched for a tool that generates the soap classes for me. Thankts to &lt;a href=&quot;http://www.propelorm.org/&quot; target=&quot;_BLANK&quot; title=&quot;propel php orm&quot;&gt;propel&lt;/a&gt; and its &quot;schema.xml&quot; i am getting really lazy for doing such a task by hand &lt;img src=&quot;http://artodeto.bazzline.net/templates/default/img/emoticons/wink.png&quot; alt=&quot;;-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;.&lt;br /&gt;
&lt;br /&gt;
Fortunately, the internet is still a place where everything can be found, so the search engine of my choice scores and found the &lt;a href=&quot;https://github.com/walle/wsdl2phpgenerator&quot; target=&quot;_BLANK&quot; title=&quot;wsdl to pgp generator&quot;&gt;wsdl2phpgenerator&lt;/a&gt; provided by &lt;a href=&quot;https://github.com/walle&quot; target=&quot;_BLANK&quot; title=&quot;walle on github&quot;&gt;walle&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;&lt;blockquote&gt;Simple WSDL to PHP classes converter. Takes a wsdl file and outputs class files ready to use.&lt;br /&gt;
&lt;br /&gt;
Uses the MIT licence (http://www.opensource.org/licenses/mit-license.php)&lt;br /&gt;
&lt;br /&gt;
Usage executable:&lt;br /&gt;
./wsdl2php -i input.wsdl -o /tmp/my/directory/wsdl&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
Just add &lt;strong&gt;-v&lt;/strong&gt; to use the verbose mode and &lt;strong&gt;-n my\\namespace&lt;/strong&gt; to add a preferred namespace.&lt;/p&gt;&lt;div class=&quot;serendipity_babelfish&quot;&gt;Translate to  &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F164-tool-create-php-classes-from-a-soap-wsdl.html&amp;amp;lp=en%5Fde&quot;&gt;de&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F164-tool-create-php-classes-from-a-soap-wsdl.html&amp;amp;lp=en%5Fes&quot;&gt;es&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F164-tool-create-php-classes-from-a-soap-wsdl.html&amp;amp;lp=en%5Ffr&quot;&gt;fr&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F164-tool-create-php-classes-from-a-soap-wsdl.html&amp;amp;lp=en%5Fit&quot;&gt;it&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F164-tool-create-php-classes-from-a-soap-wsdl.html&amp;amp;lp=en%5Fpt&quot;&gt;pt&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F164-tool-create-php-classes-from-a-soap-wsdl.html&amp;amp;lp=en%5Fja&quot;&gt;ja&lt;/a&gt;&lt;/div&gt; 
    </content:encoded>

    <pubDate>Fri, 27 Apr 2012 21:27:00 +0200</pubDate>
    <guid isPermaLink="false">http://artodeto.bazzline.net/archives/164-guid.html</guid>
    <category>cli</category>
<category>english</category>
<category>generator</category>
<category>github.com</category>
<category>howto</category>
<category>open source</category>
<category>php</category>
<category>soap</category>
<category>tool</category>
<category>wsdl</category>
<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>
<item>
    <title>tool - vi moving arround</title>
    <link>http://artodeto.bazzline.net/archives/160-tool-vi-moving-arround.html</link>
            <category>coding</category>
    
    <comments>http://artodeto.bazzline.net/archives/160-tool-vi-moving-arround.html#comments</comments>
    <wfw:comment>http://artodeto.bazzline.net/wfwcomment.php?cid=160</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://artodeto.bazzline.net/rss.php?version=2.0&amp;type=comments&amp;cid=160</wfw:commentRss>
    

    <author>nospam@example.com (artodeto)</author>
    <content:encoded>
    &lt;p&gt;Apanding to the &lt;a href=&quot;http://artodeto.bazzline.net/archives/159-tool-vi-a-little-more-basics-for-simple-editing.html&quot; title=&quot;vi simple editing - artodeto.bazzline.net - 120417&quot;&gt;simple editing&lt;/a&gt; post i would like to add this time some hints for moving arround&lt;/p&gt;&lt;br /&gt;
&lt;ul&gt;&lt;br /&gt;
&lt;li&gt;&lt;strong&gt;ctrl+F&lt;/strong&gt; - scroll forward one screen&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;&lt;strong&gt;ctrl+B&lt;/strong&gt; - scroll backward one screen&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;&lt;strong&gt;ctrl+D&lt;/strong&gt; - scroll forward half a screen&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;&lt;strong&gt;ctrl+U&lt;/strong&gt; - scroll backward half a screen&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;&lt;strong&gt;H&lt;/strong&gt; - move to the home/top line of the screen&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;&lt;strong&gt;M&lt;/strong&gt; - move to the middle of the screen&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;&lt;strong&gt;L&lt;/strong&gt; - move to the last line of the screen&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;&lt;strong&gt;+&lt;/strong&gt; - move to the first character of the next line&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;&lt;strong&gt;-&lt;/strong&gt; - move to the first character of the previous line&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;&lt;strong&gt;?&lt;/strong&gt; - search backward&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;&lt;strong&gt;N&lt;/strong&gt; - step search backward&lt;/li&gt;&lt;br /&gt;
&lt;/ul&gt;&lt;div class=&quot;serendipity_babelfish&quot;&gt;Translate to  &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F160-tool-vi-moving-arround.html&amp;amp;lp=en%5Fde&quot;&gt;de&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F160-tool-vi-moving-arround.html&amp;amp;lp=en%5Fes&quot;&gt;es&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F160-tool-vi-moving-arround.html&amp;amp;lp=en%5Ffr&quot;&gt;fr&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F160-tool-vi-moving-arround.html&amp;amp;lp=en%5Fit&quot;&gt;it&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F160-tool-vi-moving-arround.html&amp;amp;lp=en%5Fpt&quot;&gt;pt&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F160-tool-vi-moving-arround.html&amp;amp;lp=en%5Fja&quot;&gt;ja&lt;/a&gt;&lt;/div&gt; 
    </content:encoded>

    <pubDate>Thu, 19 Apr 2012 19:09:00 +0200</pubDate>
    <guid isPermaLink="false">http://artodeto.bazzline.net/archives/160-guid.html</guid>
    <category>english</category>
<category>howto</category>
<category>unix</category>
<category>vi</category>
<category>vim</category>
<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>
<item>
    <title>tool - vi a little more basics for simple editing</title>
    <link>http://artodeto.bazzline.net/archives/159-tool-vi-a-little-more-basics-for-simple-editing.html</link>
            <category>coding</category>
    
    <comments>http://artodeto.bazzline.net/archives/159-tool-vi-a-little-more-basics-for-simple-editing.html#comments</comments>
    <wfw:comment>http://artodeto.bazzline.net/wfwcomment.php?cid=159</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://artodeto.bazzline.net/rss.php?version=2.0&amp;type=comments&amp;cid=159</wfw:commentRss>
    

    <author>nospam@example.com (artodeto)</author>
    <content:encoded>
    &lt;p&gt;I am using the vi since a few years. A few months ago i realized that i am just using a bit of the mighty power of the vi. Thats why &lt;a href=&quot;http://oreilly.com/&quot; target=&quot;_BLANK&quot; title=&quot;oreilly&quot;&gt;O`Reilly&#039;s&lt;/a&gt; &lt;a href=&quot;http://shop.oreilly.com/product/9780596529833.do&quot; target=&quot;_BLANK&quot; title=&quot;learning the vi and vim editors&quot;&gt;Learning the vi editor&lt;/a&gt; was welcomed in my house &lt;img src=&quot;http://artodeto.bazzline.net/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;.&lt;br /&gt;
&lt;br /&gt;
I have just finised a small part of the book but found already some &quot;new&quot; stuff for me. Thats why this entry is a supplement to my vi knowledge. But maybe there is something for you out there too.&lt;/p&gt;&lt;br /&gt;
&lt;ul&gt;&lt;br /&gt;
&lt;li&gt;&lt;strong&gt;:e!&lt;/strong&gt; - returns you the last saved version of your file&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;&lt;strong&gt;W&lt;/strong&gt; - move forward from word by word without considering symbols and punctuation&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;&lt;strong&gt;c2b&lt;/strong&gt; - change two words backwards&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;&lt;strong&gt;c$&lt;/strong&gt; - change to the end of the line&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;&lt;strong&gt;cc&lt;/strong&gt; - change the entire current line&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;&lt;strong&gt;C&lt;/strong&gt; - change characters from current cursor position to the end of the line&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;&lt;strong&gt;s&lt;/strong&gt; - substitute from current position&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;&lt;strong&gt;S&lt;/strong&gt; - same as cc&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;&lt;strong&gt;R&lt;/strong&gt; - puts you in &quot;overwrite&quot; mode&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;&lt;strong&gt;~&lt;/strong&gt; - change case of your letter (Upper- to Lowercase and other way)&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;&lt;strong&gt;D&lt;/strong&gt; - deletes from courrent position to the end of the line&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;&lt;strong&gt;x&lt;/strong&gt; - deletes current character&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;&lt;strong&gt;X&lt;/strong&gt; - deletes character before current position&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;&lt;strong&gt;xp&lt;/strong&gt; - delete current character ad put after curser&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;&lt;strong&gt;y$&lt;/strong&gt; - yankes to the end of the line&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;&lt;strong&gt;.&lt;/strong&gt; - repeats last command&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;&lt;strong&gt;O&lt;/strong&gt; - opens blank line above curser&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;&lt;strong&gt;J&lt;/strong&gt; - joins two (or more) lines&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;&lt;strong&gt;e&lt;/strong&gt; - moves to the end of a word&lt;/li&gt;&lt;br /&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;p&gt;Wow, after this list it is hard to believe that i am using the vi for years now, &quot;we are absolute beginners&quot; comes to my ears &lt;img src=&quot;http://artodeto.bazzline.net/templates/default/img/emoticons/wink.png&quot; alt=&quot;;-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;.&lt;/p&gt;&lt;div class=&quot;serendipity_babelfish&quot;&gt;Translate to  &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F159-tool-vi-a-little-more-basics-for-simple-editing.html&amp;amp;lp=en%5Fde&quot;&gt;de&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F159-tool-vi-a-little-more-basics-for-simple-editing.html&amp;amp;lp=en%5Fes&quot;&gt;es&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F159-tool-vi-a-little-more-basics-for-simple-editing.html&amp;amp;lp=en%5Ffr&quot;&gt;fr&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F159-tool-vi-a-little-more-basics-for-simple-editing.html&amp;amp;lp=en%5Fit&quot;&gt;it&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F159-tool-vi-a-little-more-basics-for-simple-editing.html&amp;amp;lp=en%5Fpt&quot;&gt;pt&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F159-tool-vi-a-little-more-basics-for-simple-editing.html&amp;amp;lp=en%5Fja&quot;&gt;ja&lt;/a&gt;&lt;/div&gt; 
    </content:encoded>

    <pubDate>Mon, 16 Apr 2012 18:48:00 +0200</pubDate>
    <guid isPermaLink="false">http://artodeto.bazzline.net/archives/159-guid.html</guid>
    <category>english</category>
<category>howto</category>
<category>unix</category>
<category>vi</category>
<category>vim</category>
<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>
<item>
    <title>linux - how is logged in?</title>
    <link>http://artodeto.bazzline.net/archives/157-linux-how-is-logged-in.html</link>
            <category>coding</category>
    
    <comments>http://artodeto.bazzline.net/archives/157-linux-how-is-logged-in.html#comments</comments>
    <wfw:comment>http://artodeto.bazzline.net/wfwcomment.php?cid=157</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://artodeto.bazzline.net/rss.php?version=2.0&amp;type=comments&amp;cid=157</wfw:commentRss>
    

    <author>nospam@example.com (artodeto)</author>
    <content:encoded>
    &lt;p&gt;Open a shell and try the following command:&lt;br /&gt;
&lt;blockquote&gt;who&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
The output shows you the user, the console he is using, the datetime when he logged in and so on.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Some usefull links:&lt;br /&gt;
&lt;a href=&quot;http://lowfatlinux.com/linux-users-who.html&quot; target=&quot;_BLANK&quot; title=&quot;lowfatlinux - linux users who&quot;&gt;lowfatlinux.com&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.thegeekstuff.com/2009/03/4-ways-to-identify-who-is-logged-in-on-your-linux-system/&quot; target=&quot;_BLANK&quot; title=&quot;thegeekstuff.com - ways to identify who is logged in&quot;&gt;thegeekstuff.com&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;serendipity_babelfish&quot;&gt;Translate to  &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F157-linux-how-is-logged-in.html&amp;amp;lp=en%5Fde&quot;&gt;de&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F157-linux-how-is-logged-in.html&amp;amp;lp=en%5Fes&quot;&gt;es&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F157-linux-how-is-logged-in.html&amp;amp;lp=en%5Ffr&quot;&gt;fr&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F157-linux-how-is-logged-in.html&amp;amp;lp=en%5Fit&quot;&gt;it&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F157-linux-how-is-logged-in.html&amp;amp;lp=en%5Fpt&quot;&gt;pt&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F157-linux-how-is-logged-in.html&amp;amp;lp=en%5Fja&quot;&gt;ja&lt;/a&gt;&lt;/div&gt; 
    </content:encoded>

    <pubDate>Fri, 13 Apr 2012 19:56:00 +0200</pubDate>
    <guid isPermaLink="false">http://artodeto.bazzline.net/archives/157-guid.html</guid>
    <category>bash</category>
<category>english</category>
<category>howto</category>
<category>links</category>
<category>linux</category>
<category>operation system</category>
<category>shell</category>
<category>unix</category>
<category>user management</category>
<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>
<item>
    <title>php - debug soap client</title>
    <link>http://artodeto.bazzline.net/archives/154-php-debug-soap-client.html</link>
            <category>coding</category>
    
    <comments>http://artodeto.bazzline.net/archives/154-php-debug-soap-client.html#comments</comments>
    <wfw:comment>http://artodeto.bazzline.net/wfwcomment.php?cid=154</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://artodeto.bazzline.net/rss.php?version=2.0&amp;type=comments&amp;cid=154</wfw:commentRss>
    

    <author>nospam@example.com (artodeto)</author>
    <content:encoded>
    &lt;p&gt;If you are using the native php soap client, just enable the trace mechanims and use the build in methods.&lt;br /&gt;
&lt;blockquote&gt;array_push($options, array(&#039;trace&#039; =&gt; 1));&lt;br /&gt;
&lt;br /&gt;
$myPhpSoapClient = new SoapClient($urlToWSDL, $options);&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.php.net/manual/en/soapclient.getlastrequestheaders.php&quot;&gt;SoapClient::__getLastRequestHeaders&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;&lt;a href=&quot;http://www.php.net/manual/en/soapclient.getlastrequest.php&quot;&gt;SoapClient::__getLastRequest&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;&lt;a href=&quot;http://www.php.net/manual/en/soapclient.getlastresponseheaders.php&quot;&gt;SoapClient::__getLastResponseHeaders&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;&lt;a href=&quot;http://www.php.net/manual/en/soapclient.getlastresponse.php&quot;&gt;SoapClient::__getLastResponse&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;
&lt;br /&gt;
Use a logger for the output or add it at least as hidden value in your output.&lt;br /&gt;
&lt;br /&gt;
PHP independent works best with a sniffer tool like &lt;a href=&quot;http://www.wireshark.org/&quot; target=&quot;_BLANK&quot; title=&quot;sniffer tool wireshark&quot;&gt;wireshark&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;serendipity_babelfish&quot;&gt;Translate to  &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F154-php-debug-soap-client.html&amp;amp;lp=en%5Fde&quot;&gt;de&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F154-php-debug-soap-client.html&amp;amp;lp=en%5Fes&quot;&gt;es&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F154-php-debug-soap-client.html&amp;amp;lp=en%5Ffr&quot;&gt;fr&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F154-php-debug-soap-client.html&amp;amp;lp=en%5Fit&quot;&gt;it&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F154-php-debug-soap-client.html&amp;amp;lp=en%5Fpt&quot;&gt;pt&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F154-php-debug-soap-client.html&amp;amp;lp=en%5Fja&quot;&gt;ja&lt;/a&gt;&lt;/div&gt; 
    </content:encoded>

    <pubDate>Mon, 09 Apr 2012 20:35:00 +0200</pubDate>
    <guid isPermaLink="false">http://artodeto.bazzline.net/archives/154-guid.html</guid>
    <category>array</category>
<category>debug</category>
<category>english</category>
<category>error solving</category>
<category>logger</category>
<category>php</category>
<category>soap</category>
<category>wireshark</category>
<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>
<item>
    <title>Interfaces and const definition</title>
    <link>http://artodeto.bazzline.net/archives/156-Interfaces-and-const-definition.html</link>
            <category>coding</category>
    
    <comments>http://artodeto.bazzline.net/archives/156-Interfaces-and-const-definition.html#comments</comments>
    <wfw:comment>http://artodeto.bazzline.net/wfwcomment.php?cid=156</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://artodeto.bazzline.net/rss.php?version=2.0&amp;type=comments&amp;cid=156</wfw:commentRss>
    

    <author>nospam@example.com (artodeto)</author>
    <content:encoded>
    &lt;p&gt;To make it short, if somebody ask you to define a const variable in an interface just say &lt;strong&gt;no&lt;/strong&gt;.&lt;br /&gt;
Just put it in an [abstract] class and use it there. &lt;br /&gt;
&lt;br /&gt;
Feel free to add you comment &lt;img src=&quot;http://artodeto.bazzline.net/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;.&lt;/p&gt;&lt;div class=&quot;serendipity_babelfish&quot;&gt;Translate to  &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F156-Interfaces-and-const-definition.html&amp;amp;lp=en%5Fde&quot;&gt;de&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F156-Interfaces-and-const-definition.html&amp;amp;lp=en%5Fes&quot;&gt;es&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F156-Interfaces-and-const-definition.html&amp;amp;lp=en%5Ffr&quot;&gt;fr&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F156-Interfaces-and-const-definition.html&amp;amp;lp=en%5Fit&quot;&gt;it&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F156-Interfaces-and-const-definition.html&amp;amp;lp=en%5Fpt&quot;&gt;pt&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F156-Interfaces-and-const-definition.html&amp;amp;lp=en%5Fja&quot;&gt;ja&lt;/a&gt;&lt;/div&gt; 
    </content:encoded>

    <pubDate>Thu, 05 Apr 2012 18:38:00 +0200</pubDate>
    <guid isPermaLink="false">http://artodeto.bazzline.net/archives/156-guid.html</guid>
    <category>coding standard</category>
<category>english</category>
<category>interface</category>
<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>
<item>
    <title>php - create uuid in php</title>
    <link>http://artodeto.bazzline.net/archives/150-php-create-uuid-in-php.html</link>
            <category>coding</category>
    
    <comments>http://artodeto.bazzline.net/archives/150-php-create-uuid-in-php.html#comments</comments>
    <wfw:comment>http://artodeto.bazzline.net/wfwcomment.php?cid=150</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://artodeto.bazzline.net/rss.php?version=2.0&amp;type=comments&amp;cid=150</wfw:commentRss>
    

    <author>nospam@example.com (artodeto)</author>
    <content:encoded>
    &lt;p&gt;If you need a kind of unique id creation inside php (but can not or do not want to use your database for this job), here is a small function for this.&lt;br /&gt;
I have also implemented a md5 hash compare. You can replace your current md5 hash method with this one (if you are getting errors in your unittests for e.g. &lt;img src=&quot;http://artodeto.bazzline.net/templates/default/img/emoticons/wink.png&quot; alt=&quot;;-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt; ).&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;&lt;blockquote&gt;?php&lt;br /&gt;
$generatedUUIDs = array();&lt;br /&gt;
$generatedMd5s = array();&lt;br /&gt;
&lt;br /&gt;
for($i = 0;$i&lt;10000;$i++) {&lt;br /&gt;
        $generatedUUID = createUUID();&lt;br /&gt;
        $generatedMd5 = md5($generatedUUID);&lt;br /&gt;
        if (in_array($generatedUUID, $generatedUUIDs)) {&lt;br /&gt;
                echo &#039;matching same uuid in run &#039; . $i . PHP_EOL;&lt;br /&gt;
                exit();&lt;br /&gt;
        } else {&lt;br /&gt;
                $generatedUUIDs[] = $generatedUUID;&lt;br /&gt;
        }&lt;br /&gt;
        if (in_array($generatedMd5, $generatedMd5s)) {&lt;br /&gt;
                echo &#039;matching same md5 in run &#039; . $i . PHP_EOL;&lt;br /&gt;
                exit();&lt;br /&gt;
        } else {&lt;br /&gt;
                $generatedMd5s[] = $generatedMd5;&lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
echo &#039;Run &#039; . $i . &#039; creations of UUIDs successfully.&#039; . PHP_EOL;&lt;br /&gt;
&lt;br /&gt;
function createUUID()&lt;br /&gt;
{&lt;br /&gt;
        return sprintf(&#039;%04x%04x-%04x-%04x-%04x-%04x%04x%04x&#039;,&lt;br /&gt;
                       mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff),&lt;br /&gt;
                       mt_rand(0, 0x0fff) | 0x4000,&lt;br /&gt;
                       mt_rand(0, 0x3fff) | 0x8000,&lt;br /&gt;
                       mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff));&lt;br /&gt;
}&lt;/blockquote&gt;&lt;/p&gt;&lt;div class=&quot;serendipity_babelfish&quot;&gt;Translate to  &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F150-php-create-uuid-in-php.html&amp;amp;lp=en%5Fde&quot;&gt;de&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F150-php-create-uuid-in-php.html&amp;amp;lp=en%5Fes&quot;&gt;es&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F150-php-create-uuid-in-php.html&amp;amp;lp=en%5Ffr&quot;&gt;fr&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F150-php-create-uuid-in-php.html&amp;amp;lp=en%5Fit&quot;&gt;it&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F150-php-create-uuid-in-php.html&amp;amp;lp=en%5Fpt&quot;&gt;pt&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F150-php-create-uuid-in-php.html&amp;amp;lp=en%5Fja&quot;&gt;ja&lt;/a&gt;&lt;/div&gt; 
    </content:encoded>

    <pubDate>Tue, 27 Mar 2012 07:32:00 +0200</pubDate>
    <guid isPermaLink="false">http://artodeto.bazzline.net/archives/150-guid.html</guid>
    <category>create_function</category>
<category>english</category>
<category>open source</category>
<category>php</category>
<category>uuid</category>
<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>
<item>
    <title>tool.bazzline.net - what a user model should have</title>
    <link>http://artodeto.bazzline.net/archives/148-tool.bazzline.net-what-a-user-model-should-have.html</link>
            <category>coding</category>
    
    <comments>http://artodeto.bazzline.net/archives/148-tool.bazzline.net-what-a-user-model-should-have.html#comments</comments>
    <wfw:comment>http://artodeto.bazzline.net/wfwcomment.php?cid=148</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://artodeto.bazzline.net/rss.php?version=2.0&amp;type=comments&amp;cid=148</wfw:commentRss>
    

    <author>nospam@example.com (artodeto)</author>
    <content:encoded>
    &lt;p&gt;Even while i was working on my &lt;a href=&quot;http://artodeto.bazzline.net/archives/140-tool-Bazzline_Controller_Plugin_Auth-Zend-Framework-Controller-Plugin-now-on-github.com.html&quot; target=&quot;_BLANK&quot; title=&quot;Bazzline_Controller_Plugin_Auth-Zend-Framework-Controller-Plugin&quot;&gt;auth plugin&lt;/a&gt; for the zend framework, i tought it is right that the user db table needs to store the password.&lt;br /&gt;
&lt;br /&gt;
&lt;!-- s9ymdb:5 --&gt;&lt;img class=&quot;serendipity_image_center&quot; width=&quot;128&quot; height=&quot;102&quot; src=&quot;http://artodeto.bazzline.net/uploads/2012/03/user_table_with_password_120317.artodeto_thumb.png&quot; title=&quot;user db table layout with password&quot; alt=&quot;&quot;  /&gt;&lt;br /&gt;
&lt;br /&gt;
Well, bad luck, i was wrong. &lt;br /&gt;
I wrestled with the fact that the password is stored in my user domain model. This leads to the fact that everywhere where use the user domain model the code can have access to the password - that sucks in the matter of security.&lt;br /&gt;
&lt;br /&gt;
After a few minutes with a colleague we figured out that a password and even the loginname should be stored and managed by an auth class.&lt;br /&gt;
Even cooler, when you store this information in a central authentification you can use it everywhere (i mean other projects or modules as well).&lt;br /&gt;
&lt;br /&gt;
&lt;!-- s9ymdb:6 --&gt;&lt;img class=&quot;serendipity_image_center&quot; width=&quot;128&quot; height=&quot;37&quot; src=&quot;http://artodeto.bazzline.net/uploads/2012/03/user_table_with_separate_stored_password_120317.artodeto_thumb.png&quot; title=&quot;user db table layout with separate password in auth db table&quot; alt=&quot;&quot;  /&gt;&lt;/p&gt;&lt;div class=&quot;serendipity_babelfish&quot;&gt;Translate to  &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F148-tool.bazzline.net-what-a-user-model-should-have.html&amp;amp;lp=en%5Fde&quot;&gt;de&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F148-tool.bazzline.net-what-a-user-model-should-have.html&amp;amp;lp=en%5Fes&quot;&gt;es&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F148-tool.bazzline.net-what-a-user-model-should-have.html&amp;amp;lp=en%5Ffr&quot;&gt;fr&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F148-tool.bazzline.net-what-a-user-model-should-have.html&amp;amp;lp=en%5Fit&quot;&gt;it&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F148-tool.bazzline.net-what-a-user-model-should-have.html&amp;amp;lp=en%5Fpt&quot;&gt;pt&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F148-tool.bazzline.net-what-a-user-model-should-have.html&amp;amp;lp=en%5Fja&quot;&gt;ja&lt;/a&gt;&lt;/div&gt; 
    </content:encoded>

    <pubDate>Wed, 21 Mar 2012 22:46:00 +0100</pubDate>
    <guid isPermaLink="false">http://artodeto.bazzline.net/archives/148-guid.html</guid>
    <category>database layout</category>
<category>open source</category>
<category>tool.bazzline.net</category>
<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>
<item>
    <title>tool - php 5.4</title>
    <link>http://artodeto.bazzline.net/archives/145-tool-php-5.4.html</link>
            <category>coding</category>
    
    <comments>http://artodeto.bazzline.net/archives/145-tool-php-5.4.html#comments</comments>
    <wfw:comment>http://artodeto.bazzline.net/wfwcomment.php?cid=145</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://artodeto.bazzline.net/rss.php?version=2.0&amp;type=comments&amp;cid=145</wfw:commentRss>
    

    <author>nospam@example.com (artodeto)</author>
    <content:encoded>
    &lt;p&gt;Since the PHP 5.3 update nightmare, i will wait a while before i update my version. But all in all there are three cool features inside, traits, short array syntax and DTrace.&lt;br /&gt;
&lt;br /&gt;
Since DTrace is something for &quot;when my development sever is ready to run&quot;, short array syntax and traits are ready to use.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Short array syntax is pretty nice.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;$foobar = [&#039;foo&#039; =&gt; &#039;bar&#039;];&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
And traits, well we will see if it is good to use ore not. I like the fact that you can easily define one method and use it where you want. So it is more or less an interface with implementation. I will spare you from the general Singleton example here &lt;img src=&quot;http://artodeto.bazzline.net/templates/default/img/emoticons/wink.png&quot; alt=&quot;;-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;.&lt;br /&gt;
&lt;br /&gt;
But i can recommend the following links if you want to know more.&lt;br /&gt;
&lt;a href=&quot;https://blogs.oracle.com/netbeansphp/entry/php_5_4_support_short&quot; target=&quot;_BLANK&quot; title=&quot;short array syntax in php 5.4 and netbeans - 120316&gt;short array syntax&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://jburrows.wordpress.com/2011/12/17/what-to-look-for-in-php-5-4-0/&quot; target=&quot;_BLANK&quot; title=&quot;whats new in php 5.4.0 - 120316&quot;&gt;Whats new in php 5.4.0&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://docs.php.net/manual/en/language.oop5.traits.php&quot; target=&quot;_BLANK&quot; title=&quot;traits in php - 120316&quot;&gt;traits&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://de2.php.net/migration54&quot; target=&quot;_BLANK&quot; title=&quot;Migrating from PHP 5.3.x to PHP 5.4.x - 120316&quot;&gt;Migration from 5.3.x to 5.4.x&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;serendipity_babelfish&quot;&gt;Translate to  &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F145-tool-php-5.4.html&amp;amp;lp=en%5Fde&quot;&gt;de&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F145-tool-php-5.4.html&amp;amp;lp=en%5Fes&quot;&gt;es&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F145-tool-php-5.4.html&amp;amp;lp=en%5Ffr&quot;&gt;fr&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F145-tool-php-5.4.html&amp;amp;lp=en%5Fit&quot;&gt;it&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F145-tool-php-5.4.html&amp;amp;lp=en%5Fpt&quot;&gt;pt&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F145-tool-php-5.4.html&amp;amp;lp=en%5Fja&quot;&gt;ja&lt;/a&gt;&lt;/div&gt; 
    </content:encoded>

    <pubDate>Mon, 19 Mar 2012 19:48:00 +0100</pubDate>
    <guid isPermaLink="false">http://artodeto.bazzline.net/archives/145-guid.html</guid>
    <category>array</category>
<category>dtrace</category>
<category>php</category>
<category>php 5.4</category>
<category>traits</category>
<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>
<item>
    <title>tool.bazzline.net - the long road to a php data mapper - part 1</title>
    <link>http://artodeto.bazzline.net/archives/147-tool.bazzline.net-the-long-road-to-a-php-data-mapper-part-1.html</link>
            <category>coding</category>
    
    <comments>http://artodeto.bazzline.net/archives/147-tool.bazzline.net-the-long-road-to-a-php-data-mapper-part-1.html#comments</comments>
    <wfw:comment>http://artodeto.bazzline.net/wfwcomment.php?cid=147</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://artodeto.bazzline.net/rss.php?version=2.0&amp;type=comments&amp;cid=147</wfw:commentRss>
    

    <author>nospam@example.com (artodeto)</author>
    <content:encoded>
    &lt;p&gt;I am working on the private project &quot;tool.bazzline.net&quot; to get away from social services and have a tool that fits perfectly to my own requirement.&lt;br /&gt;
Private projects always (should &lt;img src=&quot;http://artodeto.bazzline.net/templates/default/img/emoticons/wink.png&quot; alt=&quot;;-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;) have the benefit of &quot;no time preasure&quot; that leads to &quot;implement some cool features&quot;.&lt;br /&gt;
The first thing on this feature list is a data mapper.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;Why a datamapper?&lt;/strong&gt;&lt;br /&gt;
Well, won&#039;t you like to work with domain models and don&#039;t give a s*** about how and where the data is stored?&lt;br /&gt;
There is a wonderfull and short article created by &lt;a href=&quot;http://martinfowler.com/eaaCatalog/dataMapper.html&quot; target=&quot;_BLANK&quot; title=&quot;datamapper design pattern by martin fowler - 120317&quot;&gt;Martin Fowler&lt;/a&gt; and i just have to recomend this one.&lt;br /&gt;
&lt;br /&gt;
I found two datamapper projects for php on the web, &lt;a href=&quot;http://pdodatamapper.com/&quot; target=&quot;_BLANK&quot; title=&quot;pdodatamapper data mapper for php - 120317&quot;&gt;pdodatamapper&lt;/a&gt; and &lt;a href=&quot;http://phpdatamapper.com/&quot; target=&quot;_BLANK&quot; title=&quot;phpdatamapper data mapper for php -120317&quot;&gt;phpdatamapper&lt;/a&gt;. To keep things short, a data mapper removes the logic of &quot;how and where&quot; to store the model data.&lt;br /&gt;
Both projects are still under heavy development and are not in a final state right now. I will not use them (but always take a look on how they have things done).&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;So what should my data mapper do?&lt;/strong&gt;&lt;br /&gt;
All in all, it should hide all the database tables from the developer - even the &lt;a href=&quot;http://en.wikipedia.org/wiki/Object-Relational_Mapping&quot; target=&quot;_BLANK&quot; title=&quot;object relational mapping - en.wikipedia.org - 120317&quot;&gt;orm&lt;/a&gt; if used. I just want to create a domain model and use it to store and get data from a persistent storage.&lt;br /&gt;
My data mapper must be smart enough to figure out which rowset on which storage/database table he has to update (or create).&lt;br /&gt;
The data mapper should have a lazy loading/storing mechanism, this should be done by a propertieset that knows which propertie is stored on which storage/database table.&lt;br /&gt;
My data mapper should support a very simple/limited filter mechanism that prevents me to blow up my data mapper class with to many &quot;loadModelWhenItFitsToTheFollowingCircumstances&quot;-methods.&lt;br /&gt;
This data mapper should also support to create a domain model by the upper called filter mechanism.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;I decided that the general data mapper methods &quot;insert()&quot;, &quot;update&quot; and &quot;delete&quot; are not perfect in the matter of sense to fit on my requirements. Thats why this data mapper will have the methods &quot;load($model, $filters)&quot;, &quot;save($model)&quot; and &quot;delete($model)&quot;. You can adapt each data mapper by adding own load methods with pre defined filters.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;Filter what?&lt;/strong&gt;&lt;br /&gt;
All this filtering leads to a filter class. This is a simple and straight forward one with the properties &quot;criteria&quot;, &quot;name&quot; and &quot;value&quot;.&lt;br /&gt;
The filter class has to be independent from the real storage implementation, thats why i will use an aditional filterMapper class.&lt;br /&gt;
&lt;br /&gt;
This filterMapper is used from the data mapper and prevents to write doublicated storage dependent code. He is responsible to transform the general filterset to the a storage dependant model - means you throw the filter and the storage model inside and get the storage model with added storageFilter back.&lt;br /&gt;
That filter and filterMapper can communicate with each other by using a criteria class. &lt;br /&gt;
The criteria class will define what &quot;like&quot; or &quot;greater then&quot; is so that the filterMapper can map this to the storage model.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;After the trip to the filtering adventure, we are back to the data mapper itself. &lt;br /&gt;
The real domainModelDataMapper will use a general propertieSet class. This propertieSet class is the only real connection between the domainModelProperties and the (maybe more the one) storage models - so the theorie currently &lt;img src=&quot;http://artodeto.bazzline.net/templates/default/img/emoticons/wink.png&quot; alt=&quot;;-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;.&lt;br /&gt;
&lt;br /&gt;
I must admit, i have made no decision if the real domainModelDataMapper is a decorator of the dataMapper, or if the dataMapper class is implemented as abstract class.&lt;br /&gt;
Since the whole project is a &quot;learning by doing&quot;, i will figure out what will work - final in the phase of implementation (have i remarked that i never ever have worked with a data mapper for real? &lt;img src=&quot;http://artodeto.bazzline.net/templates/default/img/emoticons/wink.png&quot; alt=&quot;;-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt; ).&lt;br /&gt;
&lt;br /&gt;
&lt;a class=&quot;serendipity_image_link&quot;  href=&#039;http://artodeto.bazzline.net/uploads/2012/03/dataMapper_for_user_domain_model_artodeto_bazzline_net_120317.png&#039; target=&quot;_blank&quot;&gt;&lt;!-- s9ymdb:15 --&gt;&lt;img class=&quot;serendipity_image_center&quot; width=&quot;128&quot; height=&quot;92&quot; src=&quot;http://artodeto.bazzline.net/uploads/2012/03/dataMapper_for_user_domain_model_artodeto_bazzline_net_120317.artodeto_thumb.png&quot; title=&quot;datamapper for a user domain model with filter, filterMapper and propel as orm storage&quot; alt=&quot;&quot;  /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Lets see what is next.&lt;/p&gt;&lt;div class=&quot;serendipity_babelfish&quot;&gt;Translate to  &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F147-tool.bazzline.net-the-long-road-to-a-php-data-mapper-part-1.html&amp;amp;lp=en%5Fde&quot;&gt;de&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F147-tool.bazzline.net-the-long-road-to-a-php-data-mapper-part-1.html&amp;amp;lp=en%5Fes&quot;&gt;es&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F147-tool.bazzline.net-the-long-road-to-a-php-data-mapper-part-1.html&amp;amp;lp=en%5Ffr&quot;&gt;fr&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F147-tool.bazzline.net-the-long-road-to-a-php-data-mapper-part-1.html&amp;amp;lp=en%5Fit&quot;&gt;it&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F147-tool.bazzline.net-the-long-road-to-a-php-data-mapper-part-1.html&amp;amp;lp=en%5Fpt&quot;&gt;pt&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F147-tool.bazzline.net-the-long-road-to-a-php-data-mapper-part-1.html&amp;amp;lp=en%5Fja&quot;&gt;ja&lt;/a&gt;&lt;/div&gt; 
    </content:encoded>

    <pubDate>Sun, 18 Mar 2012 23:13:00 +0100</pubDate>
    <guid isPermaLink="false">http://artodeto.bazzline.net/archives/147-guid.html</guid>
    <category>data mapper</category>
<category>decorator</category>
<category>design pattern</category>
<category>domain model</category>
<category>english</category>
<category>open source</category>
<category>php</category>
<category>private project</category>
<category>tool.bazzline.net</category>
<category>zend framework</category>
<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>
<item>
    <title>tool - php 5.3 - some new functions</title>
    <link>http://artodeto.bazzline.net/archives/146-tool-php-5.3-some-new-functions.html</link>
            <category>coding</category>
    
    <comments>http://artodeto.bazzline.net/archives/146-tool-php-5.3-some-new-functions.html#comments</comments>
    <wfw:comment>http://artodeto.bazzline.net/wfwcomment.php?cid=146</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://artodeto.bazzline.net/rss.php?version=2.0&amp;type=comments&amp;cid=146</wfw:commentRss>
    

    <author>nospam@example.com (artodeto)</author>
    <content:encoded>
    &lt;p&gt;Since php 5.4. throws his shadow i finally had some time to check the release notes of 5.3. Here are some changes that are made in PHP 5.3, i just picked up my favorits (as expected &lt;img src=&quot;http://artodeto.bazzline.net/templates/default/img/emoticons/wink.png&quot; alt=&quot;;-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt; ).&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;http://de2.php.net/manual/de/migration53.global-constants.php&quot; target=&quot;_BLANK&quot; title=&quot;php 5.3 new global constants - 120316&quot;&gt;New Global Constants&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;
__DIR__&lt;br /&gt;
__NAMESPACE__&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;http://de2.php.net/manual/de/migration53.functions.php&quot; target=&quot;_BLANK&quot; title=&quot;php 5.3 new functions - 120316&quot;&gt;New Functions&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;
array_replace: replaces elements from passed arrays into the first array&lt;br /&gt;
array_replace_recursive: replaces elements from passed arrays into the first array recursively&lt;br /&gt;
class_alias: rreates an alias for a class&lt;br /&gt;
header_remove: remove previously set headers&lt;br /&gt;
&lt;br /&gt;
I have not used one of this functions but since i am a developer i knew a lot of situations where this functons could have saved time.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;http://de2.php.net/manual/de/migration53.extensions-other.php&quot; target=&quot;_BLANK&quot; title=&quot;php 5.3 other changes to extensions - 120316&quot;&gt;other changes to extensions&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;
cURL: cURL now supports SSH&lt;br /&gt;
OpenSSL: OpenSSL digest and cipher functions are now supported.&lt;br /&gt;
Session: Sessions will no longer store session-files in &quot;/tmp&quot; when open_basedir restrictions apply, unless &quot;/tmp&quot; is explicitly added to the list of allowed paths.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;a href=&quot;http://de2.php.net/manual/de/migration53.methods.php&quot; target=&quot;_BLANK&quot; title=&quot;php 5.3 new methods - 120316&quot;&gt;new methods&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;
DateTime::add(): Adds an amount of days, months, years, hours, minutes and seconds to a DateTime object&lt;br /&gt;
DateTime::diff(): Returns the difference between two DateTime objects. &lt;br /&gt;
DateTime::sub(): Subtracts an amount of days, months, years, hours, minutes and seconds from a DateTime object.&lt;/p&gt;&lt;div class=&quot;serendipity_babelfish&quot;&gt;Translate to  &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F146-tool-php-5.3-some-new-functions.html&amp;amp;lp=en%5Fde&quot;&gt;de&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F146-tool-php-5.3-some-new-functions.html&amp;amp;lp=en%5Fes&quot;&gt;es&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F146-tool-php-5.3-some-new-functions.html&amp;amp;lp=en%5Ffr&quot;&gt;fr&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F146-tool-php-5.3-some-new-functions.html&amp;amp;lp=en%5Fit&quot;&gt;it&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F146-tool-php-5.3-some-new-functions.html&amp;amp;lp=en%5Fpt&quot;&gt;pt&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F146-tool-php-5.3-some-new-functions.html&amp;amp;lp=en%5Fja&quot;&gt;ja&lt;/a&gt;&lt;/div&gt; 
    </content:encoded>

    <pubDate>Fri, 16 Mar 2012 23:21:00 +0100</pubDate>
    <guid isPermaLink="false">http://artodeto.bazzline.net/archives/146-guid.html</guid>
    <category>array_replace</category>
<category>constants</category>
<category>curl</category>
<category>datetime</category>
<category>english</category>
<category>openssl</category>
<category>php</category>
<category>php 5.3</category>
<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>
<item>
    <title>web - Zend Framework 2.0.0beta3 Released!</title>
    <link>http://artodeto.bazzline.net/archives/141-web-Zend-Framework-2.0.0beta3-Released!.html</link>
            <category>coding</category>
    
    <comments>http://artodeto.bazzline.net/archives/141-web-Zend-Framework-2.0.0beta3-Released!.html#comments</comments>
    <wfw:comment>http://artodeto.bazzline.net/wfwcomment.php?cid=141</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://artodeto.bazzline.net/rss.php?version=2.0&amp;type=comments&amp;cid=141</wfw:commentRss>
    

    <author>nospam@example.com (artodeto)</author>
    <content:encoded>
    &lt;p&gt;&lt;blockquote&gt;The Zend Framework community is pleased to announce the immediate availability of Zend Framework 2.0.0beta3. Packages and installation instructions are available at: &lt;br /&gt;
&lt;a href=&quot;http://packages.zendframework.com/&quot; target=&quot;_BLANK&quot; title=&quot;http://packages.zendframework.com/&quot;&gt;http://packages.zendframework.com/&lt;/a&gt;&lt;br /&gt;
[...]&lt;br /&gt;
Featured components and functionality of 2.0.0beta3 include:&lt;br /&gt;
&lt;blockquote&gt;    &lt;strong&gt;Refactored Config component&lt;/strong&gt;&lt;br /&gt;
        All configuration readers have been moved under the Zend\Config\Reader namespace&lt;br /&gt;
        A Zend\Config\Factory has been added to simplify retrieving a config object from a config file&lt;br /&gt;
        Supported configuration formats now support importing additional configuration files&lt;br /&gt;
        All constant processing has been moved to a Zend\Config\Processor namespace, and expanded to be more powerful&lt;br /&gt;
        Work was provided by Ben Scholzen, Artur Bodera, Enrico Zimuel, and Evan Coury&lt;/blockquote&gt;&lt;br /&gt;
&lt;blockquote&gt;    &lt;strong&gt;New View layer&lt;/strong&gt;&lt;br /&gt;
        New subcomponents include Zend\View\Model, Zend\View\Resolver, Zend\View\Renderer, and Zend\View\Strategy&lt;br /&gt;
        The old Zend_View class has been moved to Zend\View\Renderer\PhpRenderer, and rewritten to move most of its responsibilities into collaborators, greatly simplifying its design while simultaneously giving it more capabilities.&lt;br /&gt;
        A new class, Zend\View\View, allows selecting rendering strategies on a per-template basis, based on arbitrary criteria, and optionally injecting rendering results into a Response object&lt;br /&gt;
        MVC integration streamlines common use cases, including View Model creation and injection, 404 and error page creation, and more.&lt;br /&gt;
        Work was provided by Matthew Weier O&#039;Phinney, with copious feedback from Rob Allen.&lt;br /&gt;
    Rewritten DB layer&lt;br /&gt;
        New architecture features low-level drivers, which also provide access to the PHP resource being consumed; adapters, which provide basic abstraction for common CRUD operations; new SQL abstraction layer, with full predicate support; abstraction for ResultSet&#039;s, with the ability to cast rows to specific object types; abstraction for SQL metadata; and a revised Table and Row Data Gateway.&lt;br /&gt;
        Work was provided by Ralph Schindler&lt;/blockquote&gt;&lt;br /&gt;
&lt;blockquote&gt;    &lt;strong&gt;New AgileZen component&lt;/strong&gt;&lt;br /&gt;
        Support for the full AgileZen API&lt;br /&gt;
        Developed for use with our planning board&lt;br /&gt;
        Work was provided by Enrico Zimuel&lt;/blockquote&gt;&lt;br /&gt;
&lt;blockquote&gt;    &lt;strong&gt;PHP 5.4 Support&lt;/strong&gt;&lt;br /&gt;
        A number of issues when running ZF2 under PHP 5.4 were identified and corrected.&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.zendframework.com/zf2/blog/entry/Zend-Framework-2-0-0beta3-Released&quot; target=&quot;_BLANK&quot; title=&quot;http://www.zendframework.com/zf2/blog/entry/Zend-Framework-2-0-0beta3-Released&quot;&gt;source&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;I am happy the team managed to finished the view layer, the database support and the config &lt;img src=&quot;http://artodeto.bazzline.net/templates/default/img/emoticons/laugh.png&quot; alt=&quot;:-D&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;.&lt;/p&gt;&lt;div class=&quot;serendipity_babelfish&quot;&gt;Translate to  &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F141-web-Zend-Framework-2.0.0beta3-Released%21.html&amp;amp;lp=en%5Fde&quot;&gt;de&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F141-web-Zend-Framework-2.0.0beta3-Released%21.html&amp;amp;lp=en%5Fes&quot;&gt;es&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F141-web-Zend-Framework-2.0.0beta3-Released%21.html&amp;amp;lp=en%5Ffr&quot;&gt;fr&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F141-web-Zend-Framework-2.0.0beta3-Released%21.html&amp;amp;lp=en%5Fit&quot;&gt;it&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F141-web-Zend-Framework-2.0.0beta3-Released%21.html&amp;amp;lp=en%5Fpt&quot;&gt;pt&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F141-web-Zend-Framework-2.0.0beta3-Released%21.html&amp;amp;lp=en%5Fja&quot;&gt;ja&lt;/a&gt;&lt;/div&gt; 
    </content:encoded>

    <pubDate>Tue, 13 Mar 2012 23:44:00 +0100</pubDate>
    <guid isPermaLink="false">http://artodeto.bazzline.net/archives/141-guid.html</guid>
    <category>beta</category>
<category>english</category>
<category>php</category>
<category>php 5.4</category>
<category>zend framework 2</category>
<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>
<item>
    <title>tool - Bazzline_Controller_Plugin_Auth - Zend Framework Controller Plugin - now on github.com</title>
    <link>http://artodeto.bazzline.net/archives/140-tool-Bazzline_Controller_Plugin_Auth-Zend-Framework-Controller-Plugin-now-on-github.com.html</link>
            <category>coding</category>
    
    <comments>http://artodeto.bazzline.net/archives/140-tool-Bazzline_Controller_Plugin_Auth-Zend-Framework-Controller-Plugin-now-on-github.com.html#comments</comments>
    <wfw:comment>http://artodeto.bazzline.net/wfwcomment.php?cid=140</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://artodeto.bazzline.net/rss.php?version=2.0&amp;type=comments&amp;cid=140</wfw:commentRss>
    

    <author>nospam@example.com (artodeto)</author>
    <content:encoded>
    &lt;p&gt;I just released my first project on &lt;a href=&quot;https://github.com&quot; target=&quot;_BLANK&quot; title=&quot;gitub.com&quot;&gt;github.com&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
As mention in the headline, it is called &lt;a href=&quot;https://github.com/atodeto/Bazzline_Controller_Plugin_Auth&quot; target=&quot;_BLANK&quot; title=&quot;Bazzline_Controller_Plugin_Auth by artodeto on github.com&quot;&gt;Bazzline_Controller_Plugin_Auth&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
It is a simple plugin which tests if the called url is a &quot;logged in user&quot; only url or not. If it is &quot;logged in only&quot;, the user is redirected to the login. The previously called url is saved in the session. After a successfull login, the user gets redirected to this saved url.&lt;br /&gt;
&lt;br /&gt;
All can be configured in a config file.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;This plugin is only for simple access controll by &quot;user is logged in&quot; or &quot;user is not logged in&quot;. The ACL stuff is still in the pipeline and should not - to follow the KISS principle - be inside an auth plugin.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;While setting up this project on github, i had some problems while getting a valid connection to github.&lt;br /&gt;
&lt;br /&gt;
I followed the &lt;a href=&quot;http://help.github.com/linux-set-up-git/&quot; target=&quot;_BLANK&quot; title=&quot;set up git on linux - github.com&quot;&gt;howto&lt;/a&gt; but not &quot;pressed enter&quot; when asked for a file to store the key.&lt;br /&gt;
&lt;br /&gt;
Thats why:&lt;br /&gt;
&lt;blockquote&gt;ssh -T git@github.com&lt;/blockquote&gt;&lt;br /&gt;
failed.&lt;br /&gt;
&lt;br /&gt;
But when i added the &lt;strong&gt;-i&lt;/strong&gt; option like:&lt;br /&gt;
&lt;blockquote&gt;ssh -T git@github.com -i path/to/my/private/key&lt;/blockquote&gt;&lt;br /&gt;
everything runs smoothly.&lt;br /&gt;
&lt;br /&gt;
After a short term of searching, i found the &lt;a href=&quot;http://help.github.com/ssh-issues/&quot; target=&quot;_BLANK&quot; title=&quot;ssh issues - github.com&quot;&gt;ssh issues&lt;/a&gt; page on gitub.com.&lt;br /&gt;
The simple solution is:&lt;br /&gt;
&lt;blockquote&gt;Create or open the file at ~/.ssh/config Add the following lines:&lt;br /&gt;
&lt;blockquote&gt;Host github.com&lt;br /&gt;
	User git&lt;br /&gt;
	Hostname github.com&lt;br /&gt;
	PreferredAuthentications publickey&lt;br /&gt;
	IdentityFile /path/to/my/private/key&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;br /&gt;
After that, the &lt;blockquote&gt;git push -u origin master&lt;/blockquote&gt; runs without any errors.&lt;br /&gt;
&lt;/p&gt;&lt;div class=&quot;serendipity_babelfish&quot;&gt;Translate to  &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F140-tool-Bazzline_Controller_Plugin_Auth-Zend-Framework-Controller-Plugin-now-on-github.com.html&amp;amp;lp=en%5Fde&quot;&gt;de&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F140-tool-Bazzline_Controller_Plugin_Auth-Zend-Framework-Controller-Plugin-now-on-github.com.html&amp;amp;lp=en%5Fes&quot;&gt;es&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F140-tool-Bazzline_Controller_Plugin_Auth-Zend-Framework-Controller-Plugin-now-on-github.com.html&amp;amp;lp=en%5Ffr&quot;&gt;fr&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F140-tool-Bazzline_Controller_Plugin_Auth-Zend-Framework-Controller-Plugin-now-on-github.com.html&amp;amp;lp=en%5Fit&quot;&gt;it&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F140-tool-Bazzline_Controller_Plugin_Auth-Zend-Framework-Controller-Plugin-now-on-github.com.html&amp;amp;lp=en%5Fpt&quot;&gt;pt&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F140-tool-Bazzline_Controller_Plugin_Auth-Zend-Framework-Controller-Plugin-now-on-github.com.html&amp;amp;lp=en%5Fja&quot;&gt;ja&lt;/a&gt;&lt;/div&gt; 
    </content:encoded>

    <pubDate>Sun, 11 Mar 2012 21:52:32 +0100</pubDate>
    <guid isPermaLink="false">http://artodeto.bazzline.net/archives/140-guid.html</guid>
    <category>auth</category>
<category>english</category>
<category>git</category>
<category>github.com</category>
<category>open source</category>
<category>php</category>
<category>ssh</category>
<category>zend framework</category>
<category>zend framework controller plugin</category>
<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>
<item>
    <title>tool - zend framework zf cli aka zend tool</title>
    <link>http://artodeto.bazzline.net/archives/134-tool-zend-framework-zf-cli-aka-zend-tool.html</link>
            <category>coding</category>
    
    <comments>http://artodeto.bazzline.net/archives/134-tool-zend-framework-zf-cli-aka-zend-tool.html#comments</comments>
    <wfw:comment>http://artodeto.bazzline.net/wfwcomment.php?cid=134</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://artodeto.bazzline.net/rss.php?version=2.0&amp;type=comments&amp;cid=134</wfw:commentRss>
    

    <author>nospam@example.com (artodeto)</author>
    <content:encoded>
    &lt;p&gt;Just a quick entry for the zend framework comand line tool (available for *nix and windows).&lt;br /&gt;
I tought it would be a good idea to use it and create the general files or directory layout. But it is not perfect at all. Creating modules and layouts is quick nice. But a &lt;blockquote&gt;zf create controller myModuleName&lt;/blockquote&gt; does not what i have expected. An controller was created below the general controller directory and not inside the module &quot;myModuleName&quot;. Lets see if i like the tool at all. I will stick on it for this project and fill up the links in the following section when i find some usefull one.&lt;br /&gt;
&lt;br /&gt;
I can give one hint so far, the zend tool can only create, not delete anything. If you want to delete something, you have to do it manualy (remember the zfproject.xml file).&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;&lt;a href=&quot;http://framework.zend.com/manual/de/zend.application.available-resources.html&quot; target=&quot;_BLANK&quot; title=&quot;application.ini available parameters zend framework&quot;&gt;available parameters for application.ini&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://framework.zend.com/manual/en/zend.tool.project.html&quot; target=&quot;_BLANK&quot; title=&quot;zend tool manual framework.zend.com - 120228&quot; target=&quot;_BLANK&quot;&gt;official zend tool manual&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://framework.zend.com/manual/en/zend.tool.framework.clitool.html&quot; title=&quot;using the cli tool framework.zend.com - 120228&quot; target=&quot;_BLANK&quot;&gt;using the cli tool&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://framework.zend.com/manual/en/learning.quickstart.create-layout.html&quot; title=&quot;zend tool create a layout framework.zend.com - 120228&quot; target=&quot;_BLANK&quot;&gt;create a layout&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://blog.jetbrains.com/webide/2011/02/zend-framework-tool-usage-with-command-line-tool-support/&quot; title=&quot;zend tool usage in php storm - 120228&quot; target=&quot;_BLANK&quot;&gt;zend tool in phpstorm&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://webfractor.wordpress.com/2008/08/14/using-zend-framework-from-the-command-line/&quot; title=&quot;zend framework as cli application webfractor.wordpress.com - 120228&quot; target=&quot;_BLANK&quot;&gt;zend framework as cli application&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://akrabat.com/zend-framework-tutorial/&quot; title=&quot;zend framework tutorial akrabat.com - 120228&quot; target=&quot;_BLANK&quot;&gt;tutorial from akrabat&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://area51.stackexchange.com/proposals/38634/zend-framework&quot; target=&quot;_BLANK&quot; title=&quot;Proposed Q&amp;A site for PHP developers using Zend Framework 1 and Zend Framework 2&quot;&gt;Proposed Q&amp;A site for PHP developers using Zend Framework 1 and Zend Framework 2&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;serendipity_babelfish&quot;&gt;Translate to  &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F134-tool-zend-framework-zf-cli-aka-zend-tool.html&amp;amp;lp=en%5Fde&quot;&gt;de&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F134-tool-zend-framework-zf-cli-aka-zend-tool.html&amp;amp;lp=en%5Fes&quot;&gt;es&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F134-tool-zend-framework-zf-cli-aka-zend-tool.html&amp;amp;lp=en%5Ffr&quot;&gt;fr&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F134-tool-zend-framework-zf-cli-aka-zend-tool.html&amp;amp;lp=en%5Fit&quot;&gt;it&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F134-tool-zend-framework-zf-cli-aka-zend-tool.html&amp;amp;lp=en%5Fpt&quot;&gt;pt&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F134-tool-zend-framework-zf-cli-aka-zend-tool.html&amp;amp;lp=en%5Fja&quot;&gt;ja&lt;/a&gt;&lt;/div&gt; 
    </content:encoded>

    <pubDate>Wed, 29 Feb 2012 03:15:00 +0100</pubDate>
    <guid isPermaLink="false">http://artodeto.bazzline.net/archives/134-guid.html</guid>
    <category>bash</category>
<category>cli</category>
<category>english</category>
<category>howto</category>
<category>php</category>
<category>zend framework</category>
<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>
<item>
    <title>callbacks, anonymous or lambda functions - the differences</title>
    <link>http://artodeto.bazzline.net/archives/130-callbacks,-anonymous-or-lambda-functions-the-differences.html</link>
            <category>coding</category>
    
    <comments>http://artodeto.bazzline.net/archives/130-callbacks,-anonymous-or-lambda-functions-the-differences.html#comments</comments>
    <wfw:comment>http://artodeto.bazzline.net/wfwcomment.php?cid=130</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://artodeto.bazzline.net/rss.php?version=2.0&amp;type=comments&amp;cid=130</wfw:commentRss>
    

    <author>nospam@example.com (artodeto)</author>
    <content:encoded>
    &lt;p&gt;It just took me a while to really understand the differences between this three. But hopefully (never say never ;-), now i got it.&lt;br /&gt;
&lt;br /&gt;
A callback simple describes, that a function awaits another function as parameter. This functions can be an existing one or a &quot;on the fly created on&quot; with the power of &lt;strong&gt;&lt;a href=&quot;http://de2.php.net/manual/de/function.create-function.php&quot; title=&quot;php.net create-function&quot; target=&quot;_BLANK&quot;&gt;create_function&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;A lambda function is a function without a function name. The reference is stored in a variable. You can use this variable to handle it over to methods like &lt;strong&gt;&lt;a href=&quot;http://de2.php.net/manual/de/function.usort.php&quot; &quot;php.net usort function&quot; target=&quot;_BLANK&quot;&gt;usort&lt;/a&gt;&lt;/strong&gt;.&lt;br /&gt;
As everybody i will use a sorting lambda function for showing what i mean.&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;&lt;?php&lt;br /&gt;
/**&lt;br /&gt;
* Returns 0 if strings are equal, -1 if $stringTwo or 1 of $stringOne is greater&lt;br /&gt;
*&lt;br /&gt;
* @author artodeto.bazzline.net&lt;br /&gt;
* @param string $stringOne&lt;br /&gt;
* @param string $stringTwo&lt;br /&gt;
* @return int $sorter&lt;br /&gt;
* @since 2012-02-26&lt;br /&gt;
*/&lt;br /&gt;
$mySorter = function($stringOne, $stringTwo) &lt;br /&gt;
{&lt;br /&gt;
  $sorter = 0;&lt;br /&gt;
  $lengthOfStringOne = strlen($stringOne);&lt;br /&gt;
  $lengthOfStringTwo = strlen($stringTwo);&lt;br /&gt;
&lt;br /&gt;
  if ($lengthOfStringOne &gt; $lengthOfStringTwo) {&lt;br /&gt;
    $sorter = 1;&lt;br /&gt;
  } elseif ($lengthOfStringOne &lt; $lengthOfStringTwo) {&lt;br /&gt;
    $sorter = -1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  return $sorter;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
$names = array(&lt;br /&gt;
  &#039;Brian W. Kernighan&#039;,&lt;br /&gt;
  &#039;Dennis Ritchie&#039;&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
usort($names, $mySorter);&lt;br /&gt;
echo xdebug_var_dump($names);&lt;br /&gt;
?&gt;&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
It is also possible to define the $mySorter directly in unsort as second parameter like&lt;br /&gt;
&lt;blockquote&gt;usort($names, function($stringOne, $stringTwo { ... });&lt;/blockquote&gt;&lt;br /&gt;
if you like that.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;A closure is a function that surrounds (i do not want to use the word enclose &lt;img src=&quot;http://artodeto.bazzline.net/templates/default/img/emoticons/wink.png&quot; alt=&quot;;-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;) the lambda function.&lt;br /&gt;
&lt;br /&gt;
That has the sideeffect that the closure itself conserves their own context. An easy example is a simple logger.&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;&lt;?php&lt;br /&gt;
/**&lt;br /&gt;
* Closure function for logging. Returns true if message could be stored&lt;br /&gt;
* Available types are &quot;info&quot; and &quot;error&quot;&lt;br /&gt;
*&lt;br /&gt;
* @author artodeto.bazzline.net&lt;br /&gt;
* @param string $type&lt;br /&gt;
* @return boolean&lt;br /&gt;
* @since 2012-02-26&lt;br /&gt;
*/&lt;br /&gt;
function myClosureLogger($type)&lt;br /&gt;
{&lt;br /&gt;
  return function($message) use ($type)&lt;br /&gt;
  {&lt;br /&gt;
    $status = false;&lt;br /&gt;
    switch ($type) {&lt;br /&gt;
      case &#039;info&#039;:&lt;br /&gt;
        $myDatabaseInfoLogTable = new DatabaseInfoLogTable();&lt;br /&gt;
        $myDatabaseInfoLogTable-&gt;setMessage($message);&lt;br /&gt;
        $myDatabaseInfoLogTable-&gt;setTimestamp(mktime());&lt;br /&gt;
        $status = $myDatabaseInfoLogTable-&gt;save();&lt;br /&gt;
      break;&lt;br /&gt;
      case &#039;error&#039;:&lt;br /&gt;
        $myFileErrorLog = new ErrorLog();&lt;br /&gt;
        $myFileErrorLog-&gt;addMessage(mktime() . &quot;\t&quot; . $message);&lt;br /&gt;
        $status = $myFileErrorLog-&gt;save();&lt;br /&gt;
      break;&lt;br /&gt;
    }&lt;br /&gt;
    return $status;&lt;br /&gt;
  };&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$infoLogger = myClosureLogger(&#039;info&#039;);&lt;br /&gt;
$errorLogger = myClosureLogger(&#039;error&#039;);&lt;br /&gt;
&lt;br /&gt;
$infoLogger(&#039;This is a info log&#039;);&lt;br /&gt;
$errorLogger(&#039;This is an error log&#039;);&lt;br /&gt;
?&gt;&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
The positiv thing about closures is, that the code footprint can be reduced (you even can use closures inside objects - even as static if you do not need to access on the object itself with &lt;strong&gt;$this&lt;/strong&gt;).&lt;br /&gt;
The negativ thing is, that you can not use interfaces which implies a lose of security.&lt;/p&gt;&lt;div class=&quot;serendipity_babelfish&quot;&gt;Translate to  &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F130-callbacks%2C-anonymous-or-lambda-functions-the-differences.html&amp;amp;lp=en%5Fde&quot;&gt;de&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F130-callbacks%2C-anonymous-or-lambda-functions-the-differences.html&amp;amp;lp=en%5Fes&quot;&gt;es&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F130-callbacks%2C-anonymous-or-lambda-functions-the-differences.html&amp;amp;lp=en%5Ffr&quot;&gt;fr&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F130-callbacks%2C-anonymous-or-lambda-functions-the-differences.html&amp;amp;lp=en%5Fit&quot;&gt;it&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F130-callbacks%2C-anonymous-or-lambda-functions-the-differences.html&amp;amp;lp=en%5Fpt&quot;&gt;pt&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F130-callbacks%2C-anonymous-or-lambda-functions-the-differences.html&amp;amp;lp=en%5Fja&quot;&gt;ja&lt;/a&gt;&lt;/div&gt; 
    </content:encoded>

    <pubDate>Sun, 26 Feb 2012 14:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://artodeto.bazzline.net/archives/130-guid.html</guid>
    <category>anonymous function</category>
<category>closures</category>
<category>create_function</category>
<category>english</category>
<category>howto</category>
<category>lambda function</category>
<category>logger</category>
<category>php</category>
<category>php 5.3</category>
<category>usort</category>
<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>
<item>
    <title>howto - windows 7 service windows-audio could not start - error 1079</title>
    <link>http://artodeto.bazzline.net/archives/120-howto-windows-7-service-windows-audio-could-not-start-error-1079.html</link>
            <category>coding</category>
    
    <comments>http://artodeto.bazzline.net/archives/120-howto-windows-7-service-windows-audio-could-not-start-error-1079.html#comments</comments>
    <wfw:comment>http://artodeto.bazzline.net/wfwcomment.php?cid=120</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://artodeto.bazzline.net/rss.php?version=2.0&amp;type=comments&amp;cid=120</wfw:commentRss>
    

    <author>nospam@example.com (artodeto)</author>
    <content:encoded>
    &lt;p&gt;Do you ever had the problem that you have no sound on your windows 7?&lt;br /&gt;
I have and it was hard to find the problem, since windows is acting so ... well not expected &lt;img src=&quot;http://artodeto.bazzline.net/templates/default/img/emoticons/wink.png&quot; alt=&quot;;-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;.&lt;br /&gt;
&lt;br /&gt;
So you want to adjust the volume and an &quot;here is a problem, let me search on the internat for a solution&quot; windows is popping up.&lt;br /&gt;
After you opened the service management and take a look at the dependencies, you started all needed service but getting the error 1079 again. What to do?&lt;br /&gt;
Rightclick on the &quot;windows-audio&quot; entry and open properties (&quot;einstellungen&quot;). Click to tab login (&quot;Anmeldung&quot;), select &quot;this account&quot; option and enter &quot;LocalService&quot; as username and &quot;0000&quot; as password. Click Apply and try to start the service. Now everything should work smoothly.&lt;br /&gt;
&lt;br /&gt;
Thanks to &lt;a href=&quot;http://www.windows-7-forum.net/windows-7-multimedia/29041-windows-7-immer-noch-kein-sound.html&quot; target=&quot;_BLANK&quot; title=&quot;windows 7 no sound windows-7-forum.net&quot;&gt;windows-7-forum.net&lt;/a&gt; to show me the way i have to look.&lt;/p&gt;&lt;div class=&quot;serendipity_babelfish&quot;&gt;Translate to  &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F120-howto-windows-7-service-windows-audio-could-not-start-error-1079.html&amp;amp;lp=en%5Fde&quot;&gt;de&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F120-howto-windows-7-service-windows-audio-could-not-start-error-1079.html&amp;amp;lp=en%5Fes&quot;&gt;es&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F120-howto-windows-7-service-windows-audio-could-not-start-error-1079.html&amp;amp;lp=en%5Ffr&quot;&gt;fr&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F120-howto-windows-7-service-windows-audio-could-not-start-error-1079.html&amp;amp;lp=en%5Fit&quot;&gt;it&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F120-howto-windows-7-service-windows-audio-could-not-start-error-1079.html&amp;amp;lp=en%5Fpt&quot;&gt;pt&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F120-howto-windows-7-service-windows-audio-could-not-start-error-1079.html&amp;amp;lp=en%5Fja&quot;&gt;ja&lt;/a&gt;&lt;/div&gt; 
    </content:encoded>

    <pubDate>Wed, 15 Feb 2012 21:25:00 +0100</pubDate>
    <guid isPermaLink="false">http://artodeto.bazzline.net/archives/120-guid.html</guid>
    <category>audio</category>
<category>english</category>
<category>error</category>
<category>error solving</category>
<category>howto</category>
<category>services</category>
<category>windows</category>
<category>windows 7</category>
<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>
<item>
    <title>howto - phpcs set default code style standard</title>
    <link>http://artodeto.bazzline.net/archives/119-howto-phpcs-set-default-code-style-standard.html</link>
            <category>coding</category>
    
    <comments>http://artodeto.bazzline.net/archives/119-howto-phpcs-set-default-code-style-standard.html#comments</comments>
    <wfw:comment>http://artodeto.bazzline.net/wfwcomment.php?cid=119</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://artodeto.bazzline.net/rss.php?version=2.0&amp;type=comments&amp;cid=119</wfw:commentRss>
    

    <author>nospam@example.com (artodeto)</author>
    <content:encoded>
    &lt;p&gt;I know it is easy but nevertheless it is good to have it on one place.&lt;br /&gt;
This howto shows how you set up a default coding standard in &lt;a href=&quot;http://pear.php.net/manual/en/package.php.php-codesniffer.config-options.php&quot; target=&quot;_BLANK&quot; title=&quot;pear.php.net code sniffer manual&quot;&gt;phpcs&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
First you have to create or download a code style standard.&lt;br /&gt;
If you want to create one, try &lt;a href=&quot;http://clockwerx.blogspot.com/2008/06/how-to-customise-phpcodesniffer.html&quot; target=&quot;_BLANK&quot; title=&quot;howto create code style standard for phpcs&quot;&gt;this howto&lt;/a&gt;.&lt;br /&gt;
If you already have a standard, try to untar it to:&lt;br /&gt;
&lt;blockquote&gt;/usr/share/php/PHP/CodeSniffer/Standards/&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
You can check if phpcs founds you standard by using:&lt;br /&gt;
&lt;blockquote&gt;phpcs -i&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
Next you just want to define it as your default standard by using:&lt;br /&gt;
&lt;blockquote&gt;phpcs --config-set default_standard $artodetoStyleGuide&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
Thats it, have fun.&lt;/p&gt;&lt;div class=&quot;serendipity_babelfish&quot;&gt;Translate to  &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F119-howto-phpcs-set-default-code-style-standard.html&amp;amp;lp=en%5Fde&quot;&gt;de&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F119-howto-phpcs-set-default-code-style-standard.html&amp;amp;lp=en%5Fes&quot;&gt;es&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F119-howto-phpcs-set-default-code-style-standard.html&amp;amp;lp=en%5Ffr&quot;&gt;fr&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F119-howto-phpcs-set-default-code-style-standard.html&amp;amp;lp=en%5Fit&quot;&gt;it&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F119-howto-phpcs-set-default-code-style-standard.html&amp;amp;lp=en%5Fpt&quot;&gt;pt&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F119-howto-phpcs-set-default-code-style-standard.html&amp;amp;lp=en%5Fja&quot;&gt;ja&lt;/a&gt;&lt;/div&gt; 
    </content:encoded>

    <pubDate>Wed, 08 Feb 2012 07:31:00 +0100</pubDate>
    <guid isPermaLink="false">http://artodeto.bazzline.net/archives/119-guid.html</guid>
    <category>coding standard</category>
<category>english</category>
<category>howto</category>
<category>pear</category>
<category>php</category>
<category>phpcs</category>
<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>
<item>
    <title>howto - stop bugging me google-analytics</title>
    <link>http://artodeto.bazzline.net/archives/118-howto-stop-bugging-me-google-analytics.html</link>
            <category>coding</category>
    
    <comments>http://artodeto.bazzline.net/archives/118-howto-stop-bugging-me-google-analytics.html#comments</comments>
    <wfw:comment>http://artodeto.bazzline.net/wfwcomment.php?cid=118</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://artodeto.bazzline.net/rss.php?version=2.0&amp;type=comments&amp;cid=118</wfw:commentRss>
    

    <author>nospam@example.com (artodeto)</author>
    <content:encoded>
    &lt;p&gt;Don&#039;t want to be tracked with google-analytics.com (and never want to use it)?&lt;br /&gt;
Just add a few lines to your hosts file (unix: /etc/hosts, windows c:\windows\system32\drivers\etc\hosts).&lt;br /&gt;
&lt;blockquote&gt;127.0.0.1 www.google-analytics.com&lt;br /&gt;
127.0.0.1 google-analytics.com&lt;br /&gt;
127.0.0.1 ssl.google-analytics.com&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
Thats it, use and extend it at your own risk. The trick (if you can call it like that) is simple but works quite well.&lt;br /&gt;
&lt;br /&gt;
P.S.: For the mozilla firefox webbrowser i can suggest the extension &lt;a href=&quot;https://addons.mozilla.org/de/firefox/addon/ghostery/&quot; target=&quot;_BLANK&quot; title=&quot;ghostery firefox extension security&quot;&gt;ghostery&lt;/a&gt;.&lt;/p&gt;&lt;div class=&quot;serendipity_babelfish&quot;&gt;Translate to  &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F118-howto-stop-bugging-me-google-analytics.html&amp;amp;lp=en%5Fde&quot;&gt;de&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F118-howto-stop-bugging-me-google-analytics.html&amp;amp;lp=en%5Fes&quot;&gt;es&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F118-howto-stop-bugging-me-google-analytics.html&amp;amp;lp=en%5Ffr&quot;&gt;fr&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F118-howto-stop-bugging-me-google-analytics.html&amp;amp;lp=en%5Fit&quot;&gt;it&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F118-howto-stop-bugging-me-google-analytics.html&amp;amp;lp=en%5Fpt&quot;&gt;pt&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F118-howto-stop-bugging-me-google-analytics.html&amp;amp;lp=en%5Fja&quot;&gt;ja&lt;/a&gt;&lt;/div&gt; 
    </content:encoded>

    <pubDate>Thu, 02 Feb 2012 04:49:00 +0100</pubDate>
    <guid isPermaLink="false">http://artodeto.bazzline.net/archives/118-guid.html</guid>
    <category>datenschutz</category>
<category>english</category>
<category>google</category>
<category>hosts</category>
<category>marketing</category>
<category>operation system</category>
<category>privacy</category>
<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>
<item>
    <title>Howto - php array_filter anonymous function</title>
    <link>http://artodeto.bazzline.net/archives/115-Howto-php-array_filter-anonymous-function.html</link>
            <category>coding</category>
    
    <comments>http://artodeto.bazzline.net/archives/115-Howto-php-array_filter-anonymous-function.html#comments</comments>
    <wfw:comment>http://artodeto.bazzline.net/wfwcomment.php?cid=115</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://artodeto.bazzline.net/rss.php?version=2.0&amp;type=comments&amp;cid=115</wfw:commentRss>
    

    <author>nospam@example.com (artodeto)</author>
    <content:encoded>
    &lt;p&gt;Every day something new &lt;img src=&quot;http://artodeto.bazzline.net/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;. This day i finally had time to deal with anonymous functions.&lt;br /&gt;
&lt;br /&gt;
Since it is the first time, also after solving the problems, working with anonymous functions is feeling a bit strange. But now i have done it, so it feels better then before where i have never dealt with them.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Here is my example code.&lt;br /&gt;
&lt;blockquote&gt;&amp;lt;?php&lt;br /&gt;
$nl = &#039;&amp;lt;br&amp;gt;&#039; . PHP_EOL;&lt;br /&gt;
&lt;br /&gt;
$array = array(&lt;br /&gt;
        0 =&gt; array(&lt;br /&gt;
                &#039;level&#039; =&gt; 0,&lt;br /&gt;
                &#039;label&#039; =&gt; &#039;zero&#039;,&lt;br /&gt;
        ),&lt;br /&gt;
        1 =&gt; array(&lt;br /&gt;
                &#039;level&#039; =&gt; 1,&lt;br /&gt;
                &#039;label&#039; =&gt; &#039;one&#039;&lt;br /&gt;
        ),      &lt;br /&gt;
        2 =&gt; array(&lt;br /&gt;
                &#039;level&#039; =&gt; 0,&lt;br /&gt;
                &#039;label&#039; =&gt; &#039;two&#039;,&lt;br /&gt;
        ),      &lt;br /&gt;
        3 =&gt; array(&lt;br /&gt;
                &#039;level&#039; =&gt; 2,&lt;br /&gt;
                &#039;label&#039; =&gt; &#039;three&#039;,&lt;br /&gt;
        ),&lt;br /&gt;
);&lt;br /&gt;
$levelToFilter = 1;&lt;br /&gt;
&lt;br /&gt;
$array2 = array_filter($array, function ($arrayItem) use ($levelToFilter) {&lt;br /&gt;
        return ($arrayItem[&#039;level&#039;] !== $levelToFilter);&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
echo &#039;array::&#039; . $nl;&lt;br /&gt;
echo xdebug_var_dump($array);&lt;br /&gt;
echo &#039;array2::&#039; . $nl;&lt;br /&gt;
echo xdebug_var_dump($array2);&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
Feel free to play around with it. I guess $levelToFilter is the variable you should change &lt;img src=&quot;http://artodeto.bazzline.net/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;.&lt;/p&gt;&lt;div class=&quot;serendipity_babelfish&quot;&gt;Translate to  &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F115-Howto-php-array_filter-anonymous-function.html&amp;amp;lp=en%5Fde&quot;&gt;de&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F115-Howto-php-array_filter-anonymous-function.html&amp;amp;lp=en%5Fes&quot;&gt;es&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F115-Howto-php-array_filter-anonymous-function.html&amp;amp;lp=en%5Ffr&quot;&gt;fr&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F115-Howto-php-array_filter-anonymous-function.html&amp;amp;lp=en%5Fit&quot;&gt;it&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F115-Howto-php-array_filter-anonymous-function.html&amp;amp;lp=en%5Fpt&quot;&gt;pt&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F115-Howto-php-array_filter-anonymous-function.html&amp;amp;lp=en%5Fja&quot;&gt;ja&lt;/a&gt;&lt;/div&gt; 
    </content:encoded>

    <pubDate>Thu, 19 Jan 2012 19:17:00 +0100</pubDate>
    <guid isPermaLink="false">http://artodeto.bazzline.net/archives/115-guid.html</guid>
    <category>anonymous function</category>
<category>english</category>
<category>howto</category>
<category>lambda function</category>
<category>php</category>
<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>
<item>
    <title>Howto - php smarty hints</title>
    <link>http://artodeto.bazzline.net/archives/112-Howto-php-smarty-hints.html</link>
            <category>coding</category>
    
    <comments>http://artodeto.bazzline.net/archives/112-Howto-php-smarty-hints.html#comments</comments>
    <wfw:comment>http://artodeto.bazzline.net/wfwcomment.php?cid=112</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://artodeto.bazzline.net/rss.php?version=2.0&amp;type=comments&amp;cid=112</wfw:commentRss>
    

    <author>nospam@example.com (artodeto)</author>
    <content:encoded>
    &lt;p&gt;Just while you have to work with smarty, you need some small &quot;how can i do this&quot; hints.&lt;/p&gt;&lt;br /&gt;
&lt;ul&gt;&lt;br /&gt;
&lt;li&gt;php: if (is_a($object, &#039;myClass&#039;) | smarty: {if $object|is_a:&#039;myClass&#039;}&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;php: var_dump($item) | smary: {$item|@var_dump} - use &quot;@&quot; to make smarty run the modifier against the whole $item, otherwise it would use it for each element.&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;php: print_r($item) | smary: {$item|@print_r} - use &quot;@&quot; to make smarty run the modifier against the whole $item, otherwise it would use it for each element.&lt;/li&gt;&lt;br /&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.smarty.net/docsv2/de/language.function.if.tpl&quot; target=&quot;_BLANK&quot; title=&quot;function overview smarty php&quot;&gt;smarty.net functions&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;serendipity_babelfish&quot;&gt;Translate to  &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F112-Howto-php-smarty-hints.html&amp;amp;lp=en%5Fde&quot;&gt;de&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F112-Howto-php-smarty-hints.html&amp;amp;lp=en%5Fes&quot;&gt;es&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F112-Howto-php-smarty-hints.html&amp;amp;lp=en%5Ffr&quot;&gt;fr&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F112-Howto-php-smarty-hints.html&amp;amp;lp=en%5Fit&quot;&gt;it&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F112-Howto-php-smarty-hints.html&amp;amp;lp=en%5Fpt&quot;&gt;pt&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F112-Howto-php-smarty-hints.html&amp;amp;lp=en%5Fja&quot;&gt;ja&lt;/a&gt;&lt;/div&gt; 
    </content:encoded>

    <pubDate>Sun, 15 Jan 2012 05:10:00 +0100</pubDate>
    <guid isPermaLink="false">http://artodeto.bazzline.net/archives/112-guid.html</guid>
    <category>debugging</category>
<category>english</category>
<category>howto</category>
<category>php</category>
<category>smarty</category>
<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>
<item>
    <title>tool - Linux and pdf</title>
    <link>http://artodeto.bazzline.net/archives/110-tool-Linux-and-pdf.html</link>
            <category>coding</category>
    
    <comments>http://artodeto.bazzline.net/archives/110-tool-Linux-and-pdf.html#comments</comments>
    <wfw:comment>http://artodeto.bazzline.net/wfwcomment.php?cid=110</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://artodeto.bazzline.net/rss.php?version=2.0&amp;type=comments&amp;cid=110</wfw:commentRss>
    

    <author>nospam@example.com (artodeto)</author>
    <content:encoded>
    &lt;p&gt;To deal with pdf files while using linux can be exciting. But everything is solveable if you know the right tools, so here are tools i found by searching for them.&lt;/p&gt;&lt;br /&gt;
&lt;ul&gt;&lt;br /&gt;
&lt;li&gt;&lt;a href=&quot;http://www.pdfsam.org/&quot; target=&quot;_BLANK&quot; title=&quot;merge and split pdf files&quot;&gt;Merge and split pdf files&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;&lt;a href=&quot;http://extensions.services.openoffice.org/project/pdfimport&quot; target=&quot;_BLANK&quot; title=&quot;open office extension import pdf&quot;&gt;Import pdf files into open office&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;&lt;a href=&quot;http://sourceforge.net/projects/pdfedit/&quot; target=&quot;_BLANK&quot; title=&quot;pdfedit direct edit pdf files&quot;&gt;Direct edit pdf files&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;p&gt;Thanks to &lt;a href=&quot;http://www.cyberciti.biz/tips/open-source-linux-pdf-writer.html&quot; target=&quot;_BLANK&quot; title=&quot;open source linux pdf writer on cyberciti.biz&quot;&gt;unixcraft&lt;/a&gt; to attract me on the right track.&lt;/p&gt;&lt;div class=&quot;serendipity_babelfish&quot;&gt;Translate to  &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F110-tool-Linux-and-pdf.html&amp;amp;lp=en%5Fde&quot;&gt;de&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F110-tool-Linux-and-pdf.html&amp;amp;lp=en%5Fes&quot;&gt;es&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F110-tool-Linux-and-pdf.html&amp;amp;lp=en%5Ffr&quot;&gt;fr&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F110-tool-Linux-and-pdf.html&amp;amp;lp=en%5Fit&quot;&gt;it&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F110-tool-Linux-and-pdf.html&amp;amp;lp=en%5Fpt&quot;&gt;pt&lt;/a&gt; &lt;a href=&quot;http://babelfish.altavista.com/babelfish/trurl_pagecontent?url=http%3A%2F%2Fartodeto.bazzline.net%2Farchives%2F110-tool-Linux-and-pdf.html&amp;amp;lp=en%5Fja&quot;&gt;ja&lt;/a&gt;&lt;/div&gt; 
    </content:encoded>

    <pubDate>Sat, 14 Jan 2012 19:50:00 +0100</pubDate>
    <guid isPermaLink="false">http://artodeto.bazzline.net/archives/110-guid.html</guid>
    <category>linux</category>
<category>open source</category>
<category>pdf</category>
<category>tool</category>
<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>

</channel>
</rss>
