blob: f39b648ee6f72b944c1d8d61d5507d37931192dd [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>NetBeans IDE - PHP Development</title>
<link rel="stylesheet" href="../../netbeans.css" type="text/css">
<link rel="stylesheet" type="text/css" href="../../features.css">
<meta name="description" content="NetBeans IDE - Integrated Tools for PHP Developers">
<meta http-equiv="content-language" content="en">
<meta name="author" content="Ruth Kusterer">
</head>
<body>
<h1>PHP Development</h1>
<p class="xintro">
<img src="../../images_www/v7/3/features/php/php-ide_top.png"
alt="PHP development in NetBeans IDE" class="box"><br>
</p>
<p class="intro">A dedicated PHP coding environment and complete integration
with web standards, with full support for HTML5, JavaScript, and CSS3
development, as described on the <a href="../html5/index.html">HTML5 Web Development Support</a> page.</p>
<span class="overview-right" id="im2"><img src="/images_www/v7/3/features/php/php-code-completion_small.png"></span>
<h2>Powerful PHP Source Code Editor</h2>
<p> The NetBeans PHP editor provides code templates and code generation tools, such
as "getter and setter" generation, refactoring, such as "instant rename", parameter
tooltips, hints, and quick fixes, and
smart code completion.
</p>
<p>Benefit from
syntactic and semantic code highlighting, pop-up documentation, code
formating and folding, marking of occurrences and exit points,
clever try/catch code completion, smart method parameter pre-filling,
and rectangular selection.
</p>
<div class="line">&nbsp;</div>
<span id="im1" class="overview-left"><img src="/images_www/v7/3/features/php/php-54-traitcc_small.png"></span>
<h2>PHP 5.6 Support </h2>
<p>NetBeans IDE for PHP offers a number of features specific to
developing with the latest features of PHP. </p>
<p>For example, in support of <a href="http://php.net/manual/en/migration56.new-features.php">PHP 5.6</a>,
the PHP editor supports variadic functions. For example, in
support of <a href="http://php.net/manual/en/migration55.new-features.php">PHP 5.5</a>, the PHP editor
provides support for the various new language features.
</p>
<p>For example, in support of PHP 5.4, you can set up your PHP project to run on PHP's
<a href="https://blogs.oracle.com/netbeansphp/entry/php_5_4_support_built">built-in web server</a>. The IDE's PHP code completion supports PHP 5.4
array styles such as <a href="https://blogs.oracle.com/netbeansphp/entry/php_5_4_support_array">array dereferencing</a> and
<a href="https://blogs.oracle.com/netbeansphp/entry/php_5_4_support_short">short array syntax</a>.
NetBeans IDE also recognizes <a href="https://blogs.oracle.com/netbeansphp/entry/php_5_4_support_traits">Traits</a> and <a href="https://blogs.oracle.com/netbeansphp/entry/php_5_4_support_anonymous">anonymous object variables</a> (also called &quot;fluent instantiation&quot;). Finally, NetBeans IDE includes <a href="https://blogs.oracle.com/netbeansphp/entry/php_5_4_support_minor">minor features</a> such as callable type hints, binary notation for integers, and <code>Class::{expr}()</code> invocation.</p>
<div class="line">&nbsp;</div>
<span id="im1" class="overview-right"><img src="/images_www/v7/3/features/php/frameworks.png"></span>
<h2>Web Frameworks</h2>
<p>NetBeans IDE supports the following popular web frameworks:
<ul>
<li><a href="http://framework.zend.com/">Zend Framework</a>
(<a href="https://netbeans.org/kb/docs/php/zend-framework-screencast.html">screencast</a>)</li>
<li><a href="http://symfony.com/">Symfony2 Framework</a></li>
<li><a href="http://symfony.com/legacy">Symfony1 Framework</a>
(<a href="https://netbeans.org/kb/docs/php/symfony-screencast.html">screencast</a>)</li>
</ul>
<p>Create new PHP projects with these frameworks, run framework commands, navigate from
controllers (actions) to views, use framework annotations and code completion in the editor,
and customize settings.</p>
<div class="line">&nbsp;</div>
<span id="im3" class="overview-left"><img src="/images_www/v7/3/features/ide-collaboration-hudson-cut.png"></span>
<h2>Continuous Integration Support </h2>
<p>NetBeans IDE for PHP has support for continuous integration. Continuous integration is a software
development practice involving version control and a specialized server. The specialized server
runs scheduled PHPUnit and Code Coverage tests on the software.</p>
<p>Test results are associated with version control information, so that developers can identify bugs
they introduce to the software quickly and easily. The IDE uses&nbsp;<a title="Jenkins PHP job template" target="_blank" href="http://jenkins-php.org/">Template for Jenkins Jobs for PHP Projects</a>, which must be set up with the necessary plugins and tools on the integration server.<br/><br/>
<a href="https://netbeans.org/kb/docs/php/screencast-continuous-builds.html" class="arr-link">Support for PHP on Continuous Build Servers</a></p>
<div class="line">&nbsp;</div>
<span id="im3" class="overview-right"><img src="/images_www/v7/3/features/php/php-project.png"></span>
<h2>PHP Projects</h2>
<p> The NetBeans project offers a version of the IDE tailor-made for developing PHP web sites that comprise a variety of scripting and mark-up languages. The PHP editor is dynamically integrated with HTML, JavaScript and CSS editing features.</p>
<p> Focus on the code and speed up code scanning by excluding individual directories in the Project properties. The NetBeans IDE fully supports iterative development, so testing PHP projects follows the classic patterns familiar to web developers.</p>
<div class="line">&nbsp;</div>
<span id="im3" class="overview-left"><img src="/images_www/v7/3/features/php/php-debugger.png"></span>
<h2>Debugger</h2>
<p>
Debug PHP code using Xdebug: You can inspect local variables, set watches, set breakpoints, and evaluate code live. Navigate to declarations, types and files using Go To shortcuts and hypertext links. Use a global PHP include path for all projects or customize it per project.
</p><p>
The NetBeans IDE for PHP also offers command-line debugging: The PHP program output appears in a command line display in the IDE itself and you can inspect the generated HTML without having to switch to a browser.
</p><p>
You can debug scripts and web pages, either locally or remotely. The NetBeans PHP debugger integration allows you to map server paths to local paths to enable remote debugging.
</p>
<h2>See Also</h2>
<ul class="bigger">
<li><a href="/community/releases/81/index.html">NetBeans IDE 8.1 Release Page</a> for a list of specific features in the latest stable release.</li>
<li><a href="../../kb/trails/php.html">PHP and HTML5 Learning Trail</a> for tutorials that will help you get started.</li>
</ul>
</body>
</html>