<?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>Zen-Dreams &#187; php</title>
	<atom:link href="http://blog.zen-dreams.com/en/tag/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.zen-dreams.com</link>
	<description>Zen-Dreams.com</description>
	<lastBuildDate>Tue, 02 Feb 2010 20:04:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>DNA-Framework &#8211; Database Abstraction Layer</title>
		<link>http://blog.zen-dreams.com/en/2008/08/30/dna-framework-database-abstraction-layer/</link>
		<comments>http://blog.zen-dreams.com/en/2008/08/30/dna-framework-database-abstraction-layer/#comments</comments>
		<pubDate>Sat, 30 Aug 2008 17:41:25 +0000</pubDate>
		<dc:creator>Anthony</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Zen-Dreams]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[DNA-Framework]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.zen-dreams.com/en/?p=423</guid>
		<description><![CDATA[When I decided to re-write the DNA-Framework, I didn&#8217;t know where to start first. I was thinking about creating all the security structure first, but I then realised that mostly the security infrastructure will use the dabatase to store information.
So I first needed to create the DAL.
The DAL must stay : easy to use, coherent [...]]]></description>
			<content:encoded><![CDATA[<p>When I decided to re-write the <strong>DNA-Framework</strong>, I didn&#8217;t know where to start first. I was thinking about creating all the <strong>security structure</strong> first, but I then realised that mostly the security infrastructure will <strong>use the dabatase</strong> to store information.</p>
<p>So I first needed to create the DAL.</p>
<p>The DAL must stay : easy to use, coherent (meaning no differences between different DBMS) and with no useless features.</p>
<p>So the first thing to do was to create a generic class encapsulating every aspect that will be generic enough to be DBMS not specific. This class is <strong>dna.database.class</strong>. It also allowed me to define the behavior and structure of inheriting classes.</p>
<p>Talking about inheritance, for now there are only <strong>four</strong> classes. <strong>MySQL</strong>, <strong>PostgreSQL</strong>, <strong>SQLite</strong> 2 and <strong>Oracle</strong>. Yes this means that the DNA-Framework will have support for all of these systems and probably more when I&#8217;ll create an ODBC class ;)</p>
<p>So, briefly, I started the creation of the class system monday and today, the four classes exists and are able to :</p>
<ul>
<li>Execute SQL queries (anything)</li>
<li>Select and browse through results</li>
<li><strong>Export</strong> as <strong>SQL</strong> or <strong>CSV</strong> result of a query</li>
<li><strong>Import</strong> from <strong>SQL</strong> and <strong>CSV</strong></li>
<li>Fetch various states<strong> (queries / dbms)</strong></li>
</ul>
<h3>Below is an example of the same code executed on 4 different DBMS.</h3>
<p><span id="more-423"></span></p>
<pre>
<h3>MySQL</h3>

SELECT * FROM MS_User
    -&gt; anthony@mysql.com
    -&gt; toto@mysql.com
INSERT INTO MS_User (Email) VALUES ('test@MySQL.com')
SELECT * FROM MS_User
    -&gt; anthony@mysql.com
    -&gt; toto@mysql.com
    -&gt; <strong>test@MySQL.com</strong>
DELETE FROM MS_User WHERE Email='test@MySQL.com'
SELECT * FROM MS_User
    -&gt; anthony@mysql.com
    -&gt; toto@mysql.com
<h3>PostgreSQL</h3>

SELECT * FROM "MS_User"
    -&gt; Anthony@PostgresQL.com
    -&gt; toto@postgresql.com
INSERT INTO "MS_User" ("Email") VALUES ('test@PostgreSQL.com')
SELECT * FROM "MS_User"
    -&gt; Anthony@PostgresQL.com
    -&gt; toto@postgresql.com
    -&gt; <strong>test@PostgreSQL.com</strong>
DELETE FROM "MS_User" WHERE "Email"='test@PostgreSQL.com'
SELECT * FROM "MS_User"
    -&gt; Anthony@PostgresQL.com
    -&gt; toto@postgresql.com
<h3>SQLite</h3>

SELECT * FROM MS_User
    -&gt; anthony@sqlite.org
    -&gt; toto@sqlite.org
INSERT INTO MS_User (Email) VALUES ('test@SQLite.com')
SELECT * FROM MS_User
    -&gt; anthony@sqlite.org
    -&gt; toto@sqlite.org
    -&gt; <strong>test@SQLite.com</strong>
DELETE FROM MS_User WHERE Email='test@SQLite.com'
SELECT * FROM MS_User
    -&gt; anthony@sqlite.org
    -&gt; toto@sqlite.org
<h3>Oracle OCI</h3>

SELECT * FROM MS_User
    -&gt; toto@oracle.com
    -&gt; Anthony@oracle.com
INSERT INTO MS_User (EMAIL) VALUES ('test@Oracle OCI.com')
SELECT * FROM MS_User
    -&gt; toto@oracle.com
    -&gt; Anthony@oracle.com
    -&gt; <strong>test@Oracle OCI.com</strong>
DELETE FROM MS_User WHERE EMAIL='test@Oracle OCI.com'
SELECT * FROM MS_User
    -&gt; toto@oracle.com
    -&gt; Anthony@oracle.com</pre>
<p style="text-align: left;"><img src="http://blog.zen-dreams.com/wp-content/themes/Zen-DreamsV3/images/logo-big.png" style="float: left;">This article was originally published on <a href="http://blog.zen-dreams.com/">Zen-Dreams.com</a> — Reproduction without authorization is strictly prohibited.</p>
<p>Looking for a WordPress Profesionnal, <a href="http://www.zen-dreans.com/">Hire me</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zen-dreams.com/en/2008/08/30/dna-framework-database-abstraction-layer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gestionnaire de fichier en ligne</title>
		<link>http://blog.zen-dreams.com/en/2008/03/14/gestionnaire-de-fichier-en-ligne/</link>
		<comments>http://blog.zen-dreams.com/en/2008/03/14/gestionnaire-de-fichier-en-ligne/#comments</comments>
		<pubDate>Fri, 14 Mar 2008 16:39:38 +0000</pubDate>
		<dc:creator>Anthony</dc:creator>
				<category><![CDATA[Information Technologies]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://zen-dreams.com/fr/2008/03/14/gestionnaire-de-fichier-en-ligne/</guid>
		<description><![CDATA[Depuis déjà fort longtemps j&#8217;utilise des utilitaires de gestion de fichier en ligne. Ces derniers temps, j&#8217;utilise directement le système intégré de 1and1 (mon hébergeur), tout en restant à la recherche DU file manager.
Et j&#8217;ai enfin trouvé !
Il s&#8217;agit de PHPfileNavigator. Un outil très complet permettant d&#8217;uploader plusieurs fichier à la fois, editer, supprimer, renommer, [...]]]></description>
			<content:encoded><![CDATA[<p>Depuis déjà fort longtemps j&#8217;utilise des utilitaires de gestion de fichier en ligne. Ces derniers temps, j&#8217;utilise directement le système intégré de <a href="http://www.1and1.fr/?k_id=13358392">1and1</a> (mon hébergeur), tout en restant à la recherche <strong>DU file manager</strong>.<br />
Et j&#8217;ai enfin trouvé !</p>
<p>Il s&#8217;agit de <a href="http://pfn.sourceforge.net/">PHPfileNavigator</a>. Un outil <strong>très complet</strong> permettant d&#8217;uploader <u>plusieurs</u> fichier à la fois, <strong>editer</strong>, supprimer, renommer, <strong>tagguer</strong>, et encore moultes autres fonctions. Un des plus de cet outil est son interface complète et en même temps pas compliquée. De plus, si vous désirez partager l&#8217;accès avec d&#8217;autres utilisateurs, il offre la possibilité justement d&#8217;avoir autant de compte que vous le voulez, avec les droits qui peuvent varier et surtout, un log traçant les opérations effectuées.<br />
En effet, il est possible de définir différentes racines d&#8217;accès, différents users ainsi que leurs groupes.</p>
<p>Toujours est-il que le site de démo disponible me donne vraiment envie de l&#8217;utiliser :)
<p style="text-align: left;"><img src="http://blog.zen-dreams.com/wp-content/themes/Zen-DreamsV3/images/logo-big.png" style="float: left;">This article was originally published on <a href="http://blog.zen-dreams.com/">Zen-Dreams.com</a> — Reproduction without authorization is strictly prohibited.</p>
<p>Looking for a WordPress Profesionnal, <a href="http://www.zen-dreans.com/">Hire me</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zen-dreams.com/en/2008/03/14/gestionnaire-de-fichier-en-ligne/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
