<pre><code>- Unit Testing
  - Mocking 
  - Inversion of Control
  - Refactoring
  - Object Relational Mapping
  - Others?
</code></pre>

<p>I have found <a href="http://www.lastcraft.com/simple_test.php" rel="nofollow noreferrer">simpletest</a> for unit testing and mocking and, though it leaves much to be desired, it kind-of sort of works.</p>

<p>I have yet to find any reasonable Inversion of Control framework (there is one that came up on phpclasses but no documentation and doesn't seem like anyone's tried it).</p>

[{'answer_id': 50428, 'author': 'Mike H', 'author_id': 4563, 'author_profile': 'https://Stackoverflow.com/users/4563', 'pm_score': 1, 'selected': False, 'text': '<p>Unit Testing - PHPUnit <a href="http://www.phpunit.de/" rel="nofollow noreferrer">phpunit.de</a></p>\n\n<p>ORM - Doctrine <a href="http://www.phpdoctrine.org/" rel="nofollow noreferrer">phpdoctrine.org</a>, Propel <a href="http://propel.phpdb.org/" rel="nofollow noreferrer">propel.phpdb.org</a></p>\n'}, {'answer_id': 50456, 'author': 'Community', 'author_id': -1, 'author_profile': 'https://Stackoverflow.com/users/-1', 'pm_score': 2, 'selected': False, 'text': '<p><a href="http://www.phpundercontrol.org/" rel="nofollow noreferrer">phpUnderControl</a> - continuous integration.</p>\n\n<p>Don\'t forget about version control (e.g. using <a href="http://www.nongnu.org/cvs/" rel="nofollow noreferrer">CVS</a> or <a href="http://subversion.tigris.org/" rel="nofollow noreferrer">Subversion</a>)!</p>\n'}, {'answer_id': 7967228, 'author': 'romaninsh', 'author_id': 204819, 'author_profile': 'https://Stackoverflow.com/users/204819', 'pm_score': 1, 'selected': False, 'text': '<p><a href="http://agiletoolkit.org/" rel="nofollow">Agile Toolkit</a> is a framework which focuses on Agile development values of producing software quickly then fine-tuning it.</p>\n'}]
['https://Stackoverflow.com/questions/50339', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/5056/']