<?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>Macronimous Web Blog &#187; PHP Programming</title>
	<atom:link href="http://blog.macronimous.com/category/php-programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.macronimous.com</link>
	<description>Business, IT and offshore development</description>
	<lastBuildDate>Tue, 02 Mar 2010 03:52:17 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>PHP IDEs we use: 1.Netbeans, and why?</title>
		<link>http://blog.macronimous.com/php-ides-we-use-1-netbeans-and-why/</link>
		<comments>http://blog.macronimous.com/php-ides-we-use-1-netbeans-and-why/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 11:38:10 +0000</pubDate>
		<dc:creator>Macronimous</dc:creator>
				<category><![CDATA[Opensource]]></category>
		<category><![CDATA[PHP Programming]]></category>
		<category><![CDATA[Web tools]]></category>
		<category><![CDATA[web programming]]></category>
		<category><![CDATA[Development tools]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[PHP IDE]]></category>

		<guid isPermaLink="false">http://blog.macronimous.com/?p=169</guid>
		<description><![CDATA[Netbeans Integrated Development Environment (IDE) is an open source integrated development for software developers. You can run the Netbeans IDE on various platforms which include Linux, Windows, Solaris and MacOs. It is aimed at providing a comfortable environment for the developer during each stage of development. This is accomplished by integrating precise features required for [...]]]></description>
			<content:encoded><![CDATA[<p>Netbeans Integrated Development Environment (IDE) is an open source integrated development for software developers. You can run the Netbeans IDE on various platforms which include Linux, Windows, Solaris and MacOs. It is aimed at providing a comfortable environment for the developer during each stage of development. This is accomplished by integrating precise features required for PHP development into the Netbeans IDE.</p>
<p>As most PHP projects characteristically connect to MySQL databases, Netbeans has made a concentrated effort to offer to this configuration. By means of the Netbeans IDE 6.5 Beta, web developers can now benefit from the standard features like the syntax highlighting, refactoring, code templates, pop-up documentation, easy code navigation, debugger and lots more.</p>
<p>I have been currently using Netbeans IDE and I have penned down few features and positives that I came across in writing PHP based web application.</p>
<ul>
<li>It comes free.</li>
<li>Netbeans will go along with PHP, JavaScript, CSS, HTML, Java and lots more.</li>
<li>Indentation format is out of the top draw in Netbeans. You select a block of code which contains css, html or php code, Netbeans will make sure it formats the code evidently and placed indentation adequately.</li>
<li>Common functions of PHP are shown automatically or you can use ctrl + space.</li>
<li>While writing HTML, Netbeans ensures it checks the div id properly and it indicates if there is any hitch so that you can easily fix the bug.</li>
</ul>
<p>I can stiff my neck out and say it’s the most popular IDE and also the most popular. So I would give an overall score of 8 out of 10 for Netbeans IDE.</p>


<!-- Begin TwitThis script (http://twitthis.com/) -->
<div style="text-align:left;">
<script type="text/javascript" src="http://s3.chuug.com/chuug.twitthis.scripts/twitthis.js"></script>
<script type="text/javascript">
<!--
document.write('<a href="javascript:;" onclick="TwitThis.pop();"><img src="http://s3.chuug.com/chuug.twitthis.resources/twitthis_grey_72x22.gif" alt="TwitThis" style="border:none;" /></a>');
//-->
</script>
</div>
<!-- /End -->

]]></content:encoded>
			<wfw:commentRss>http://blog.macronimous.com/php-ides-we-use-1-netbeans-and-why/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Frameworks we like: 3. Symfony, and Why?</title>
		<link>http://blog.macronimous.com/frameworks-we-like-symfony-and-why/</link>
		<comments>http://blog.macronimous.com/frameworks-we-like-symfony-and-why/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 10:56:27 +0000</pubDate>
		<dc:creator>Macronimous</dc:creator>
				<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[Opensource]]></category>
		<category><![CDATA[PHP Programming]]></category>
		<category><![CDATA[Web tools]]></category>
		<category><![CDATA[PHP Frameworks]]></category>
		<category><![CDATA[Web development Frameworks]]></category>

		<guid isPermaLink="false">http://blog.macronimous.com/?p=163</guid>
		<description><![CDATA[Symfony a web application written in PHP as per the Model-View-Controller (MVC) standards launched by Sensio Labs during 2005. It is aimed to give developers full authority over the configuration. Symfony also looks to up the tempo of creation and maintenance of web applications and to reduce the recurring coding tasks. More or less a whole [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Symfony Project" href="www.symfony-project.org" target="_blank">Symfony</a> a web application written in PHP as per the Model-View-Controller (MVC) standards launched by Sensio Labs during 2005. It is aimed to give developers full authority over the configuration. Symfony also looks to up the tempo of creation and maintenance of web applications and to reduce the recurring coding tasks. More or less a whole lot from the directory structure to foreign libraries could be customized.</p>
<p>The symfony templating component is a flexible layer on top of PHP which provides you simple yet influential features that covers most familiar templating needs. One of the objectives of symfony templating component is to be as fast as possible. It comes as a tool which is very easy to use with just a single archive to download and that’s it, you are ready to be on the go.</p>
<p>You might ask me the next question, what is the exact need for any framework in PHP? PHP was supposed to be meant as a fast web based programming language. The ever escalating popularity of Open Source Technology today has given away to the position of PHP in web community.</p>
<p>Given this condition why do you need a Symfony? Why a framework in the first place? Let us see how the Symfony framework is going to benefit the customer and as well as the developer.</p>
<p><strong>Benefits of Symfony Framework for Customers</strong></p>
<ul>
<li>Released under MIT open source license, the Symfony framework comes as free software and you can use it for any commercial purposes.</li>
<li>Symfony Framework is independent of database due to the ORM layer “Propel” or “Doctrine”.</li>
<li>Use of tested code and also less lines of code which always results in less chance of bugs and also it will minimize your cost.</li>
<li>Web applications are very easy to modify later on because of the clear Model View Controller (MVC) structure that separates application into separated layers.</li>
<li>Swift developments of a custom-made website build on proven methods and principles.</li>
</ul>
<p><strong> </strong></p>
<p><strong>Benefits of Symfony Framework for Developers</strong></p>
<ul>
<li>All codes are object oriented and entirely in PHP5.</li>
<li>You will gain plenty of time in the overall development process and get improved maintainable and testable code.</li>
<li>Very appropriate for development methodologies like XP.</li>
<li>Advanced cache system which includes file cache, apc cache, mem cache and few others.</li>
<li>Offers tools to make use of every useful best-practice accessible on the web today.</li>
</ul>
<p>Initially when I came across this Symfony software, found it really overwhelming and appeared a big step. But the structure of the framework and also because of the consistency of Application Programming Interface (API), the documentation provided was really wonderful.</p>
<p>I must admit that ever since we started using Symfony, we haven’t looked back.</p>
<p>3. <a href="http://blog.macronimous.com/frameworks-we-like-2-cakephp/" target="_self">Frameworks we like: 2. CakePHP and why?</a></p>
<p>2. <a href="http://blog.macronimous.com/php-frameworks-we-like-1-zend-and-why/" target="_blank">PHP Frameworks we like 1. Zend and why?</a></p>
<p>1. <a href="http://blog.macronimous.com/php-frameworks-we-like/" target="_blank">PHP Frameworks we like</a></p>


<!-- Begin TwitThis script (http://twitthis.com/) -->
<div style="text-align:left;">
<script type="text/javascript" src="http://s3.chuug.com/chuug.twitthis.scripts/twitthis.js"></script>
<script type="text/javascript">
<!--
document.write('<a href="javascript:;" onclick="TwitThis.pop();"><img src="http://s3.chuug.com/chuug.twitthis.resources/twitthis_grey_72x22.gif" alt="TwitThis" style="border:none;" /></a>');
//-->
</script>
</div>
<!-- /End -->

]]></content:encoded>
			<wfw:commentRss>http://blog.macronimous.com/frameworks-we-like-symfony-and-why/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>PHP Frameworks we like 1. Zend and why?</title>
		<link>http://blog.macronimous.com/php-frameworks-we-like-1-zend-and-why/</link>
		<comments>http://blog.macronimous.com/php-frameworks-we-like-1-zend-and-why/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 05:03:33 +0000</pubDate>
		<dc:creator>Macronimous</dc:creator>
				<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[PHP Programming]]></category>

		<guid isPermaLink="false">http://blog.macronimous.com/?p=150</guid>
		<description><![CDATA[Our developers first choice was Zend, reasons?  Zend Framework is an uncomplicated, straight forward, open source software framework for PHP 5. Its flexible design allows you to build interactive web applications and services with ease. One of the major highlight is the Model-View-Controller (MVC), which makes the code reusable and trouble-free to maintain.
MVC is nothing but an [...]]]></description>
			<content:encoded><![CDATA[<p>Our developers first choice was Zend, reasons?  Zend Framework is an uncomplicated, straight forward, open source software framework for PHP 5. Its flexible design allows you to build interactive web applications and services with ease. One of the major highlight is the Model-View-Controller (MVC), which makes the code reusable and trouble-free to maintain.</p>
<p>MVC is nothing but an architectural blueprint used by software engineering. As a developer you would wish to separate data and user interface. This enables you as a developer to make changes to user interface without disturbing data handling and rearrange data without making any changes to the UI.</p>
<p>There were few positives which I came across and would like to share it with you:</p>
<ul>
<li>Easy to deploy and simple maintenance.</li>
<li>You don’t have to make use of the entire package, instead pick and choose bits, and plug it together to get a complete product to suit your requirements.</li>
<li>It supports your higher yet simple solutions in developing PHP 5 web applications for an international audience.</li>
<li>Zend Framework is completely object oriented and very easy to enlarge and improve.</li>
<li>Configuration files are not essential for up and running.</li>
</ul>
<p>All in all, if you’re looking for a “face-lift” to PHP, Zend Framework provides you with powerful solutions for building a safe and robust website.</p>
<p>Next: <a href="http://blog.macronimous.com/frameworks-we-like-2-cakephp/" target="_self">Frameworks we like: 2. CakePHP&gt;&gt;</a></p>


<!-- Begin TwitThis script (http://twitthis.com/) -->
<div style="text-align:left;">
<script type="text/javascript" src="http://s3.chuug.com/chuug.twitthis.scripts/twitthis.js"></script>
<script type="text/javascript">
<!--
document.write('<a href="javascript:;" onclick="TwitThis.pop();"><img src="http://s3.chuug.com/chuug.twitthis.resources/twitthis_grey_72x22.gif" alt="TwitThis" style="border:none;" /></a>');
//-->
</script>
</div>
<!-- /End -->

]]></content:encoded>
			<wfw:commentRss>http://blog.macronimous.com/php-frameworks-we-like-1-zend-and-why/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Four Frameworks to perform unit testing in PHP</title>
		<link>http://blog.macronimous.com/four-frameworks-to-perform-unit-testing-in-php/</link>
		<comments>http://blog.macronimous.com/four-frameworks-to-perform-unit-testing-in-php/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 05:59:31 +0000</pubDate>
		<dc:creator>Macronimous</dc:creator>
				<category><![CDATA[4 series]]></category>
		<category><![CDATA[Opensource]]></category>
		<category><![CDATA[PHP Programming]]></category>
		<category><![CDATA[Web Testing]]></category>
		<category><![CDATA[Web tools]]></category>

		<guid isPermaLink="false">http://blog.macronimous.com/?p=142</guid>
		<description><![CDATA[Doing Unit testing is helps a team to produce quality application with in time by allowing the developer to test the code as soon as they write it. By developing a test document, developers are forced to do rigorous testing before it reaches to QA team. This way the span of life cycle is reduced [...]]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Doing Unit testing is helps a team to produce quality application with in time by allowing the developer to test the code as soon as they write it. By developing a test document, developers are forced to do rigorous testing before it reaches to QA team. This way the span of life cycle is reduced by avoiding it going back and forth between the developer and the tester. The following few Frameworks help teams to do unit testing efficiently. This way unit testing could become a fun to your developers too.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Four Frameworks to perform unit testing in PHP are</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">1.<span style="white-space: pre;"> </span>SimpleTest</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">2.<span style="white-space: pre;"> </span>PHPUnit</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">3.<span style="white-space: pre;"> </span>phpt</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">4.<span style="white-space: pre;"> </span>SnapTest</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">SimpleTest:</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">It’s a Open souce unit test framework created by Marcus Baker for PHP. The test structure in SimpleTest is similar to the Junit and PHPUnit.  It contains all of the typical functions in Junit and PHPunit and also includes Mock objects. Simplte Test helps to automate the web application’s regression testing. Regression testing on web applications can be done by parsing the HTML page by using scrpitable HTTP client for simulations like Form submission and clicking on Hyperlinks. Some of the JWebUnit functionalities like web page navigation, cookie testing and form submission are also incorporated in this.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">The following link will assist you to get more idea on SimpleTest (http://www.simpletest.org)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">PHPUnit:</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">PHP Unit is a part of xUnit family, which has testing frameworks in it. It provides a framework that helps in creating the test scripts easily and also the functionality to execute the tests and then analyze the results. The tests are arranged into cases in PHPUnit, which is very similar to Simple Test. A case is essentially a class in which public methods are singular independent tests.  A test name starts with “test” if the test is a public method. Any test, which is not, a public method will not be taken into account unless interpreted as a test under PHPUnit.  Helper methods are very useful for recurring tasks. If used Helper methods to set up a test, the test will be considered as a separate test by the framework. Refrence to assert methods are present inside each and every test. An assertion is mainly taking an expected value and then comparing it with an actual value. If the expected value does not match the actual value, then the test fails. Mock Objects are hugely important component in maintaining a unit test’s segregation from all other classes and resources except the one under test.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">The following link will assist you to get more idea on PHPUnit.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">http://www.phpunit.de/manual/current/en/phpunit-book.pdf</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">PHPT:</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">A phpt test is a small script, which used by the php internal and quality assurance teams for testing PHP&#8217;s functionalities. Writing phpt tests helps to make PHP more stable. For writing up a phpt test, we need a basic knowledge on PHP language, a text editor and a method to get the results of the code.  Phpt test is used in following scenario: The run-tests.php scripts call the test and it takes different parts of phpt file to name and to create a .php file. The newly created .php file is executed and the output of the same is compared with different sections of a phpt file. The Test pass only when the output of the script &#8220;matches&#8221; with the output provided in the phpt script.  Phpt test will do the following: It tries and breaks the PHP functions. PHPT test check the functions normal parameters as well as edge cases.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">The following link will assist you to get more idea on Phpt</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">http://qa.php.net/write-test.php</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">SnapTest:</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">The most powerful unit-testing framework for PHP 5+ is SnapTest.  PHP’s runtime language is the only one of its kind that can be used to make the unit test process simpler without sacrificing the agility tests. The philosophy on which the Snap Test was build: Unit testing should be transparent in Snap Test. Complexity of test harness and coding out stub files should be avoided in Snap Test. The obstacle in writing tests should be very less so that it becomes easier to write the tests than writing the code.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Features of the SnapTest are:</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">•<span style="white-space: pre;"> </span>JUnit Compliant Test Harness</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">•<span style="white-space: pre;"> </span>TAP Compliant Test Output</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">•<span style="white-space: pre;"> </span>Runnable from Command Line via .sh or .php scripts</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">•<span style="white-space: pre;"> </span>Full support for mock objects at runtime (minimum parallel structures) as actors and critics</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">•<span style="white-space: pre;"> </span>Extensible add-on system for adapting SnapTest to just about any developer environment</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">The following link will assist you to get more idea on SnapTest</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">http://code.google.com/p/snaptest/</div>
<p>Doing Unit testing is helps a team to produce quality application with in time by allowing the developer to test the code as soon as they write it. By developing a test document, developers are forced to do rigorous testing before it reaches to QA team. This way the span of life cycle is reduced by avoiding it going back and forth between the developer and the tester. The following few Frameworks help teams to do unit testing efficiently. This way unit testing could become a fun to your developers too.</p>
<p>Four Frameworks to perform unit testing in PHP are</p>
<p>1.<span style="white-space: pre;"> </span>SimpleTest</p>
<p>2.<span style="white-space: pre;"> </span>PHPUnit</p>
<p>3.<span style="white-space: pre;"> </span>phpt</p>
<p>4.<span style="white-space: pre;"> </span>SnapTest</p>
<p><strong>SimpleTest:</strong></p>
<p>It’s a Open souce unit test framework created by Marcus Baker for PHP. The test structure in SimpleTest is similar to the Junit and PHPUnit.  It contains all of the typical functions in Junit and PHPunit and also includes Mock objects. Simplte Test helps to automate the web application’s regression testing. Regression testing on web applications can be done by parsing the HTML page by using scrpitable HTTP client for simulations like Form submission and clicking on Hyperlinks. Some of the JWebUnit functionalities like web page navigation, cookie testing and form submission are also incorporated in this.</p>
<p>Download and test your version of <a href="http://www.simpletest.org" target="_blank">Simple test.</a></p>
<p><strong>PHPUnit:</strong></p>
<p>PHP Unit is a part of xUnit family, which has testing frameworks in it. It provides a framework that helps in creating the test scripts easily and also the functionality to execute the tests and then analyze the results. The tests are arranged into cases in PHPUnit, which is very similar to Simple Test. A case is essentially a class in which public methods are singular independent tests.  A test name starts with “test” if the test is a public method. Any test, which is not, a public method will not be taken into account unless interpreted as a test under PHPUnit.  Helper methods are very useful for recurring tasks. If used Helper methods to set up a test, the test will be considered as a separate test by the framework. Refrence to assert methods are present inside each and every test. An assertion is mainly taking an expected value and then comparing it with an actual value. If the expected value does not match the actual value, then the test fails. Mock Objects are hugely important component in maintaining a unit test’s segregation from all other classes and resources except the one under test.</p>
<p>The following link will assist you to get more idea on <a href="http://www.phpunit.de/manual/current/en/phpunit-book.pdf" target="_blank">PHPUnit</a>.</p>
<p><strong>PHPT:</strong></p>
<p>A phpt test is a small script, which used by the php internal and quality assurance teams for testing PHP&#8217;s functionalities. Writing phpt tests helps to make PHP more stable. For writing up a phpt test, we need a basic knowledge on PHP language, a text editor and a method to get the results of the code.  Phpt test is used in following scenario: The run-tests.php scripts call the test and it takes different parts of phpt file to name and to create a .php file. The newly created .php file is executed and the output of the same is compared with different sections of a phpt file. The Test pass only when the output of the script &#8220;matches&#8221; with the output provided in the phpt script.  Phpt test will do the following: It tries and breaks the PHP functions. PHPT test check the functions normal parameters as well as edge cases.</p>
<p>More on <a href="http://qa.php.net/write-test.php" target="_blank"> Phpt</a></p>
<p><strong>SnapTest:</strong></p>
<p>The most powerful unit-testing framework for PHP 5+ is SnapTest.  PHP’s runtime language is the only one of its kind that can be used to make the unit test process simpler without sacrificing the agility tests. The philosophy on which the Snap Test was build: Unit testing should be transparent in Snap Test. Complexity of test harness and coding out stub files should be avoided in Snap Test. The obstacle in writing tests should be very less so that it becomes easier to write the tests than writing the code.</p>
<p>Features of the SnapTest are:</p>
<p>•<span style="white-space: pre;"> </span>JUnit Compliant Test Harness</p>
<p>•<span style="white-space: pre;"> </span>TAP Compliant Test Output</p>
<p>•<span style="white-space: pre;"> </span>Runnable from Command Line via .sh or .php scripts</p>
<p>•<span style="white-space: pre;"> </span>Full support for mock objects at runtime (minimum parallel structures) as actors and critics</p>
<p>•<span style="white-space: pre;"> </span>Extensible add-on system for adapting SnapTest to just about any developer environment</p>
<p>Here you go for:  <a href="http://code.google.com/p/snaptest" target="_blank">SnapTest</a></p>
<p>Let me know if you are familiar with other frameworks.</p>
<div></div>


<!-- Begin TwitThis script (http://twitthis.com/) -->
<div style="text-align:left;">
<script type="text/javascript" src="http://s3.chuug.com/chuug.twitthis.scripts/twitthis.js"></script>
<script type="text/javascript">
<!--
document.write('<a href="javascript:;" onclick="TwitThis.pop();"><img src="http://s3.chuug.com/chuug.twitthis.resources/twitthis_grey_72x22.gif" alt="TwitThis" style="border:none;" /></a>');
//-->
</script>
</div>
<!-- /End -->

]]></content:encoded>
			<wfw:commentRss>http://blog.macronimous.com/four-frameworks-to-perform-unit-testing-in-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Know more about PHP frameworks</title>
		<link>http://blog.macronimous.com/know-more-about-php-frameworks/</link>
		<comments>http://blog.macronimous.com/know-more-about-php-frameworks/#comments</comments>
		<pubDate>Fri, 26 Jun 2009 06:42:50 +0000</pubDate>
		<dc:creator>Macronimous</dc:creator>
				<category><![CDATA[PHP Programming]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP Frameworks]]></category>
		<category><![CDATA[Web development Frameworks]]></category>

		<guid isPermaLink="false">http://blog.macronimous.com/know-more-about-php-frameworks/</guid>
		<description><![CDATA[Here is another nice, well I think it is nice, since it&#8217;s pretty short and gives you an over view quickly. All PHP developers must find one Framework for them before your client forces you to learn one.  

Thanks to Ryan and Team for this precise information.











]]></description>
			<content:encoded><![CDATA[<p>Here is another nice, well I think it is nice, since it&#8217;s pretty short and gives you an over view quickly. All PHP developers must find one Framework for them before your client forces you to learn one. <img src='http://blog.macronimous.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p style="width: 425px; text-align: left" id="__ss_1445563"><object style="margin: 0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=phpframeworks-090516151727-phpapp02&#038;rel=0&#038;stripped_title=php-frameworks"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=phpframeworks-090516151727-phpapp02&#038;rel=0&#038;stripped_title=php-frameworks" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></p>
<p style="font-size: 11px; font-family: tahoma, arial; height: 26px; padding-top: 2px">Thanks to Ryan and Team for this precise information.</p>


<!-- Begin TwitThis script (http://twitthis.com/) -->
<div style="text-align:left;">
<script type="text/javascript" src="http://s3.chuug.com/chuug.twitthis.scripts/twitthis.js"></script>
<script type="text/javascript">
<!--
document.write('<a href="javascript:;" onclick="TwitThis.pop();"><img src="http://s3.chuug.com/chuug.twitthis.resources/twitthis_grey_72x22.gif" alt="TwitThis" style="border:none;" /></a>');
//-->
</script>
</div>
<!-- /End -->

]]></content:encoded>
			<wfw:commentRss>http://blog.macronimous.com/know-more-about-php-frameworks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why Cubecart?</title>
		<link>http://blog.macronimous.com/why-cubecart/</link>
		<comments>http://blog.macronimous.com/why-cubecart/#comments</comments>
		<pubDate>Tue, 24 Feb 2009 06:34:49 +0000</pubDate>
		<dc:creator>Macronimous</dc:creator>
				<category><![CDATA[CMS]]></category>
		<category><![CDATA[Content Management Systems]]></category>
		<category><![CDATA[Opensource]]></category>
		<category><![CDATA[PHP Programming]]></category>
		<category><![CDATA[Search Engine Optimization]]></category>
		<category><![CDATA[Web business]]></category>
		<category><![CDATA[Web tools]]></category>
		<category><![CDATA[Web2.0]]></category>
		<category><![CDATA[web programming]]></category>
		<category><![CDATA[Content Management solution]]></category>
		<category><![CDATA[Ecommerce tools]]></category>
		<category><![CDATA[Opensource CMS]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://blog.macronimous.com/why-cubecart/</guid>
		<description><![CDATA[Many of our customers who look for Ecommerce solutions find Opensource solutions to build it cost effectively and they like what we recommended, Cubecart!There are reasons:1. Easy to customize (skin based), and this keeps the cost low.
2. You can bring great look and feel with skins, you can make the site likeÂ complete custom design. No [...]]]></description>
			<content:encoded><![CDATA[<p><span style="font-family: 'Georgia','serif'">Many of our customers who look for Ecommerce solutions find Opensource solutions to build it cost effectively and they like what we recommended, Cubecart!</span><span style="font-family: 'Georgia','serif'">There are reasons:<o:p></o:p></span><span style="font-family: 'Georgia','serif'">1. Easy to customize (skin based), and this keeps the cost low.<br />
2. You can bring great look and feel with skins, you can make the site likeÂ complete custom design. No footsteps of Cubecart would be visible.<br />
3. PHP programmers likes it. &#8211; Clean code structure, easy to manage. Our PHP programmers have a great feel about it.<br />
4. Designers like it. Clean XHTML interface and CSS driven.<br />
5. SEO guys like it. Search Engine Friendly URLs, Custom URLs, Meta Tags, Robots.txt &amp; PHP Session Killer etc<br />
6. Good support from Cubecart team apart from forum support (Like <a href="http://www.cubecartforums.org/"><font color="#0000ff">http://www.cubecartforums.org/</font></a>)<br />
7. Low cost, $180 only.<br />
8. Good number of alternate payment solutions, Shipping modules (<a href="http://www.cubecart.com/modules">http://www.cubecart.com/modules</a>)<br />
9. Web2.0 interface, But I am yet to see any Mashups.<o:p></o:p></span><span style="font-family: 'Georgia','serif'">We strongly recommend and teach the importance of SEO for customers who wants us to build Ecommerce sites, as any online business should consider SEO as their primary marketing channel &#8211; Not just news paper ads, for long term business through online. Cubecart is one good choice to build SEO friendly Ecommerce sites that supports online marketing.<o:p></o:p></span></p>


<!-- Begin TwitThis script (http://twitthis.com/) -->
<div style="text-align:left;">
<script type="text/javascript" src="http://s3.chuug.com/chuug.twitthis.scripts/twitthis.js"></script>
<script type="text/javascript">
<!--
document.write('<a href="javascript:;" onclick="TwitThis.pop();"><img src="http://s3.chuug.com/chuug.twitthis.resources/twitthis_grey_72x22.gif" alt="TwitThis" style="border:none;" /></a>');
//-->
</script>
</div>
<!-- /End -->

]]></content:encoded>
			<wfw:commentRss>http://blog.macronimous.com/why-cubecart/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>4 SQL injection methods every PHP programmer should be aware of.</title>
		<link>http://blog.macronimous.com/4-sql-injection-methods-every-php-programmer-should-be-aware-of/</link>
		<comments>http://blog.macronimous.com/4-sql-injection-methods-every-php-programmer-should-be-aware-of/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 15:36:23 +0000</pubDate>
		<dc:creator>Macronimous</dc:creator>
				<category><![CDATA[4 series]]></category>
		<category><![CDATA[Databases]]></category>
		<category><![CDATA[PHP Programming]]></category>
		<category><![CDATA[web programming]]></category>
		<category><![CDATA[mySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[SQL Injection]]></category>

		<guid isPermaLink="false">http://blog.macronimous.com/4-sql-injection-methods-every-php-programmer-should-be-aware-of/</guid>
		<description><![CDATA[The Problem with all the codes is that the value is not sanitized before it will be sent as a query. All we need to make sure is that we passing the secure data into database. We can send secure data and prevent the data hacking by following the four prime SQL injection methods
Function mysql_real_escape_string()Â :
In [...]]]></description>
			<content:encoded><![CDATA[<p>The Problem with all the codes is that the value is not sanitized before it will be sent as a query. All we need to make sure is that we passing the secure data into database. We can send secure data and prevent the data hacking by following the four prime SQL injection methods</p>
<p><strong>Function mysql_real_escape_string()</strong>Â :</p>
<p>In php, we have a function to deal with strings in MYSQL. (Modified Content)</p>
<p><strong>Function:<br />
</strong><em>mysql_real_escape_string()</em></p>
<p>Above function seize the string that will be used in the MYSQL query and return the same string with all SQL Injection attempts securely escaped. Above functions will assist to replace each troublesome quotes in SQL Injection query with &#8220;backslash \&#8221;</p>
<p><strong>Magic Quotes:</strong></p>
<p>Magic quotes will helps to escape from risky form data that is used in SQL Injection. It will automatically include &#8220;backslash \â€ for each special characters in SQL Injection query submitted.</p>
<p>Function to check whether Magic quotes are enabled on server is<br />
&#8220;get_magic_quotes_gpc function&#8221;</p>
<p>Example:<br />
After adding magic quotes<br />
TheÂ Â  \Â  becomesÂ  \\<br />
TheÂ Â  &#8216;Â  becomesÂ  \&#8217;<br />
TheÂ Â  &#8220;Â  becomesÂ  \&#8221;</p>
<p><strong>HTML Entities:</strong></p>
<p>HTML Entities function translates all applicable characters to HTML Entities and returns the encoded string.</p>
<p>Function used to translate is,</p>
<p><em>string htmlentities ( string $string [, int $quote_style=ENT_COMPAT [, string $charset [, bool $double_encode=true ]]] )</em></p>
<p>Example:Â </p>
<blockquote><p>Â <em>&lt;?php $str = &#8220;A &#8216;quote&#8217; is &lt;b&gt;bold&lt;/b&gt;&#8221;;</em></p></blockquote>
<p>// Outputs: A &#8216;quote&#8217; is &amp;lt;b&amp;gt;bold&amp;lt;/b&amp;gt;<br />
echo htmlentities($str);</p>
<p><strong>Validation:</strong></p>
<p><em>Length Validation:</em> Hamper of all the input fields in the application to the absolute minimum (7 to 15 characters). This will helps to block long queries input.<br />
<em>Input Validation:</em> Validate the data entered in the input field. For eg. Age field should accept only number and only 2 digits are allowed.<br />
<em>User Privileges:</em>Â  Create â€œAdmin userâ€ for each database and provide â€œcreate, drop and edit â€ tables privileges only to the â€œadmin user â€œ</p>


<!-- Begin TwitThis script (http://twitthis.com/) -->
<div style="text-align:left;">
<script type="text/javascript" src="http://s3.chuug.com/chuug.twitthis.scripts/twitthis.js"></script>
<script type="text/javascript">
<!--
document.write('<a href="javascript:;" onclick="TwitThis.pop();"><img src="http://s3.chuug.com/chuug.twitthis.resources/twitthis_grey_72x22.gif" alt="TwitThis" style="border:none;" /></a>');
//-->
</script>
</div>
<!-- /End -->

]]></content:encoded>
			<wfw:commentRss>http://blog.macronimous.com/4-sql-injection-methods-every-php-programmer-should-be-aware-of/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
