<?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>DotKernel PHP Application Framework &#187; DotKernel</title>
	<atom:link href="http://www.dotkernel.com/blog/dotkernel/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dotkernel.com</link>
	<description>Implementation of  Zend Framework</description>
	<lastBuildDate>Fri, 30 Jul 2010 11:21:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>DotKernel 1.2.2 release</title>
		<link>http://www.dotkernel.com/dotkernel/dotkernel-1-2-2-release/</link>
		<comments>http://www.dotkernel.com/dotkernel/dotkernel-1-2-2-release/#comments</comments>
		<pubDate>Fri, 30 Jul 2010 09:10:12 +0000</pubDate>
		<dc:creator>Teo</dc:creator>
				<category><![CDATA[DotKernel]]></category>

		<guid isPermaLink="false">http://www.dotkernel.com/?p=887</guid>
		<description><![CDATA[Yesterday, we released DotKernel 1.2.2. It contains some bug fixes: 31 – captcha errors try catch 32 – pagination issue 33 – Admin wrong link 34 – Acunetix results July 24th ( notices and one fatal error) 35 – update &#8230; <a href="http://www.dotkernel.com/dotkernel/dotkernel-1-2-2-release/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Yesterday, we released <strong>DotKernel 1.2.2</strong>. It contains some bug fixes:</p>
<ul>
<li><span style="text-decoration: line-through;"><a href="http://www.dotkernel.net/view.php?id=31">31</a></span> – captcha errors try catch</li>
<li><span style="text-decoration: line-through;"><a href="http://www.dotkernel.net/view.php?id=32">32</a></span> – pagination issue</li>
<li><span style="text-decoration: line-through;"><a href="http://www.dotkernel.net/view.php?id=33">33</a></span> – Admin wrong link</li>
<li><span style="text-decoration: line-through;"><a href="http://www.dotkernel.net/view.php?id=34">34</a></span> – Acunetix results July 24th ( notices and one fatal error)</li>
<li><span style="text-decoration: line-through;"><a href="http://www.dotkernel.net/view.php?id=35">35</a></span> – update copyright line in files</li>
</ul>
<p>For more details see <a href="../changelog/1-2-2/">ChangeLog 1.2.2</a>. To get only the changed files from 1.2.1 to 1.2.2, download the <a href="../download/?did=17">upgrade</a> file</p>
<p><strong>Note*</strong>: because of the Bug 35, all php files have changed. To see what else has changed, check the <a href="http://www.dotkernel.net/">DotKernel Tracker</a> or the <a href="http://websvn.dotkernel.net/listing.php?repname=DotKernel+ver.+1">DotKernel WebSVN</a> .</p>
<p><em>P.S.</em> On July 22, 2010 we released <em>DotKernel 1.2.1.</em> You can check the <a href="../changelog/1-2-1/">ChangeLog 1.2.1</a> or download <a href="../download/?did=14">the upgrade 1.2.1</a> zip file.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dotkernel.com/dotkernel/dotkernel-1-2-2-release/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DotKernel 1.2.0 release</title>
		<link>http://www.dotkernel.com/dotkernel/dotkernel-1-2-0-release/</link>
		<comments>http://www.dotkernel.com/dotkernel/dotkernel-1-2-0-release/#comments</comments>
		<pubDate>Mon, 05 Jul 2010 13:36:10 +0000</pubDate>
		<dc:creator>Teo</dc:creator>
				<category><![CDATA[DotKernel]]></category>

		<guid isPermaLink="false">http://www.dotkernel.com/?p=548</guid>
		<description><![CDATA[Finally we reached DotKernel 1.2.0 milestone. Since the previous released 1.1.2, some changes have been made. On database, we changed the names and structure of tables to respect database naming convention. http://www.dotkernel.com/dotkernel/dotkernel-database-naming-conventions-for-mysql/ A new word came into our DotKernel discussions: &#8230; <a href="http://www.dotkernel.com/dotkernel/dotkernel-1-2-0-release/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Finally we reached DotKernel 1.2.0 milestone.</p>
<p>Since the previous released 1.1.2, some changes have been made.</p>
<ul>
<li>On database, we changed the names and structure of tables to respect database naming convention. <a href="../dotkernel/dotkernel-database-naming-conventions-for-mysql/"><em>http://www.dotkernel.com/dotkernel/dotkernel-database-naming-conventions-for-mysql/</em></a></li>
</ul>
<ul>
<li>A new word came into our DotKernel discussions: <strong><em>dots.</em></strong> We use this term when talking about a submodule and all its component files. For example, <em>“user”</em> is a submodule of <em>frontend</em> module. Note that one dots can be part of multiple modules. (For example, <em>“user”</em> dots belong to <em>frontend</em> and <em>admin</em> module). For each dots, the configurations values have been added to xml files which are stored in <em>configs/dots</em> folder. In the preview versions, this values where hard-coded in the php files.</li>
</ul>
<ul>
<li>Another change made in <em>configs </em>folder is <em>resource.xml</em>, which contains the configuration values for the controllers of each module.</li>
</ul>
<p>To be easier to start an application from DotKernel, in admin module, there are now the following dots:  admin, user and system.</p>
<p>New library classes have been implemented: Dot_Geoip and Dot_Seo, and some of the existing ones have been updated: Dot_Curl and Dot_Session (each module has his own session).</p>
<p>In DotKernel, all SQL queries are written as prepared statements.  We strongly encourage this  practice: <em><a href="../php-development/protection-against-sql-injection-using-pdo-and-zend-framework/">http://www.dotkernel.com/php-development/protection-against-sql-injection-using-pdo-and-zend-framework/</a></em></p>
<p>For more details, see  <a title=http://www.dotkernel.com/changelog/1-2-0/" href="http://www.dotkernel.com/changelog/1-2-0/">ChangeLog 1.2.0</a></p>
<p><em><br />
</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dotkernel.com/dotkernel/dotkernel-1-2-0-release/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sending emails using Dot_Email component and Zend_Email</title>
		<link>http://www.dotkernel.com/dotkernel/sending-emails-using-dot_email-component-and-zend_email/</link>
		<comments>http://www.dotkernel.com/dotkernel/sending-emails-using-dot_email-component-and-zend_email/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 02:08:15 +0000</pubDate>
		<dc:creator>Julian</dc:creator>
				<category><![CDATA[DotKernel]]></category>

		<guid isPermaLink="false">http://www.dotkernel.com/?p=427</guid>
		<description><![CDATA[Dot_Email class extends Zend_Mail, so all the methods from Zend_Mail are available  in Dot_Email. Dot_Email is a simple class composed only from 2 methods, except constructor, all  other methods beeing inherited  from Zend_Mail. 1.   setContent() , as the name is &#8230; <a href="http://www.dotkernel.com/dotkernel/sending-emails-using-dot_email-component-and-zend_email/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><strong>Dot_Email</strong> class extends Zend_Mail, so all the methods from Zend_Mail are available  in Dot_Email.</p>
<p><strong>Dot_Email</strong> is a simple class composed only from 2 methods, except constructor, all  other methods beeing inherited  from Zend_Mail.</p>
<p>1.   <strong> setContent()</strong> , as the name is suggesting, set the body of the email by calling setBodyText() (if format is &#8220;text/plain&#8221;) or setBodyHtml() (if format is &#8220;text/html&#8221;).</p>
<p>Note the declaration of this method: setContent ($content, $format = &#8216;text/plain&#8217;)</p>
<p>2.  <strong>send()</strong>, set the transporter and is calling parent::send() method for sending the email</p>
<p>For sending the email you MUST use this methods in the code above:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$dotEmail</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Dot_Email<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$dotEmail</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>addTo<span style="color: #009900;">&#40;</span><span style="color: #000088;">$email</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$dotEmail</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>setSubject<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Forgot Password'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$dotEmail</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>setBodyText<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Your password is '</span><span style="color: #339933;">.</span><span style="color: #000088;">$password</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$succeed</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$dotEmail</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>send<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$succeed</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;Message sent!&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">else</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;Message failed, not sent!&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Only if you want to overwrite the default Email and Name, add the below lines:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$dotEmail</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>setFrom<span style="color: #009900;">&#40;</span><span style="color: #000088;">$fromEmail</span><span style="color: #339933;">,</span> <span style="color: #000088;">$fromName</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$dotEmail</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>setReplyTo<span style="color: #009900;">&#40;</span><span style="color: #000088;">$fromEmail</span><span style="color: #339933;">,</span> <span style="color: #000088;">$fromName</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p><strong>NOTE*:</strong> you always have to use  <strong>addTo()</strong>,  <strong>setSubject()</strong>,<strong> setBodyText()</strong> or<strong> setBodyHtml()</strong> or <strong>setContent()</strong>, and finally send() method.</p>
<p>Methods inherited  from Zend_Mail and that can be used in your code are:</p>
<ol>
<li> setBodyText($txt,$charset=null,$encoding=Zend_Mime::ENCODING_QUOTEDPRINTABLE)</li>
<li> setBodyHtml($html,$charset=null,$encoding=Zend_Mime::ENCODING_QUOTEDPRINTABLE)</li>
<li> addTo($email, $name=&#8221;)</li>
<li> addCc($email, $name=&#8221;)</li>
<li> addBcc($email)</li>
<li> setFrom($email, $name = null)</li>
<li> setReplyTo($email, $name = null)</li>
<li> setReturnPath($email)</li>
<li> setSubject($subject)</li>
<li> addHeader($name, $value, $append = false)</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.dotkernel.com/dotkernel/sending-emails-using-dot_email-component-and-zend_email/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>camelCase Table Names in MySQL on Windows</title>
		<link>http://www.dotkernel.com/dotkernel/camelcase-table-names-in-mysql-on-windows/</link>
		<comments>http://www.dotkernel.com/dotkernel/camelcase-table-names-in-mysql-on-windows/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 17:40:36 +0000</pubDate>
		<dc:creator>Julian</dc:creator>
				<category><![CDATA[DotKernel]]></category>

		<guid isPermaLink="false">http://www.dotkernel.com/?p=418</guid>
		<description><![CDATA[If you are using a WAMP stack, like WAMP or XAMPP, and try to create a table in camelCase ( example: adminLogin) you will notice that camelCase is not working, table name will be lowercase: adminlogin. In order to fix &#8230; <a href="http://www.dotkernel.com/dotkernel/camelcase-table-names-in-mysql-on-windows/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>If you are using a WAMP stack, like WAMP or XAMPP, and try to create a table in camelCase ( example: <strong>adminLogin</strong>)  you will notice that camelCase is not working, table name will be lowercase: <strong>adminlogin</strong>.<br />
In order to fix this, you need to add to your my.cnf file the line:</p>

<div class="wp_syntax"><div class="code"><pre class="mysql" style="font-family:monospace;">lower_case_table_names<span style="color: #CC0099;">=</span><span style="color: #008080;">2</span></pre></div></div>

<p>and restart mysql.</p>
<p>More on that here: <a href="http://dev.mysql.com/doc/refman/4.1/en/server-system-variables.html#sysvar_lower_case_table_names" target="_blank">http://dev.mysql.com/doc/refman/4.1/en/server-system-variables.html#sysvar_lower_case_table_names</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dotkernel.com/dotkernel/camelcase-table-names-in-mysql-on-windows/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>DotKernel Database Naming Conventions for MySQL</title>
		<link>http://www.dotkernel.com/dotkernel/dotkernel-database-naming-conventions-for-mysql/</link>
		<comments>http://www.dotkernel.com/dotkernel/dotkernel-database-naming-conventions-for-mysql/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 14:56:24 +0000</pubDate>
		<dc:creator>Julian</dc:creator>
				<category><![CDATA[DotKernel]]></category>
		<category><![CDATA[coding standard]]></category>
		<category><![CDATA[DB]]></category>

		<guid isPermaLink="false">http://www.dotkernel.com/?p=408</guid>
		<description><![CDATA[DotKernel borrowed the database naming conventions from FaZend: Rules of naming of database tables and columns. FaZend is an open-source PHP framework based on Zend Framework. Database naming conventions for tables and columns: Singular table names only (e.g. user, category, &#8230; <a href="http://www.dotkernel.com/dotkernel/dotkernel-database-naming-conventions-for-mysql/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>DotKernel borrowed the database naming conventions from <a href="http://fazend.com/a/2009-11-DataNaming.html" target="_blank">FaZend: Rules of naming of database tables and columns</a>. FaZend is an open-source PHP framework based on Zend Framework.</p>
<p><strong>Database naming conventions for tables and columns:</strong></p>
<ul>
<li>Singular table names only (e.g. <em>user</em>, <em>category</em>, <em>product</em>, <em>order, orderProduct</em>)</li>
<li>Every table must have an auto-incrementing integer column id</li>
<li>ZF-like names of columns and tables (e.g. <em>user::isAdmin</em>, <em>orderProduct::product</em>)</li>
<li>Foreign keys must have the same names as reference tables</li>
<li>SQL keywords are capitalized (e.g. SELECT, INT)</li>
</ul>
<p><strong>Example of proper SQL file formatting and naming:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #990099; font-weight: bold;">CREATE</span> <span style="color: #990099; font-weight: bold;">TABLE</span> <span style="color: #990099; font-weight: bold;">IF <span style="color: #CC0099; font-weight: bold;">NOT</span> EXISTS</span> <span style="color: #008000;">`user`</span>
 <span style="color: #FF00FF;">&#40;</span>
   <span style="color: #008000;">`id`</span> <span style="color: #999900; font-weight: bold;">INT</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">11</span><span style="color: #FF00FF;">&#41;</span> <span style="color: #FF9900; font-weight: bold;">UNSIGNED</span> <span style="color: #CC0099; font-weight: bold;">NOT</span> <span style="color: #9900FF; font-weight: bold;">NULL</span> <span style="color: #FF9900; font-weight: bold;">AUTO_INCREMENT</span><span style="color: #000033;">,</span>
   <span style="color: #008000;">`username`</span> <span style="color: #999900; font-weight: bold;">VARCHAR</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">255</span><span style="color: #FF00FF;">&#41;</span> <span style="color: #CC0099; font-weight: bold;">NOT</span> <span style="color: #9900FF; font-weight: bold;">NULL</span><span style="color: #000033;">,</span>
   <span style="color: #008000;">`password`</span> <span style="color: #999900; font-weight: bold;">VARCHAR</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">25</span><span style="color: #FF00FF;">&#41;</span> <span style="color: #CC0099; font-weight: bold;">NOT</span> <span style="color: #9900FF; font-weight: bold;">NULL</span><span style="color: #000033;">,</span>
   <span style="color: #008000;">`email`</span> <span style="color: #999900; font-weight: bold;">VARCHAR</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">100</span><span style="color: #FF00FF;">&#41;</span> <span style="color: #CC0099; font-weight: bold;">NOT</span> <span style="color: #9900FF; font-weight: bold;">NULL</span><span style="color: #000033;">,</span>
   <span style="color: #008000;">`firstName`</span> <span style="color: #999900; font-weight: bold;">VARCHAR</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">255</span><span style="color: #FF00FF;">&#41;</span> <span style="color: #CC0099; font-weight: bold;">NOT</span> <span style="color: #9900FF; font-weight: bold;">NULL</span><span style="color: #000033;">,</span>
   <span style="color: #008000;">`lastName`</span> <span style="color: #999900; font-weight: bold;">VARCHAR</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">255</span><span style="color: #FF00FF;">&#41;</span> <span style="color: #CC0099; font-weight: bold;">NOT</span> <span style="color: #9900FF; font-weight: bold;">NULL</span><span style="color: #000033;">,</span>
   <span style="color: #008000;">`dateCreated`</span> <span style="color: #999900; font-weight: bold;">TIMESTAMP</span> <span style="color: #CC0099; font-weight: bold;">NOT</span>  <span style="color: #9900FF; font-weight: bold;">NULL</span> <span style="color: #990099; font-weight: bold;">DEFAULT</span>  <span style="color: #000099;">CURRENT_TIMESTAMP</span><span style="color: #000033;">,</span>
   <span style="color: #008000;">`userType`</span> <span style="color: #999900; font-weight: bold;">INT</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008080;">11</span><span style="color: #FF00FF;">&#41;</span> <span style="color: #CC0099; font-weight: bold;">NOT</span> <span style="color: #9900FF; font-weight: bold;">NULL</span> <span style="color: #FF9900; font-weight: bold;">AUTO_INCREMENT</span>
   <span style="color: #008000;">`isActive`</span> <span style="color: #999900; font-weight: bold;">ENUM</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008000;">'0'</span><span style="color: #000033;">,</span><span style="color: #008000;">'1'</span><span style="color: #FF00FF;">&#41;</span> <span style="color: #CC0099; font-weight: bold;">NOT</span> <span style="color: #9900FF; font-weight: bold;">NULL</span> <span style="color: #990099; font-weight: bold;">DEFAULT</span> <span style="color: #008000;">'1'</span><span style="color: #000033;">,</span>
   <span style="color: #990099; font-weight: bold;">PRIMARY KEY</span>  <span style="color: #FF00FF;">&#40;</span><span style="color: #008000;">`id`</span><span style="color: #FF00FF;">&#41;</span><span style="color: #000033;">,</span>
   <span style="color: #FF9900; font-weight: bold;">UNIQUE</span> <span style="color: #990099; font-weight: bold;">KEY</span> <span style="color: #008000;">`username`</span> <span style="color: #FF00FF;">&#40;</span><span style="color: #008000;">`username`</span><span style="color: #FF00FF;">&#41;</span><span style="color: #000033;">,</span>
   <span style="color: #FF9900; font-weight: bold;">UNIQUE</span> <span style="color: #990099; font-weight: bold;">KEY</span> <span style="color: #008000;">`email`</span> <span style="color: #FF00FF;">&#40;</span><span style="color: #008000;">`email`</span><span style="color: #FF00FF;">&#41;</span>
   <span style="color: #990099; font-weight: bold;">FOREIGN KEY</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008000;">`userType`</span><span style="color: #FF00FF;">&#41;</span> <span style="color: #990099; font-weight: bold;">REFERENCES</span> <span style="color: #008000;">`userType`</span><span style="color: #FF00FF;">&#40;</span><span style="color: #008000;">`id`</span><span style="color: #FF00FF;">&#41;</span>
        <span style="color: #990099; font-weight: bold;">ON</span> <span style="color: #990099; font-weight: bold;">UPDATE</span> <span style="color: #990099; font-weight: bold;">CASCADE</span>
        <span style="color: #990099; font-weight: bold;">ON</span> <span style="color: #990099; font-weight: bold;">DELETE</span> <span style="color: #990099; font-weight: bold;">CASCADE</span>
 <span style="color: #FF00FF;">&#41;</span>
 <span style="color: #990099; font-weight: bold;">ENGINE</span><span style="color: #CC0099;">=</span><span style="color: #990099; font-weight: bold;">InnoDB</span>
 <span style="color: #990099; font-weight: bold;">DEFAULT</span> <span style="color: #FF9900; font-weight: bold;">CHARSET</span><span style="color: #CC0099;">=</span>latin1
 <span style="color: #FF9900; font-weight: bold;">AUTO_INCREMENT</span><span style="color: #CC0099;">=</span><span style="color: #008080;">1</span> <span style="color: #000033;">;</span></pre></div></div>

<p><strong>Conclusion:</strong><br />
The names of database tables and columns must follow <em>camelLetter</em> as naming conventions.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dotkernel.com/dotkernel/dotkernel-database-naming-conventions-for-mysql/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>DotBoost Technologies : Products and Services North American Relaunch</title>
		<link>http://www.dotkernel.com/dotkernel/dotboost-technologies-products-and-services-north-american-relaunch/</link>
		<comments>http://www.dotkernel.com/dotkernel/dotboost-technologies-products-and-services-north-american-relaunch/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 08:41:05 +0000</pubDate>
		<dc:creator>Julian</dc:creator>
				<category><![CDATA[DotKernel]]></category>

		<guid isPermaLink="false">http://www.dotkernel.com/?p=41</guid>
		<description><![CDATA[A new style and advanced approach to accompany the Dotkernel source release Dotboost is pleased to announce our North American Relaunch. This new phase comes as a result of dedicated research and analysis on how to best serve clients in &#8230; <a href="http://www.dotkernel.com/dotkernel/dotboost-technologies-products-and-services-north-american-relaunch/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><strong>A new style and advanced approach to accompany the Dotkernel source release</strong></p>
<p>Dotboost is pleased to announce our North American Relaunch. This new phase comes as a result of dedicated research and analysis on how to best serve clients in Canada and the US.</p>
<p>At the heart of our relaunch is the source release for our exclusive inhouse developed DotKernel framework. We have also added business IT integration and increased the clarity to our existing consulting services.</p>
<p>We&#8217;re not your average IT organization; we view our customers as strategic partners. This paradigm allows us to take a comprehensive approach towards creating solutions and gain the competitive advantage.</p>
<p>Founded in 2005, the Dotboost process can incorporate anywhere into your project&#8217;s life-cycle including concept development, architecture and design, development and integration, and implementation and support. We use time and distance to our advantage, pushing competitive boundaries and staking our place as a globally efficient organization.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dotkernel.com/dotkernel/dotboost-technologies-products-and-services-north-american-relaunch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DotKernel Template Engine</title>
		<link>http://www.dotkernel.com/dotkernel/dotkernel-template-engine/</link>
		<comments>http://www.dotkernel.com/dotkernel/dotkernel-template-engine/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 14:21:27 +0000</pubDate>
		<dc:creator>Julian</dc:creator>
				<category><![CDATA[DotKernel]]></category>

		<guid isPermaLink="false">http://www.dotkernel.com/?p=52</guid>
		<description><![CDATA[DotKernel Template Engine is an implementation of PHPLib Template engine for PHP5. It has an amazing ability to separate the application code from the presentation layer. Separates the manipulation of data (in the database as well as in PHP) from &#8230; <a href="http://www.dotkernel.com/dotkernel/dotkernel-template-engine/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<h3>
<p>DotKernel Template Engine is an implementation of PHPLib Template engine for PHP5.</h3>
<p>It has an amazing ability to separate the application code from the presentation layer. Separates the manipulation of data (in the database as well as in PHP) from its final format, whether that format is HTML, XML or a formatted e-mail. The big advantage is that is allowing us to change the look and feel of a site quickly without having to delve immediately into a lot of PHP variable assignments and print statements.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dotkernel.com/dotkernel/dotkernel-template-engine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DotKernel version 1.0 in action</title>
		<link>http://www.dotkernel.com/dotkernel/dotkernel-in-action/</link>
		<comments>http://www.dotkernel.com/dotkernel/dotkernel-in-action/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 14:08:47 +0000</pubDate>
		<dc:creator>Julian</dc:creator>
				<category><![CDATA[DotKernel]]></category>

		<guid isPermaLink="false">http://www.dotkernel.com/?p=43</guid>
		<description><![CDATA[DotKernel is the DotBoost&#8216;s in-house developed framework, based on Zend Framework. DotKernel is at version 1.0 , released under Open Software License (OSL 3.0) , and is built on top of Zend Framework. DotKernel is using a simplified MVC (Model-View-Controller) &#8230; <a href="http://www.dotkernel.com/dotkernel/dotkernel-in-action/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div>
<p><span>DotKernel</span> is the<a href="http://www.dotboost.com" target="_blank"> DotBoost</a>&#8216;s in-house developed framework, based on Zend Framework.<br />
<strong>DotKernel </strong> is at version 1.0 ,  released under  <a href="http://opensource.org/licenses/osl-3.0.php" target="_blank">Open Software License (OSL 3.0)</a> ,  and is built on top of  <a href="http://framework.zend.com/" target="_blank">Zend Framework</a>.</div>
<div>DotKernel is using a simplified <strong>MVC (Model-View-Controller)</strong> architecture, easy to learn by beginner and intermediate level programmers.<br />
It has eliminated the complexity of Zend Framework by using a different approach of how the web request are handled.<br />
</p>
<h3>From Zend Framework, DotKernel is using only the necessary classes:</h3>
<ul>
<li><strong>Zend_Config</strong> &#8211; While Zend Framework itself is configuration-less, it&#8217;s often necessary to have some way to specify configurable options. Zend_Config provides multiple backends for configuration storage, and a simple, intuitive, object-oriented interface for accessing it. We store configuration as simple PHP arrays, which are then wrapped by Zend_Config.</li>
<li><strong>Zend_Db and Zend_Db_Table</strong> &#8211; Zend_Db_Table is a classic implementation of both the Table Data Gateway and Row Data Gateway design patterns, allowing for easy and  intuitive access to database tables and rows, as well as an entry point for custom business logic surrounding our data.</li>
<li><strong>Zend_Mail</strong> &#8211; Zend_Mail provides generalized functionality to compose and send both text and MIME-compliant multipart e-mail messages. Mail can be sent with Zend_Mail via the default Zend_Mail_Transport_Sendmail transport or via Zend_Mail_Transport_Smtp.</li>
<li><strong>Zend_Registry</strong> &#8211; A registry is a container for storing objects and values in the application space. By storing the value in a registry, the same object is always available throughout the application. This mechanism is an alternative to using global storage.</li>
<li><strong>Zend_Validate</strong> &#8211; The Zend_Validate component provides a set of commonly needed validators. It also provides a simple validator chaining mechanism by which multiple validators may be applied to a single datum in a user-defined order.</li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.dotkernel.com/dotkernel/dotkernel-in-action/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What is DotKernel</title>
		<link>http://www.dotkernel.com/dotkernel/what-is-dotkernel/</link>
		<comments>http://www.dotkernel.com/dotkernel/what-is-dotkernel/#comments</comments>
		<pubDate>Sat, 29 Mar 2008 23:49:33 +0000</pubDate>
		<dc:creator>Julian</dc:creator>
				<category><![CDATA[DotKernel]]></category>
		<category><![CDATA[DotBoost]]></category>
		<category><![CDATA[What is DotKernel]]></category>

		<guid isPermaLink="false">http://www.dotkernel.com/?p=6</guid>
		<description><![CDATA[DotKernel is the dotBoost&#8217;s framework from which to start a new application, based on Zend Framework. DotKernel is is a framework, using a simplified MVC , for internal use of our company. DotKernel will not alter in any way ZF &#8230; <a href="http://www.dotkernel.com/dotkernel/what-is-dotkernel/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<ul>
<li><strong>DotKernel</strong> is the <a href="http://www.dotboost.com" target="_blank">dotBoost&#8217;s</a> framework from which to start a new application, based on Zend Framework.</li>
<li><strong>DotKernel</strong> is is a framework, using a simplified MVC , for internal use of our company.</li>
<li><strong>DotKernel</strong> will not alter in any way ZF code, and is built upon an unmodified Zend Framework version.</li>
</ul>
<p><span id="more-6"></span></p>
<p>List of <strong>DotKernel</strong> classes which extend ZF:</p>
<ol>
<li><strong> Template system. </strong></li>
<p>Using Zend_View, which  is an interface, we can write our own view class implementing that interface.<br />
We implement our own good-old PHPLIB-style template.</p>
<li><strong> Custom Front Controler. </strong></li>
<p>ZF&#8217;s default routing like &#8220;/controller/action/param1/value1&#8243; need to  be customized.<br />
We define our own routing rules and add them to the Front Controller (see <a href="http://framework.zend.com/manual/en/zend.controller.router.html" target="_blank"> ZF Front Controler</a>).<br />
We use some custom routes on our projects.</ol>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">DotKernel</div>
]]></content:encoded>
			<wfw:commentRss>http://www.dotkernel.com/dotkernel/what-is-dotkernel/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Zend Framework, The Foundation of Enterprise PHP</title>
		<link>http://www.dotkernel.com/dotkernel/zend-framework-the-foundation-of-enterprise-php/</link>
		<comments>http://www.dotkernel.com/dotkernel/zend-framework-the-foundation-of-enterprise-php/#comments</comments>
		<pubDate>Sat, 29 Mar 2008 23:36:08 +0000</pubDate>
		<dc:creator>Julian</dc:creator>
				<category><![CDATA[DotKernel]]></category>
		<category><![CDATA[Enterprise PHP]]></category>
		<category><![CDATA[foundation]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.dotkernel.com/?p=5</guid>
		<description><![CDATA[Why we choose ZF as the foundation of DotKernel, the DotBoost Rapid Application Development. It&#8217;s a &#8220;glue framework&#8221; with &#8220;Use at will&#8221; architecture. ZF is more like a component library, but it’s really somewhere in the middle, because ZF is &#8230; <a href="http://www.dotkernel.com/dotkernel/zend-framework-the-foundation-of-enterprise-php/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Why we choose ZF as the foundation of DotKernel, the <a href="http://www.dotboost.com" target="_blank">DotBoost</a> Rapid Application Development.</p>
<p><span id="more-5"></span></p>
<ol>
<li><strong> It&#8217;s a &#8220;glue framework&#8221; with <strong>&#8220;Use at will&#8221;</strong> architecture.</strong></li>
<p>ZF is more like a component library, but it’s really somewhere in the middle, because ZF is designed to provide abstract classes that you can extend and reuse.<br />
We are not forced to follow a certain development pattern.<br />
Zend Framework is built to support a <strong>&#8220;Use at will&#8221;</strong> philosophy we should be able to only use those parts that we need.</p>
<li><strong> Business Friendly License. </strong></li>
<p>Developers of ZF  have submitted  a Contributor License Agreement (CLA).<br />
ZF is the only major framework for PHP 5 that uses the very business-friendly New BSD license, and has a Contributor License Agreement policy.<br />
One of the goals of ZF is to provide a centralized library of technology that is maintained and supported, and all of it has some assurance that it was developed and contributed without violation of any copyrights or patents.  So ZF offers some non-technical advantages even where it provides similar technical capabilities.</p>
<li><strong> Support of latest PHP versions. </strong></li>
<p>Zend Framework seeks to support the version of PHP that is currently best to use for production applications.</p>
<li><strong> ZF upgrade path. </strong></li>
<p>One of the chief goals of ZF was to provide a class library that could commit to backward-compatibility and allow users to have assurance that their applications continue to work with subsequent versions of ZF.  Therefore, ZF have an intention to maintain the class interface, so that upgrading to new versions will be virtually seamless.</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.dotkernel.com/dotkernel/zend-framework-the-foundation-of-enterprise-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
