PDT is an open source development tool that provides all the basic code editing capabilities for developers

The Eclipse Foundation has announced a major upgrade to the Eclipse PHP Development Tools (PDT) project. PDT is an open source development tool that provides all the basic code editing capabilities developers need to get started developing PHP applications. The focus of the PDT 2.0 release is to add support for the object-oriented programming features of PHP and to improve the overall user experience of the PDT environment.To support the object-oriented features of PHP, PDT 2.0 now includes:* Type Hierarchy view that navigates object-oriented PHP code faster and more easily.

* Type and method navigation that allows for easy searching of PHP code based on type information.

* Override indicators that visually tag PHP methods that have been overridden.Usability improvements to PDT 2.0 include:* A new indexing and caching engine, based on the Eclipse Dynamic Language Toolkit (DLTK), which significantly improves the overall performance of common PDT operations.

* A new Mark Occurrences indicator that makes it easier for developers to see where an element is referenced.

* A more sophisticated Code Assist feature that is smarter about providing code completion options based on PHP variable types.The enhancements provided by release 2.0 make PDT a compelling choice for anyone looking to build simple PHP applications. PDT 2.0 is also ideal for Java programmers who want to write PHP code by providing them with an environment similar to the Eclipse Java Development Tools (JDT) they are already familiar with."PDT is one of our most popular downloads at Eclipse," said Mike Milinkovich, executive director of the Eclipse Foundation. "Since the initial release it has been downloaded over 1 million times. Clearly PDT adoption has been very successful in the Eclipse and PHP communities."

"Release 2.0 demonstrates our continued commitment to the Eclipse community," said Andi Gutmans, co-founder and SVP of R&D and Alliances at Zend Technologies, contributor to the PDT project. "PDT is not only the premier open source PHP development tool, but is also the basis for Zend's commercial, professional-grade IDE for PHP, Zend Studio for Eclipse. Additionally, in order to further align with Eclipse, PDT will become part of the Eclipse Galileo simultaneous release."

28 percent of developers plan to use Google’s App Engine, while 15 percent plan to use Amazon’s services

SANTA CRUZ, USA: Forty percent of developers working on Open Source projects intend to provide their applications as web services offerings using Cloud providers, according to the latest Evans Data Open Source Development survey.

Of those who plan to use the cloud, the largest plurality, 28 percent, plan to use Google's App Engine, while 15 percent plan to use Amazon's services. Cloud services by other vendors, such as Microsoft, IBM, and Salesforce are not nearly as popular.

"As costs increase for power, staff and data center resources, more businesses are being attracted to the latest promise: moving more of the company's infrastructure and applications into a third-party provided cloud," stated John Andrews, president and CEO of Evans Data Corp. "Many companies are using this model to not only reduce infrastructure costs but simultaneously increase their computational capabilities."

Other highlights of this survey of over 360 developers involved with open source development and conducted in November 2008 include:

* Just over half (52 percent) use Linux in a virtualized environment.

* MySQL is still the open source database of choice with over half of developers using it in at least some of their projects. Two thirds use a SQL database, either open source or commercial, while only 10 percent use a relational database management system.

* One in five use the Flex programming language at least some of the time

As for other channels, more open source apps are distributed through OSS portals (30 percent) than any other way, but those who distribute their apps through mobile app stores are the most likely to be making money

PHP is one of the most widely used open-source server-side scripting languages that exist today. With over 20 million indexed domains using PHP, including major websites like Facebook, Digg and WordPress, there are good reasons why many Web developers prefer it to other server-side scripting languages, such as Python and Ruby.

PHP is faster (updated), and it is the most used scripting language in practice; it has detailed documentation, a huge community, numerous ready-to-use scripts and well-supported frameworks; and most importantly, it’s much easier to get started with PHP than with other scripting languages (Python, for example). That’s why it makes perfect sense to provide the huge community of PHP developers with an overview of useful tools and resources that can make their development process easier and more effective.

This post presents 50 useful PHP tools that can significantly improve your programming workflow. Among other things, you’ll find a plethora of libraries and classes that aid in debugging, testing, profiling and code-authoring in PHP.

Debugging Tools

WebgrindWebgrind is an Xdebug profiling Web front end in PHP 5. It implements a subset of the features of kcachegrind, installs in seconds and works on all platforms. For quick ‘n’ dirty optimizations, it does the job.

XdebugXdebug is one of the most popular debugging PHP extensions. It provides a ton of useful data to help you quickly find bugs in your source code. Xdebug plugs right into many of the most popular PHP applications, such as PHPEclipse and phpDesigner.

Gubed PHP DebuggerAs the name implies, Gubed PHP Debugger is a PHP debugging tool for hunting down logic errors.

DBGDBG is a robust and popular PHP debugger for use in local and remote PHP debugging. It plugs into numerous PHP IDE’s and can easily be used with the command line.

PHP_DebugPHP_Debug is an open-source project that gives you useful information about your PHP code that can be used for debugging. It can output processing times of your PHP and SQL, check the performance of particular code blocks and get variable dumps in graphical form, which is great if you need a more visual output than the one given to you by print_r() or var_dump().

PHP_DynPHP_Dyn is another excellent PHP debugging tool that’s open-source. You can trace execution and get an output of the argument and return values of your functions.

MacGDBpMacGDBp is a live PHP debugger application for the Mac OS. It has all the features you’d expect from a fully featured debugger, such as the ability to step through your code and set breakpoints.

Testing and Optimization Tools

PHPUnitPHPUnit is a complete port of the popular JUnit unit testing suite to PHP 5. It’s a tool that helps you test your Web application’s stability and scalability. Writing test cases within the PHPUnit framework is easy; here’s how to do it.

SimpleTestSimpleTest is a straightforward unit-testing platform for PHP applications. To get up and running with SimpleTest quickly, read through this pragmatic tutorial that shows you how to create a new test case.

SeleniumSelenium Remote Control (RC) is a test tool that allows you to write automated Web application UI tests in any programming language against any HTTP website using any mainstream JavaScript-enabled browser. It can be used in conjunction with PHPUnit to create and run automated tests within a Web browser.

PHP_CodeSnifferPHP_CodeSniffer is a PHP 5 script for detecting conformance to a predefined PHP coding standard. It’s a helpful tool for maintaining uniform coding styles for large projects and teams.

dBugdBug is ColdFusion’s cfDump for PHP. It’s a simple tool for outputting data tables that contain information about arrays, classes and objects, database resources and XML resources, making it very useful for debugging purposes.

PHP Profile ClassPHP Profile Class is an excellent PHP profiling tool for your Web applications. Using this class will help you quickly and easily gain insight into which parts of your app could use some refactoring and optimization.

Documentation Tools

phpDocumentorphpDocumentor (also known as phpdoc and phpdocu) is a documentation tool for your PHP source code. It has an innumerable amount of features, including the ability to output in HTML, PDF, CHM and XML DocBook formats, and has both a Web-based and command-line interface as well as source-code highlighting. To learn more about phpDocumentor, check out the online manual.

Security Tools

SecurimageSecurimage is a free, open-source PHP CAPTCHA script for generating complex images and CAPTCHA codes to protect forms from spam and abuse.

ScavengerScavenger is an open-source, real-time vulnerability management tool. It helps system administrators respond to vulnerability findings, track vulnerability findings and review accepted and false-positive answered vulnerabilities, without “nagging” them with old vulnerabilities.

Pixy: PHP Security ScannerPixy is a Java program that performs automatic scans of PHP 4 source code, aimed to detect XSS and SQL injection vulnerabilities. Pixy takes a PHP program as input and creates a report that lists possible vulnerable points in the program, along with additional information for understanding the vulnerability.

Image Manipulation and Graphs

PHP/SWF ChartsPHP/SWF Charts is a powerful PHP tool that enables you to create attractive Web charts and graphs from dynamic data. You can use PHP scripts to generate and gather data from databases, then pass it to this tool to generate Flash (SWF) charts and graphs.

pChart - a chart-drawing PHP librarypChart is a PHP class-oriented framework designed to create aliased charts. Most of today’s chart libraries have a cost; this one is free. Data can be retrieved from SQL queries or CSV files or can be manually provided.

WideImageWideImage is a PHP library for dynamic image manipulation and processing for PHP 5. To be able to use the library, you should have the GD PHP extension installed on your Web server.

MagickWand For PHPMagickWand For PHP is a PHP module suite for working with the ImageMagick API, which lets you create, compose and edit bitmap images. It’s a useful tool for quickly incorporating image-editing features in your PHP applications.

PHP Code Beautifier

PHPCodeBeautifierPHPCodeBeautifier is a tool that saves you from hours of reformatting code to suit your own way of presenting it. A GUI version allows you to process files visually; a command-line version can be batched or integrated with other tools (like CVS, SubVersion, IDE, etc.); and there is also an integrated tool of PHPEdit.

GeSHi - Generic Syntax HighlighterGeSHi is designed to be a simple but powerful highlighting class, with the goal of supporting a wide range of popular languages. Developers can easily add new languages for highlighting and define easily customizable output formats.

Version-Control Systems

PhingPhing is a popular project version-control system for PHP. It is a useful tool for organizing and maintaining different builds of your project.

Useful Extensions, Utilities and Classes

SimplePieSimplePie is a PHP class that helps you work with RSS feeds. Check out the online RSS and Atom feed reader, which demonstrates a simple Web application that uses SimplePie.

HTML PurifierHTML Purifier is a standards-compliant HTML filter library written in PHP. HTML Purifier not only removes all malicious code (better known as XSS) with a thoroughly audited, secure yet permissive white list, it also makes sure your documents are standards-compliant. Open source and highly customizable.

CreoleCreole is a database abstraction layer for PHP5. It abstracts PHP’s native database-specific API to create more portable code while also providing developers with a clean, fully object-oriented interface based loosely on the API for Java’s JDBC.

PHPLinqLINQ is a component that adds native data querying capabilities to PHP using a syntax reminiscent of SQL. It defines a set of query operators that can be used to query, project and filter data in arrays, enumerable classes, XML, relational databases and third-party data sources. [via]

PHPMathPublisherWith PhpMathPublisher, you can publish mathematical documents on the Web using only a PHP script (no LaTeX programs on the server and no MathML).

phpMyAdminIf you’re working with PHP, there’s a big chance you’re set up in a LAMP configuration. phpMyAdmin is Web-based tool for managing, building, importing, exporting and exploring MySQL databases.

PHPExcelPHPExcel is a set of useful PHP classes for working with Microsoft Excel files. PHPExcel allows you to read Excel files and write to them. This is useful for dynamically generating Excel spreadsheets for downloading.

PhormerPhormer is a PHP-based photo gallery management application that helps you to store, categorize and trim your photos online.

PHP User ClassPHP User Class is an excellent script that helps you create a system for user authentication (i.e. registration, log in, account profile, etc.). It’s a useful utility to have around if you require user registration for your Web applications.

PHP-GTKPHP-GTK is a PHP extension for the GTK+ toolkit (a robust toolkit for developing GUIs). It is a suite of useful OOP functions and classes to help you rapidly build cross-platform, client-side GUI’s for your application.

PHP Online Tools and Resources

Minify!Minify is a PHP 5 app that can combine multiple CSS or JavaScript files, compress their content (i.e. remove unnecessary white space and comments) and serve the results with HTTP encoding (via Gzip/deflate) and headers that allow optimal client-side caching. This will help you follow several of Yahoo!’s Rules for High Performance Websites.

gotAPI/PHPgotAPI is a useful online tool for quickly looking up PHP functions and classes. Also check out the Quick PHP look-up widget example in case you’d like to include this awesome look-up feature on your website.

koderskoders is a search engine for open-source and downloadable code. It currently has over a billion lines of code indexed and isn’t limited to just PHP.

PECLPECL is a directory of all known PHP extensions and a hosting facility for downloading and developing PHP extensions.

In-Browser Tools (Firefox Add-Ons)

FirePHPFirePHP is a Firefox extension that allows you to log data in Firebug. It has a variety of useful logging features, such as the ability to change your error and exception handling on the fly and to log errors directly to the Firebug console. To learn more about what FirePHP can do, check out the FirePHP guide on how to use FirePHP. For developers using the Zend PHP framework, you might find this guide on using FirePHP with Zend useful.

phpLangEditorphpLangEditor is a very handy Firefox add-on for translating language files and variables in your script.

PHP LookupPHP Lookup is a built-in search bar to help you quickly look up references to PHP syntax.

Frameworks for PHP

DwooDwoo is a PHP 5 template engine positioned as an alternative to Smarty. It is (nearly) fully compatible with its templates and plug-ins, but it is being written from scratch and is aimed to go one step further with a cleaner code base.

CodeIgniterCodeIgniter is a powerful, high-performance, open-source PHP framework that helps you author PHP applications rapidly. CodeIgniter is known for having a light footprint, thereby reducing your server’s work. You can get up and running with CodeIgniter in a jiffy: it has an awesome online manual, a couple of helpful video tutorials and an active user forum.

SolarSolar is a PHP 5 development framework for Web applications derived from the Savant templating engine. Solar uses the MVC architectural pattern and has a host of classes and functions for securing your Web app against SQL injection, cross-website scripting (XSS) and other common exploits.

symfonysymfony is an open-source PHP 5 Web application framework that is well known for its modularity and useful library of classes. To get up and running as fast as possible, you should check out the pragmatic symfony online tutorial called “The symfony 1.2 advent calendar tutorial,” which takes you through a step-by-step example of building your own symfony-based Web application.

PEAR - PHP Extension and Application RepositoryPEAR is a popular framework and distribution system for reusable PHP components. The purpose of the framework is to provide a structured library of open-source code for PHP users, a system for code distribution and package maintenance and a standard style for PHP code.

PropelPropel is an Object-Relational Mapping (ORM) framework for PHP 5. It allows you to access your database using a set of objects, providing a simple API for storing and retrieving data.

{{macro}} template engine{{macro}} compiles initial templates into executable PHP scripts with very clean syntax (much cleaner than WACT and Smarty) and executes them very fast. The engine doesn’t use an XML-like syntax; there are only two data scopes, global and local, and no more data sources (all data is displayed with regular PHP variables); and the system supports all WACT features such as templates wrapping and including.

Zend FrameworkThe Zend Framework by Zend Technologies (the creators of PHP’s scripting engine) is a popular PHP Web application framework that embraces the principles of PHP OOP; it’s very extensible and has built-in utilities for working with free Web service APIs, such as those of Google, Flickr and Amazon.

SAJAXSAJAX is a JavaScript and AJAX application framework that works well with PHP (as well as several other server-side scripting languages). See SAJAX at work by going to Wall live demonstration.

SmartySmarty is a popular PHP templating system to help you separate PHP logic and front-end code (HTML, CSS, JavaScript). It will keep your projects modular and easier to maintain.

CakePHPCakePHP is one of the leading PHP frameworks for creating robust, fully-featured Web applications. CakePHP has an extensive and well-organized online manual. If you want to learn via video tutorials, check out the CakePHP screencasts.

Savant2Savant2 is another popular object-oriented PHP templating system. Instead of a special syntax unique to Savant2, you use PHP syntax to develop your project’s template.

PHPSpecPHPSpec is a simple and intuitive PHP framework. It follows the Behavior-Driven Development principle and therefore allows you to write behavior-oriented code, oftentimes in plain English.

PHP IDEs and Editors

PHPEclipsePHPEclipse is a popular PHP source-code editor that is open source and runs on all the major operating systems, such as Windows, Linux and Mac OS. It has all the features you’d expect from a PHP source-code editor, such as code-folding, syntax highlighting, hover-over tool tips and support for XDebug and DBG.

PhpEDPhpED is an excellent IDE for Windows users. It is one of the most robust and feature-packed IDEs currently out on the market and has useful features such as a built-in source-code profiler to find bottlenecks in your PHP source code and excellent integration with third-party apps and services just as front-end code validation.

PDTPDT is a PHP Development Tools framework that’s part of the Eclipse project. PDT includes all the necessary tools for you to create PHP-based Web applications.

VS.PhpVS.Php is a PHP IDE for MS Visual Studio, making it a great IDE for recently converted ASP developers who have used MS VS to develop Web applications. To get you up and running ASAP with VS.Php, check out Jcx.Software’s online tutorials as well as its online documentation.

Cloud development platforms, mobile application development and the increasing acceptance of dynamic languages for Web development were among the top 10 stories in the world of software programming. With each passing year, software tools have become more sophisticated. While developers have more languages and tools to choose from than ever before.

1.Cloud development platforms bloom

Google App Engine, Microsoft Windows Azure, Amazon, Salesforce.com and others have entered into the cloud space in force. What must developers do to program to the cloud?

2. Microsoft gets serious about software modeling

Microsoft releases its "Oslo" modeling strategy, joins the Object Modeling Group and pledges support for UML. Microsoft long held an indifferent if not hostile view of the Unified Modeling Language, but has now done an about face and is supporting modeling big time, and supporting UML in the Visual Studio 2010 toolset.

3. Mobile app development gets huge

Android, Windows Mobile, iPhone, BlackBerry, Symbian, name your platform. Mobile app development is where the action is. The next step is making it easier to build apps that run on more than one platform.

4. Dynamic languages take off

PHP, Ruby, JavaScript, Python, et al, see mainstream use. Ruby is used in all kinds of social networking and Web 2.0 environments, however, taking shots for not being as scalable as some other languages. Meanwhile, PHP, Python and others see their use on the rise in the enterprise.

5. ECMAScript (JavaScript) 4 is tabled

ECMA was on track to release the next major version of the ECMAScript specification, but several members of the core working group looking at the issue said let's slow down and make things less complicated. ECMAScript is the standards embodiment of JavaScript, which is the lifeblood of browsers. Tabling ECMAScript 4 means companies like Microsoft can have more time to implement new standards into their browsers.

6. Multicore processors put pressure on application developers

With the advent of multicore systems, developers are being forced to write applications that support them. It means developers essentially have to rethink their development strategies and gear up for parallel environments. Companies such as Microsoft, Intel, IBM, Sun and others are looking at the issue.

7. Microsoft/Adobe rivalry heat up

With new versions of Silverlight and WPF, and Adobe Flash, AIR and "Thermo," Microsoft continues to encroach on Adobe's turf in the rich Internet application (RIA) space with Silverlight 2 and Windows Presentation Foundation. And into the designer/developer workflow arena with Microsoft Expression. However, Adobe continues to innovate, delivering Flash Player 10, a new version of Adobe AIR and its new "Thermo" design tool. Meanwhile, Sun enters the fray with JavaFX.

8. Planting the seeds of 'development as a service'

The Basecamp guys, 37 Signals, do a great job, but there's also Heroku, Bungee Connect and a few others: They've all done special cases of development or team collaboration. If someone were to come in and combine them all, it could be a pretty good (and modern) competitor to Visual Studio and WebSphere. It certainly portends a direction the industry should be taking toward hosted rather than on-premises servers.

9. OSGi (Open Services Gateway initiative) makes a big splash

Eclipse, NetBeans, the Spring Framework, Apache and others are looking to OSGi as the future of their Java deployment environments. Others see OSGi not only for deployment but for its programming model, which is starting to encroach on Java EE APIs.

10. The Spring Framework wins converts

Spring has become a leading player in enterprise Java because it helps to simplify development as opposed to Enterprise JavaBeans (EJBs) and J2EE (Java 2 Platform, Enterprise Edition) or Java EE (Java Enterprise Edition).

Web analytics is the process of gathering and analyzing your web content’s data in order to glean meaningful information about how your site is being utilized by your users. There are plenty of Web analytics applications out there, and you probably already know the big guns such as Google Analytics, Crazy Egg, and remote-site services such as Alexa and Compete.

We go off the trodden path and explore a few lesser-known Web analytics options. In this article, you’ll find 10 excellent and free tools and applications to help you gather and analyze data about your web content.

Piwik is an open-source Web analytics application developed using PHP and MySQL. It has a "plugins" system that allows for utmost extensibility and customization. Install only the plugins you need or go overboard and install them all – the choice is up to you. The plugins system, as you can imagine, also opens up possibilities for you to create your own custom extensions. This thing’s lightweight – the download’s only 1.9MB.

FireStats is a simple and straight-forward Web analytics application written in PHP/MySQL. It supports numerous platforms and set-ups including C# sites, Django sites, Drupal, Joomla!, WordPress, and several others. Are you a resourceful developer who needs moar cowbell? FireStats has an excellent API that will assist you in creating your own custom apps or publishing platform components (imagine: displaying the top 10 most downloaded files in your WordPress site) based on your FireStats data.

Snoop is a desktop-based application that runs on the Mac OS X and Windows XP/Vista platforms. It sits nicely on your system status bar/system tray, notifying you with audible sounds whenever something happens. Another outstanding Snoop feature is the Name Tags option which allows you to "tag" visitors for easier identification. So when Joe over at the accounting department visits your site, you’ll instantly know.

If you’re looking for a simple, server-side web application that doesn’t rely on third-party services to monitor your data, check out BBClone - a PHP-based server application that gives you a detailed overview of website traffic and visitor data. It supports language localization for 32 languages like English, Chinese, German, and Japanese. It easily integrates with popular publishing platforms like Drupal, WordPress, and Textpattern. Since it’s logfile-based, it doesn’t require you to use a server-side relational database.

Woopra is a Web analytics application written in Java. It’s split into two parts which includes a desktop application for data analysis/exploration and a web service to monitor website statistics. Woopra has a robust user interface, an intuitive management system that allows you to run it on multiple sites and domains, and even a chat feature so that you can gather non-numerical information by talking to your site users. Woopra is currently in beta and requires you to request for a private beta registration.

JAWStats is a server-based Web analytics application that runs with the popular AWStats (in fact, if you’re on a shared hosting plan - AWStats is probably already installed). JAWStats does two things to extend AWStats - it improves performance by reducing server resource usage and improves the user interface a little bit. With that said, you can’t go wrong with just using AWStats either if you’re happy with it.

A large part of Web analytics deals with number-crunching and numerical data. Raw numbers tells only part of the story and it’s often helpful to perform analytics by way of interacting with actual users. 4Q developer Avinash Kaushik puts it perfectly when he said: "Web analytics is good at the ‘What’. It is not good at the ‘Why’".4Q is a simple surveying application focused on improving your traditional numerical Web analytics by supplementing it with actual user feedback. Check out this YouTube video on how easy it is to set up 4Q.

MochiBot is a free Web analytics/tracking tool especially designed for Flash assets. With MochiBot, you can see who’s sharing your Flash content, how many times people view your content, as well as helping you track where your Flash content is to prevent piracy and content theft. Installing MochiBot is a breeze; you simply copy a few lines of ActionScript code in the .FLA files you want to monitor.

Grape Web Statistics is a simple, open-source application geared towards web developers. It has a clean and usable interface and has an Extensions API to extend and customize your installation. It uses PHP for the backend and you can run it on any operating system that runs PHP.