


<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Learn DooPHP &#187; easy</title>
	<atom:link href="http://learn.doophp.com/tag/easy/feed/" rel="self" type="application/rss+xml" />
	<link>http://learn.doophp.com</link>
	<description>Learn DooPHP - a high performance MVC based PHP framework</description>
	<lastBuildDate>Thu, 18 Aug 2011 19:47:45 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>(Deutsch) DooPHP Einsteiger-Tutorial</title>
		<link>http://learn.doophp.com/2011/08/deutsch-doophp-einsteiger-tutorial/</link>
		<comments>http://learn.doophp.com/2011/08/deutsch-doophp-einsteiger-tutorial/#comments</comments>
		<pubDate>Thu, 18 Aug 2011 19:38:38 +0000</pubDate>
		<dc:creator>roman</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[beginner]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[doophp]]></category>
		<category><![CDATA[easy]]></category>
		<category><![CDATA[introduction to doophp]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://learn.doophp.com/?p=247</guid>
		<description><![CDATA[<p>Alle, die auf der Suche nach einem Einsteiger-Tutorial für den Start mit DooPHP sind, finden hier eine einfache Anleitung zur Installation und Basis-Konfiguration einer typischen Webanwendung: <a title="DooPHP: Installation und Konfiguration (Anleitung)" href="http://realpr.de/doophp-installation-konfiguration-anleitung.html"><strong>DooPHP Installation und Konfiguration</strong></a></p>
]]></description>
		<wfw:commentRss>http://learn.doophp.com/2011/08/deutsch-doophp-einsteiger-tutorial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using DooTranslator for translation</title>
		<link>http://learn.doophp.com/2009/10/using-dootranslator-for-translation/</link>
		<comments>http://learn.doophp.com/2009/10/using-dootranslator-for-translation/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 12:05:32 +0000</pubDate>
		<dc:creator>Milos Kovacki</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[easy]]></category>

		<guid isPermaLink="false">http://learn.doophp.com/?p=141</guid>
		<description><![CDATA[<p>DooTranslator finnaly came out, it supports &#8220;<strong>Csv</strong>&#8220;, &#8220;<strong>Gettext</strong>&#8220;, &#8220;<strong>Array</strong>&#8220;, &#8220;<strong>Ini</strong>&#8221; for now, soon it will be implemented other &#8220;file types&#8221;. So for example you have your translation file with this contents:</p>
<p><strong>en.svn</strong></p>
<pre class="brush: php;">
test;&#34;This is just a test!&#34;
</pre>
<p>Lets initialize DooTranslator class:</p>
<pre class="brush: php;">
$translator = Doo::translator('Csv', $this-&#62;_basePath . 'languages/en/LC_MESSAGES/en.csv');
 echo $translator-&#62;translate(&#34;test&#34;);
</pre>
<p>As you can see its very simple, first argument is file type for translation and second is path to the file, third argument can be options array. For Csv you can set options like: delimiter, enclosure and length. Default value for delimiter is &#8220;;&#8221; and for enclosure is &#8220;.</p>
<p>Now we will add some options to our call, lets say we want some other delimiter then &#8220;;&#8221; and we want to add some caching.</p>
<pre class="brush: php;">
$translator = Doo::translator('Csv', $this-&#62;_basePath . 'languages/en/LC_MESSAGES/main.csv', array('cache' =&#62; 'apc', 'delimiter' =&#62; '&#124;'));
</pre>
<p>So now we have added cache mechanism that is &#8220;apc&#8221; and we added delimiter that is &#8220;&#124;&#8221;, now in our en.csv we must change delimiter:</p>
<pre class="brush: php;">
test&#124;&#34;This is just a test!&#34;
</pre>
<p>Supported cache mechanisms are &#8220;apc&#8221;, &#8220;php&#8221;, &#8220;xcache&#8221; and &#8220;eaccelerator&#8221;.</p>
<p>Now lets add placeholders for translate method:</p>
<pre class="brush: php;">
$translator-&#62;translate(&#34;Hello [_1], wellcome to my website!&#34;, array(&#34;John&#34;));
</pre>
<p>This will show translated string with: &#8220;Hello John, wellcome to my website!&#8221;.</p>
<p>Ok thats about it, if you have any questions please do ask, this is simple translation class its still</p>]]></description>
		<wfw:commentRss>http://learn.doophp.com/2009/10/using-dootranslator-for-translation/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Using DooModel for Database Operations</title>
		<link>http://learn.doophp.com/2009/09/using-doomodel-for-database-operations/</link>
		<comments>http://learn.doophp.com/2009/09/using-doomodel-for-database-operations/#comments</comments>
		<pubDate>Wed, 23 Sep 2009 18:30:31 +0000</pubDate>
		<dc:creator>Leng</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[DooModel]]></category>
		<category><![CDATA[easy]]></category>
		<category><![CDATA[model]]></category>
		<category><![CDATA[ORM]]></category>

		<guid isPermaLink="false">http://learn.doophp.com/?p=86</guid>
		<description><![CDATA[<p>If you have ever read DooPHP <a href="http://doophp.com/doc/guide/basic/model">guide</a> on model, you will see that a basic Model class does not have to extend any superclass.</p>
<p>A basic Model class looks like this:</p>
<pre class="brush: php;">
class User{
    public $id;
    public $uname;
    public $pwd;
    public $group;
    public $vip;

    public $_table = 'user';
    public $_primarykey = 'id';
    public $_fields = array('id', 'uname', 'pwd', 'group', 'vip');
}</pre>
<p>With the basic Model class, you can search for a database record by:</p>
<pre class="brush: php;">
//$this-&#62;db()-&#62;find('User');  is the same
Doo::db()-&#62;find('User');

//search for one record
Doo::db()-&#62;find('User', array('limit'=&#62;1) );

//search for a user named 'david'
Doo::db()-&#62;find('User', array('where'=&#62;&#34;uname='david'&#34;, 'limit'=&#62;1) );

//using prepared statement to avoid sql injection
Doo::db()-&#62;find('User', array(
                    'where' =&#62; 'user=?',
                    'param' =&#62; array($_GET['name']),
                    'limit' =&#62; 1
                )
           );

//Or simply use this for shorter code.
Doo::loadModel('User');
$u = new User;
$u-&#62;uname = $_GET['name'];
$result = Doo::db()-&#62;find($u, array('limit'=&#62;1));
</pre>
<p>Although the above code is pretty straightforward, we can make it even shorter and cleaner. First of all, we would need to have our Models to extend the DooModel class. We will have our Model class as the code below, notice the constructor:</p>
<pre class="brush: php; highlight: [14];">Doo::loadCore('db/DooModel');
class User extends DooModel {
    public $id;
    public $uname;
    public $pwd;
    public $group;
    public $vip;

    public $_table = 'user';
    public $_primarykey = 'id';
    public $_fields = array('id', 'uname', 'pwd', 'group', 'vip');

    function __construct(){
         parent::$className = __CLASS__;
    }
}
</pre>
<p>By</p>]]></description>
		<wfw:commentRss>http://learn.doophp.com/2009/09/using-doomodel-for-database-operations/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>DooPHP Sitemap Generator Tool Demo</title>
		<link>http://learn.doophp.com/2009/09/doophp-sitemap-generator-tool-demo/</link>
		<comments>http://learn.doophp.com/2009/09/doophp-sitemap-generator-tool-demo/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 04:30:39 +0000</pubDate>
		<dc:creator>Leng</dc:creator>
				<category><![CDATA[Screencast]]></category>
		<category><![CDATA[code generation]]></category>
		<category><![CDATA[controller]]></category>
		<category><![CDATA[easy]]></category>
		<category><![CDATA[routing]]></category>
		<category><![CDATA[tool]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://learn.doophp.com/?p=69</guid>
		<description><![CDATA[<p>This is a demo showing you how to use DooPHP sitemap generator tools to generate routes as well as Controller classes.</p>
<p><a href="http://www.vimeo.com/6069049">DooPHP Sitemap Generator tool</a></p>
<p></p>
]]></description>
		<wfw:commentRss>http://learn.doophp.com/2009/09/doophp-sitemap-generator-tool-demo/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Quick guide to DooSession</title>
		<link>http://learn.doophp.com/2009/09/quick-guide-to-doosession/</link>
		<comments>http://learn.doophp.com/2009/09/quick-guide-to-doosession/#comments</comments>
		<pubDate>Mon, 21 Sep 2009 15:48:35 +0000</pubDate>
		<dc:creator>Milos Kovacki</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[easy]]></category>
		<category><![CDATA[session]]></category>

		<guid isPermaLink="false">http://learn.doophp.com/?p=64</guid>
		<description><![CDATA[<p>This will be a quick guide how to use DooSession, first of all you need to call a DooSession class, I love to have one super class that extends DooController class. In super class constructor I make session and create everything I need for a website.</p>
<p>Calling session class needs one parameter and thats namespace name, often you wish to put name for your session.</p>
<pre class="brush: php;">$this-&#62;_application = Doo::session(&#34;mywebsite&#34;);</pre>
<p>Now that you created session namespace you can start using it, storing in session and getting stuff from it. For example you want to define username of user that is registered:</p>
<pre class="brush: php;">$this-&#62;_application-&#62;user = &#34;John&#34;;</pre>
<p>Now you are accessing it from controller with:</p>
<pre class="brush: php;">$this-&#62;_application-&#62;user</pre>
<p>Another nice thing is to have access to session from your view scripts, I am doing it like this, inside constructor of my super class I add:</p>
<pre class="brush: php;">$data['application'] = Doo::session(&#34;mywebsite&#34;);
$this-&#62;renderc('templatefile', $data);</pre>
<p>Now from your view scripts you can access your user variable like:</p>
<pre class="brush: php;">$this-&#62;data['application']-&#62;user</pre>
<p>Thats about it, all functions that you have in doo session class are in API.</p>
<p><a href="http://doophp.com/documentation/api_svn">http://doophp.com/documentation/api_svn</a></p>
]]></description>
		<wfw:commentRss>http://learn.doophp.com/2009/09/quick-guide-to-doosession/feed/</wfw:commentRss>
		<slash:comments>29</slash:comments>
		</item>
		<item>
		<title>Create a simple To Do List in DooPHP – Part 2</title>
		<link>http://learn.doophp.com/2009/09/create-a-simple-to-do-list-in-doophp-part-2/</link>
		<comments>http://learn.doophp.com/2009/09/create-a-simple-to-do-list-in-doophp-part-2/#comments</comments>
		<pubDate>Mon, 21 Sep 2009 01:11:54 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[authentication]]></category>
		<category><![CDATA[easy]]></category>
		<category><![CDATA[model]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[routing]]></category>
		<category><![CDATA[template engine]]></category>
		<category><![CDATA[view]]></category>

		<guid isPermaLink="false">http://learn.doophp.com/?p=51</guid>
		<description><![CDATA[<h2>Introduction</h2>
<p>This tutorial will guide you through all the steps required to get started using DooPHP through the creation of a simple To Do List Application. The tutorial is split into a number of sections and you will need to read the guide from the begining in order to understand whats going on.</p>
<ul>
<li><a href="http://learn.doophp.com/2009/09/create-a-simple-to-do-list-in-doophp-part-1/">Part 1 &#8211; Getting Started</a></li>
<li><strong>Part 2 &#8211; The Signup Form</strong></li>
<li>Part 3 &#8211; User Authentication &#8211; Coming Soon</li>
<li>Part 4 &#8211; The To Do List &#8211; Coming Soon</li>
<li>Part 5 &#8211; Adding AJAX Functionality &#8211; Coming Soon</li>
</ul>
<h2>Creating the Signup Form</h2>
<p>The first thing we need to do is to create a new controller which will handel registration tasks. For this we will create a new Controller with the name RegistrationController and this will handel all aspects of registration. Right now this will consist of a single action &#8211; Signup. Therefore we must create a new file public_html\protected\controller\RegistrationController.php and the contents of this file will be:</p>
<p><span id="more-51"></span></p>
<pre class="brush: php;">
&#60;?php
/* This is our new Controller which extends the DooPHP default DooController class */
class RegistrationController extends DooController {

	/* This array will hold data we want to expose to the templates we return to users later */
    protected $data = array();

	/* This function is called by DooPHP before we run an action */
	public function beforeRun($resouce,</pre>]]></description>
		<wfw:commentRss>http://learn.doophp.com/2009/09/create-a-simple-to-do-list-in-doophp-part-2/feed/</wfw:commentRss>
		<slash:comments>30</slash:comments>
		</item>
		<item>
		<title>Create a simple To Do List in DooPHP &#8211; Part 1</title>
		<link>http://learn.doophp.com/2009/09/create-a-simple-to-do-list-in-doophp-part-1/</link>
		<comments>http://learn.doophp.com/2009/09/create-a-simple-to-do-list-in-doophp-part-1/#comments</comments>
		<pubDate>Sun, 20 Sep 2009 17:07:35 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[beginner]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[demo]]></category>
		<category><![CDATA[easy]]></category>
		<category><![CDATA[model]]></category>
		<category><![CDATA[ORM]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://learn.doophp.com/?p=13</guid>
		<description><![CDATA[<h2>Introduction</h2>
<p>This tutorial will guide you through all the steps required to get started using DooPHP through the creation of a simple To Do List Application. The tutorial is split into a number of sections and you will need to read the guide from the begining in order to understand whats going on.</p>
<ul>
<li><strong>Part 1 &#8211; Getting Started</strong></li>
<li><a href="http://learn.doophp.com/2009/09/create-a-simple-to-do-list-in-doophp-part-2/">Part 2 &#8211; The Signup Form</a></li>
<li>Part 3 &#8211; User Authentication &#8211; Coming Soon</li>
<li>Part 4 &#8211; The To Do List &#8211; Coming Soon</li>
<li>Part 5 &#8211; Adding AJAX Functionality &#8211; Coming Soon</li>
</ul>
<h2>Our Objective for this Tutorial</h2>
<p>In this tutorial we will be creating a simple To <em>Doo</em> List Manager Web Application and through the course of the tutorial we will be covering the following topics:</p>
<ul>
<li>Obtaining and Deploying the Base DooPHP Application</li>
<li>Setting up the MySQL Database</li>
<li>Creating the Models</li>
<li>Creating the To Do Manager Application
<ul>
<li>Signup Form</li>
<li>User Authentication</li>
<li>User Home Page</li>
<li>Task Actions</li>
<li>Enhancing you application with AJAX</li>
</ul>
</li>
</ul>
<p>You can view a demo of the finished project <a title="View a demo of the DooPHP Tutorial To Do List Application" href="http://doophp.com/demo/" target="_blank">here</a>. Some screen shots of the final application are also included below:</p>
<p>TODO: IMAGES TO GO IN HERE WHEN I FINISH!</p>
<p>TODO: UPDATE THE DEMO LINK ABOVE</p>
<p><span id="more-13"></span></p>
<h2>Obtaining and Deploying the Base DooPHP Application</h2>
<p>Before you can begin working on the To Doo List Manager you will need access to a Web Server. This guide assumes you already have webhosting or better yet</p>]]></description>
		<wfw:commentRss>http://learn.doophp.com/2009/09/create-a-simple-to-do-list-in-doophp-part-1/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
