Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What's in your PHP toolset? [closed]

Tags:

php

devtools

Every PHP programmer likely uses at least some form of a template engine and a database abstraction layer, but apart from those what extras do you consider essential or would recommend your fellow programmers try out?

like image 745
Bemmu Avatar asked Nov 29 '08 20:11

Bemmu


1 Answers

  1. A good framework.
    PHP has many to choose from: Zend's, Solar, CakePHP, Symfony, Kohana. 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.

  2. A good IDE.
    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 Zend Studio and PDT for Eclipse.

  3. Build system.
    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 Phing (an Ant clone) for building and deploying projects.

  4. Profiling and debugging tools.
    Those two needs are solved by same tool - xdebug, which offers improved debugging capabilities and can also generate kcachegrind reports for profiling your application. I then use webgrind to access those reports.

  5. Op-code cache.
    PHP incurs a major performance hit from its run-time complilation scheme. Op-code caches do wonders to improve on this by caching scripts in their compiled state, avoiding the overhead of compilation on cache hit. I use APC as my op-code cache when I have the opportunity.

  6. Various open-source packages.
    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 wordpress and joomla as blogging platforms, HTML Purifier for sanitizing and validating HTML, minify for minifying and concatenating CSS and Javascript among others.

  7. Source file versioning.
    A must regardless of programming language. I use SVN with a tortoise client (for windows).

like image 127
Eran Galperin Avatar answered Sep 22 '22 02:09

Eran Galperin