Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<ol> <li><p>A good framework.<br> PHP has many to choose from: <a href="http://framework.zend.com/" rel="noreferrer">Zend's</a>, <a href="http://solarphp.com/" rel="noreferrer">Solar</a>, <a href="http://cakephp.org/" rel="noreferrer">CakePHP</a>, <a href="http://www.symfony-project.org/" rel="noreferrer">Symfony</a>, <a href="http://kohanaphp.com/home" rel="noreferrer">Kohana</a>. A good framework will take of most of the tedious parts of application development, allowing you to spend more time on implementing project-specific domain logic. A framework will also help enforce a consistent coding style, usually has plenty of documentation and most are very well tested and stable overall.</p></li> <li><p>A good IDE.<br> For any serious developer a good IDE is a must. Project organization, directory navigation, code-completion and various useful extensions (for example, for file versioning systems) are all big productivity boosters. PHP has several good IDE's including <a href="http://www.zend.com/en/products/studio/" rel="noreferrer">Zend Studio</a> and <a href="http://www.eclipse.org/pdt/" rel="noreferrer">PDT for Eclipse</a>.</p></li> <li><p>Build system.<br> Build scripts are useful for automatic repetitive tasks such as setting directory/file permissions, SVN updates, running tests and so forth before moving a project between phases (dev / staging / production). I use mainly <a href="http://phing.info/trac/" rel="noreferrer">Phing</a> (an <a href="http://ant.apache.org/" rel="noreferrer">Ant</a> clone) for building and deploying projects.</p></li> <li><p>Profiling and debugging tools.<br> Those two needs are solved by same tool - <a href="http://www.xdebug.org/" rel="noreferrer">xdebug</a>, which offers improved debugging capabilities and can also generate <a href="http://kcachegrind.sourceforge.net/html/Home.html" rel="noreferrer">kcachegrind</a> reports for profiling your application. I then use <a href="http://code.google.com/p/webgrind/" rel="noreferrer">webgrind</a> to access those reports.</p></li> <li><p>Op-code cache.<br> PHP incurs a major performance hit from its run-time complilation scheme. <a href="http://en.wikipedia.org/wiki/PHP_accelerator" rel="noreferrer">Op-code caches</a> do wonders to improve on this by caching scripts in their compiled state, avoiding the overhead of compilation on cache hit. I use <a href="http://www.php.net/apc" rel="noreferrer">APC</a> as my op-code cache when I have the opportunity.</p></li> <li><p>Various open-source packages.<br> PHP being open-source as a language, has a long tradition of open-source development. There are many high-quality / useful packages for most common (and some uncommon) needs, which can save major development time. I've used <a href="http://wordpress.org/" rel="noreferrer">wordpress</a> and <a href="http://www.joomla.org/" rel="noreferrer">joomla</a> as blogging platforms, <a href="http://htmlpurifier.org/" rel="noreferrer">HTML Purifier</a> for sanitizing and validating HTML, <a href="http://code.google.com/p/minify/" rel="noreferrer">minify</a> for minifying and concatenating CSS and Javascript among others.</p></li> <li><p>Source file versioning.<br> A must regardless of programming language. I use <a href="http://subversion.tigris.org/" rel="noreferrer">SVN</a> with a <a href="http://tortoisesvn.tigris.org/" rel="noreferrer">tortoise</a> client (for windows).</p></li> </ol>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload