<?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>I-Am-Bot &#187; php</title>
	<atom:link href="http://iambot.net/tag/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://iambot.net</link>
	<description>Code, technology and life</description>
	<lastBuildDate>Sat, 28 Aug 2010 16:00:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
		<item>
		<title>phpUserAuth Released!</title>
		<link>http://iambot.net/2010/07/phpuserauth-released/</link>
		<comments>http://iambot.net/2010/07/phpuserauth-released/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 02:04:13 +0000</pubDate>
		<dc:creator>Srinath</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://iambot.net/?p=426</guid>
		<description><![CDATA[It's finally done! The package is up for grabs, with a quick starter guide. Details Download Demo Please go through the project page for more details! The Readme.txt file inside folder "readme" contains instructions for installation and usage Leave your comments/questions/suggestions on the project page. Out.]]></description>
			<content:encoded><![CDATA[<p>It's finally done! The package is up for grabs, with a quick starter guide.</p>
<p><strong><a href="http://iambot.net/projects/phpuserauth/">Details</a></strong></p>
<p><strong><a href="http://iambot.net/dScript/download.php?fname=./phpuserauth.zip">Download</a></strong></p>
<p><strong><a href="http://iambot.net/demo/phpuserauth/">Demo</a></strong></p>
<p>Please go through the project page for more details!</p>
<p>The Readme.txt file inside folder "readme" contains instructions for installation and usage</p>
<p>Leave your comments/questions/suggestions on the project page.</p>
<p>Out.</p>
]]></content:encoded>
			<wfw:commentRss>http://iambot.net/2010/07/phpuserauth-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introducing phpUserAuth</title>
		<link>http://iambot.net/projects/phpuserauth/</link>
		<comments>http://iambot.net/projects/phpuserauth/#comments</comments>
		<pubDate>Sun, 23 May 2010 03:23:44 +0000</pubDate>
		<dc:creator>Srinath</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[webdev]]></category>

		<guid isPermaLink="false">http://iambot.net/?p=383</guid>
		<description><![CDATA[Update: Please visit the project page for more details After weeks of fighting with myself, I finally got down to work on something that has been on my mind for sometime now. Yes, it is yet another user authentication/management system in PHP. There are already some great ones out there, and some not so good [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Update: Please visit the <a href="http://iambot.net/projects/phpuserauth/">project page</a> for more details</strong></p>
<p>After weeks of fighting with myself, I finally got down to work on something that has been <a href="http://iambot.net/2010/03/status-update/">on my mind</a> for sometime now. Yes, it is <em>yet</em> another user authentication/management system in PHP. There are already some great ones out there, and some not so good ones. I wanted a system that was secure, flexible, and easy to work with. What took me an entire week of effort is presented below. Without further delay, presenting <strong>phpUserAuth</strong></p>
<p><strong>Features</strong></p>
<ul>
<li> Secure with support for sessions based and/or cookie based authentication</li>
<li> Tons of configuration option for those who know what they are doing. For others, its easy as a cake!</li>
<li> Passwords are *always* hashed before they are sent over the network, with fallback to plain text if JavaScript is not supported in the browser</li>
<li> Only salted, hashed passwords are saved in the database. Even if the DB is stolen, it is almost impossible to get the original password</li>
<li> Support for multiple simultaneous sessions or a single active session </li>
<li> Administrator can choose how users are activated after they signup. It can be automatic activation, manual activation by the admin, or an activation mail can be sent to the user </li>
<li> Password is <strong>NEVER</strong> sent over the email. If the user forgets his password, he can request a password reset mail. </li>
<li> User defined access control levels</li>
<li> Flexible. If the administrator wants to add another field, simply updated the configuration file, and put the field in the signup form! The rest is taken care of by the script!</li>
<li> Prevention from XSS attacks - all data sent to the server is cleaned using the excellent <a href="http://www.phpclasses.org/package/2189-PHP-Filter-out-unwanted-PHP-Javascript-HTML-tags-.html">InputFilter</a> class</li>
<li> Support for template based HTML email notifications with changeable templates</li>
<li> Emailing done through the excellent <a href="http://sourceforge.net/projects/phpmailer/">PHPMailer</a> with support for SMTP+SSL</li>
<li> Custom redirection after login/logout </li>
<li> Pre-designed forms </li>
<li> Snap in install - Simply drop the folder into your existing application, configure a few site options and database settings, and you are done! </li>
</ul>
<p><strong>Requirements</strong></p>
<ul>
<li> PHP 5+ as the core classes are OO </li>
<li> MySQLi support </li>
<li> MySQL 5+ database server </li>
</ul>
<p>Is that too much to ask? That being said, if you run a fairly recent server, all these should be there by default. For testing, you can check out <a href="http://apachefriends.org">XAMPP</a> which is available for Windows, Mac and Linux!</p>
<p><strong> License </strong><br />
I'm planning to release it under some open source license. If that doesn't work out, it will still be <strong>FREE</strong></p>
<p><strong> Download </strong><br />
It is not <em>completely</em> done yet. The admin area needs some work. So it will be released, when its done</p>
<p><strong> Notes</strong><br />
1) As always, it isn't perfect! If you find any bugs, errors, or know a way where things can be done better, please leave a comment!<br />
2) The application hasn't been profiled yet. There WILL be places where I might have  complicated things. Will be taken care of after its been released</p>
]]></content:encoded>
			<wfw:commentRss>http://iambot.net/projects/phpuserauth/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why Symfony is THE PHP Framework to work with</title>
		<link>http://iambot.net/2009/07/symfony-framework/</link>
		<comments>http://iambot.net/2009/07/symfony-framework/#comments</comments>
		<pubDate>Sat, 18 Jul 2009 03:43:57 +0000</pubDate>
		<dc:creator>Srinath</dc:creator>
				<category><![CDATA[open source]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://iambot.net/?p=162</guid>
		<description><![CDATA[I've spent the last few days fruitfully, searching and comparing the most popular and promising of PHP frameworks. Before I get started, I know the automatic follow up will be PHP bashing, and hailing RoR as the savior of the world. This post isn't about a rails vs PHP comparison, though I intend to write [...]]]></description>
			<content:encoded><![CDATA[<p>I've spent the last few days fruitfully, searching and comparing the most popular and promising of PHP frameworks. Before I get started, I know the automatic follow up will be PHP bashing, and hailing RoR as <a href="http://www.prospotlight.com/pro/webdeveloper/website/ruby-on-rails-vs-php.html">the savior of the world</a>. This post isn't about a rails vs PHP comparison, though I intend to write on that shortly.</p>
<p><span id="more-162"></span></p>
<p>Anyone looking for a complete PHP framework will have definitely stumbled across these four major options</p>
<ul>
<li><a href="http://www.zend.com/en/">Zend</a> - <span style="text-decoration: line-through;">The original PHP framework that started it all</span> (Apparently CakePHP came earlier than Zend)</li>
<li><a href="http://cakephp.org/">Cake PHP</a> - Easy and light with support for both PHP 4.1+ and PHP 5+</li>
<li><a href="http://codeigniter.com">Codeigniter</a> - Relatively new lightweight framework</li>
<li><a href="http://symfony-project.org">Symfony</a> - Rails inspired, comprehensive</li>
</ul>
<p>Although there are many more frameworks out there in the wild, these are the most popular and actively developed. As you guessed, this post is about Symfony and why I think its the best. Calling something "the best" is sure to draw a lot of fire from all quarters, so I'll omit it hereon</p>
<p><strong>The Good:</strong></p>
<ul>
<li>Feature Rich - Has all the features one expects from a RAD framework - MVC design pattern, ORM tools, scaffolding, caching, authentication, internalization and localization</li>
<li>Actively Developed - The team not only works on the framework, it also incorporates suggestions/enhancements from community members</li>
<li>Extensive Plugin Repository - It has <strong>647 </strong>plugins from 283 contributors</li>
<li>Amazing Documentation - I can't stress on this enough. Documentation makes ALL the difference when you are spoilt for choice. In addition to the complete API reference, you have "The Book" which is a complete reference to learn Symfony step by step. Then there are the real world examples - Jobeet.com tutorial which guides you in making a Complete working website in 24 days (1 hour a day). And yes, you can check out the site <a href="http://jobeet.com">here<br />
</a> Then, you have the customary "Create a blog in 1 hour" tutorial, and another one that makes the admin interface</li>
<li>Flexible - There are always two ways to do something using Symfony. For ORM, you have doctrine and propel. For javascript you can use prototype(inbuilt), jQuery or Mootools. Supports XCache, eAccelerator, APC , Memcached for caching.</li>
<li>Automatic Admin Generation - Borrowed from Rails, this module makes it a breeze to generate a  optimized and fully functional CRUD interface for your applications. And yes, it does work perfectly well</li>
<li>Extensive developer tools - Symfony supports three deployment environments, along with very good developer tools that lets you configure, debug and monitor your application performance from the web page itself.</li>
<li>Integrated Testing Framework - The "Lime" toolkit allows for unit and functional tests to be written and executed with minimal fuss</li>
<li>Rails Inspired - Need I say more?</li>
</ul>
<p><strong>The Not So Good:</strong></p>
<ul>
<li>It is NOT a small and light framework. But I don't think you can consider 20 MB too large these days, comparing with RoR</li>
<li>Learning Curve - Don't use it if you want to finish your application yesterday. It takes time to learn how to use it, due to its strict adherence to coding standards and quality. If you are an experience programmer though, you will find it easier</li>
<li>Needs optimization - Even though it isn't a pain to optimize unlike RoR, it still needs some work like setting up caching, and using Memcached for database objects if you want to deploy a real world application on it. But then good documentation is available for that too</li>
<li>Its NOT for everyone - This is general to all frameworks. No framework, RoR included, is a "one-size-fits-all" deal. So before you decide to take the plunge, design your application, and put considerable time into thinking if you really need a framework. If all you need is a standard blogging engine, or a normal website with a couple of dynamic scripts, ANY framework in ANY language will be an overkill.</li>
</ul>
<p>If you can live with the above three points, then Symfony is for you. Even though I'm a complete beginner, I've started to love Symfony. I'm sure you will too, if you look at it objectively. So <a href="http://www.symfony-project.org/installation">install it</a>, <a href="http://www.symfony-project.org/doc/1_2/">learn it</a> and have fun!</p>
<p>Edit: Found another great post - <a href="http://www.mellowmorning.com/2007/08/18/ten-reasons-why-symfony-rocks-part-1/">http://www.mellowmorning.com/2007/08/18/ten-reasons-why-symfony-rocks-part-1/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://iambot.net/2009/07/symfony-framework/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Simple PHP calendar with inline edit</title>
		<link>http://iambot.net/2009/07/simple-php-calendar-with-inline-edit/</link>
		<comments>http://iambot.net/2009/07/simple-php-calendar-with-inline-edit/#comments</comments>
		<pubDate>Sun, 12 Jul 2009 09:01:39 +0000</pubDate>
		<dc:creator>Srinath</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://iambot.net/?p=148</guid>
		<description><![CDATA[I was working on a project which required a simple calendar with inline edit. The calendar is for a school which marks if the day is working or not, and the comment (told ya, its very simple). Needs PHP, jQuery, jQuery jEditable plugin and a MySQL table to store the data. The demo is here. [...]]]></description>
			<content:encoded><![CDATA[<p>I was working on a project which required a simple calendar with inline edit. The calendar is for a school which marks if the day is working or not, and the comment (told ya, its very simple). Needs PHP, jQuery, jQuery jEditable plugin and a MySQL table to store the data.</p>
<p>The demo is <a href="http://iambot.net/demo/calendar/" target="_blank">here</a>. If anyone is interested in the code, drop a comment.</p>
<p>P.S: Yea I suck at CSS. If anyone does a better job, please let me know.</p>
]]></content:encoded>
			<wfw:commentRss>http://iambot.net/2009/07/simple-php-calendar-with-inline-edit/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PHP bashing has to end!</title>
		<link>http://iambot.net/2009/07/php-bashing-has-to-end/</link>
		<comments>http://iambot.net/2009/07/php-bashing-has-to-end/#comments</comments>
		<pubDate>Thu, 02 Jul 2009 12:32:25 +0000</pubDate>
		<dc:creator>Srinath</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://iambot.net/?p=150</guid>
		<description><![CDATA[Of late, I've been noticing a lot of PHP bashing around the web. Most of it is related to one major issue: Security. Granted, PHP's security implementation isn't the best out there, and it is a widely discussed topic. But more often than not, the security loopholes are due to bad/inconsistent programming principles, rather than [...]]]></description>
			<content:encoded><![CDATA[<p>Of late, I've been noticing a lot of PHP bashing around the web. Most of it is related to one major issue: Security. Granted, PHP's security implementation isn't the best out there, and it is a widely discussed topic. But more often than not, the security loopholes are due to bad/inconsistent programming principles, rather than a core PHP issue.</p>
<p>Also, PHP's lack of support for threaded programming is another major let down. While this is a genuine issue, rewriting the entire PHP core and the parser to support threads is not worth the effort. But I genuinely haven't felt the need for multi-threading in PHP till date. While threading is a must for system programming, the need for it in a web environment is not entirely clear. Also, the major strength of PHP - its simplicity will be compromised if threading is to be introduced.</p>
<p>Another genuine concern is the confusion caused by settings such as "register_globals" , "magic_quotes", "safe_mode" . These three variables have had a major impact on the deployment of PHP scripts. Web hosts allow ways to tweak these settings, but for the layman who just wants to get a blog up and running, its a bit of a hassle. Also its an issue that needs to be addressed by web developers who want maximum compatibility for their applications. The next major release PHP 6.0 aims to completely do away with this settings for good, and that will indeed clear up a lot of mess.</p>
<p>Most of these issues boil down to one thing - the lack of a an official formal specification. Although the PHP Group oversees the continued development, it is still a community effort, and as such requires stringent software engineering and management. Since the original PHP parser was completely rewritten for version 3 and above, there have only been attempts to patch up vulnerabilities, and add new features like Object Oriented Programming, namespace support among others. PHP 6 is touted to be THE release, which will address most of the major concerns.</p>
<p>For all its shortcomings, its still THE easiest server side scripting language to work with. The C/C++ syntax, seamless integration with MYSQL, support by almost all web hosting providers still make it THE web language IMHO. The LAMP stack is undoubtedly the king of the web, and will continue to be so, owing to the simplicity and widespread community support offered by all its components. And not to forget, its completely free.</p>
]]></content:encoded>
			<wfw:commentRss>http://iambot.net/2009/07/php-bashing-has-to-end/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
