<html>
    <head>
        <title>PHP and HTML5 Learning Trail - NetBeans IDE Tutorials, Guides and Articles</title>
        <meta name="description" CONTENT="Collection of resources for programming PHP
              applications in NetBeans IDE">
        <meta http-equiv="content-type" content="text/html; charset=utf-8">
        <link rel="stylesheet" type="text/css" href="../../../netbeans.css">

    </head>

    <body>
        <h1>Netbeans IDE 7.3 PHP and HTML5 Documentation</h1>
        <h4>Developing PHP Applications In NetBeans IDE</h4>
        <p>Below are resources for using NetBeans IDE 7.3 to develop PHP and HTML5 applications.
            </p>
        <p>For additional information about NetBeans 7.3, see <a href="../../../community/releases/73/index.html" title="NetBeans 7.3 Release Information">NetBeans IDE 7.3 Release Information</a> and <a href="../index.html" title="NetBeans IDE 7.3 Documentation">NetBeans IDE 7.3 Documentation</a>.</p>
        <p>For a list of documentation for the current release, see the <a href="../../trails/php.html">PHP and HTML5 Learning Trail</a>.</p>

        <table class="full-width">
            <tbody>
                <tr>
                    <td width="50%" class="valign-top">

                        <!-- here is the box header -->
                        <h2>Getting Started<a name="start-netbeans"></a></h2>

                        <ul>
                            <li><a href="../../docs/webclient/html5-gettingstarted.html">Getting Started with HTML5 Applications</a></li>
                            <li><a href="../../docs/php/quickstart.html">NetBeans IDE PHP Quick Start Tutorial</a></li>
                            <li><a href="../../docs/php/project-setup.html">Setting Up a PHP Project</a></li>
                            <li><a href="../../74/php/editorguide.html">NetBeans IDE for PHP Editor: Brief Overview</a></li>
                            <li><a href="../../docs/php/ajax-quickstart.html">Introduction to Ajax</a></li>
                        </ul>



                        <h2>Tutorials and Articles</h2>

                        <p class="orange bold" >HTML5 and JavaScript Project Development</p>

                                <ul class="b-bottom-dashed">
                                    <li><a href="../webclient/html5-editing-css.html">Working with CSS Stylesheets in HTML5 Applications</a></li>
                                    <li><a href="../webclient/html5-js-support.html">Debugging and Testing JavaScript in HTML5 Applications</a></li>
                                    <li><a href="../ide/javascript-editor.html">Editing JavaScript</a></li>
                                    <li><a href="../../docs/web/js-toolkits-jquery.html">Using jQuery to Enhance the Appearance and Usability of a Web Page</a></li>
                                    <li><a href="../../docs/web/js-toolkits-dojo.html">Connecting a Dojo Tree to an ArrayList using JSON</a></li>
                                </ul>
                        <p class="orange bold" >Configuring Your Environment for PHP Development<a name="configuration"></a></p>

                        <ul>
                            <li><a href="../../docs/php/configure-php-environment-windows.html">Configuring the Environment in Windows</a></li>
                            <li><a href="../../docs/ide/install-and-configure-mysql-server.html">Configuring the MySQL Database Server in Windows</a> </li>

                            <li><a href="../../docs/php/configure-php-environment-ubuntu.html">Configuring the Environment in Linux Ubuntu Distribution</a></li>
                            <li><a href="../../docs/php/configure-php-environment-mac-os.html">Configuring the Environment in Mac OS X</a></li>

                        </ul>
                        <p class="orange bold">Testing and Debugging</p>
                        <ul><li><a href="../../docs/php/debugging.html">Debugging PHP Source Code in the NetBeans IDE</a> </li>
                            <li><a href="../../docs/php/phpunit.html">Testing with PHPUnit and Selenium</a></li>
                            <li><a href="http://blogs.oracle.com/netbeansphp/entry/path_mapping_in_php_debugger">NetBeans for PHP Blog: Path Mapping for Remote Debugging</a></li>
                        </ul>
                        <p class="orange bold">Frameworks</p>
                        <ul>
                            <li><a href="http://st-curriculum.oracle.com/obe/db/11g/r2/prod/appdev/opensrclang/phphol2010_webapp/php_webapp.htm" >Developing a Zend Framework Application With Oracle Database 11g and NetBeans IDE</a></li>
                            <li><a href="http://www.tiplite.com/cakephp-support-in-netbeans/">TipLite blog: CakePHP Support in NetBeans</a> </li>
                            <li><a href="http://blogs.oracle.com/netbeansphp/entry/using_zend_framework_with_netbeans">NetBeans for PHP Blog: Using Zend Framework with NetBeans IDE</a></li>
                            <li><a href="http://www.mybelovedphp.com/2009/01/27/netbeans-revisited-code-completion-for-code-igniter-ii/">My Beloved PHP blog: Netbeans revisited: Code Completion for Code-igniter II</a></li>
                            <li><a href="http://www.mybelovedphp.com/2009/01/27/netbeans-code-completion-for-the-kohana-framework/">My Beloved PHP blog: Netbeans: Code Completion for the Kohana Framework</a></li> 
                            </ul>
                        <p class="orange bold">Creating a Database-Driven Application With PHP</p>

                        <ul>
                            <li><a href="../../docs/php/wish-list-tutorial-main-page.html">Main Page: Creating a CRUD Application with PHP</a></li>

                            <li><a href="../../docs/php/wish-list-lesson1.html">Part 1: Creating a MySQL Database</a></li>
                            <li><a href="../../docs/php/wish-list-lesson2.html">Part 2: Designing the Application. Reading from the Database</a></li>
                            <li><a href="../../docs/php/wish-list-lesson3.html">Part 3: Creating a New Application User</a></li>
                            <li><a href="../../docs/php/wish-list-lesson4.html">Part 4: Optimizing the Code</a></li>
                            <li><a href="../../docs/php/wish-list-lesson5.html">Part 5: Adding Security. Implementing Application User Logon</a></li>
                            <li><a href="../../docs/php/wish-list-lesson6.html">Part 6: Writing a New Entry Into the Database</a></li>
                            <li><a href="../../docs/php/wish-list-lesson7.html">Part 7: Updating and Deleting Entries In the Database</a></li>
                            <li><a href="../../docs/php/wish-list-lesson8.html">Part 8: Making the Application Look Better Using CSS</a></li>
                            <li><a href="../../docs/php/wish-list-lesson9.html">Part 9: Deploying the Application on a Remote Web Server</a></li>


                        </ul>
                        <p class="orange bold">General PHP Tutorials</p>
                        <ul>
                            <li><a href="../../docs/php/remote-hosting-and-ftp-account.html">Deploying a PHP Application on a Remote Web Server</a></li>                    
                            <li><a href="../../docs/php/code-templates.html">Code Templates in NetBeans IDE for PHP</a></li>
                        </ul>



                    </td>
                    <td width="50%" class="valign-top half-width">


                        <h2>Screencasts</h2>

                        <ul>
                            <li><a href="../../docs/php/screencast-smarty.html">Smarty Framework Support in NetBeans IDE for PHP</a></li>
                            <li><a href="../../docs/php/screencast-phpdoc.html">Generating PHP Documentation with NetBeans IDE</a></li>
                            <li><a href="../../docs/php/zend-framework-screencast.html">Screencast: Zend Framework Support in NetBeans IDE </a></li>
                            <li><a href="../../docs/php/namespace-code-completion-screencast.html">PHP Namespace Code Completion</a></li>
                            <li><a href="../../docs/php/flickr-screencast.html">Building a PHP Demo in Flickr</a></li>
                            <li><a href="../../docs/php/php-variables-screencast.html">Declaring Variables in Comments and Related Code Completion Features</a></li>
                        </ul>



                        <p class="orange bold">Community-Contributed Docs</p>

                        <ul>
                            <li><a href="http://netbeans.dzone.com/php-project-api-generator">DZone: APIGen Plugin: PHP Project API Generator</a> </li>

                            
                            <li><a href="http://wiki.netbeans.org/ConfiguringNetBeansProjectForWordPress">Configuring a NetBeans IDE Project for WordPress</a></li>
</ul>


                        <h2>Other Resources</h2>

                        <p class="orange bold">Online Magazine Articles</p>
                        <ul>
                            <li><a href="http://netbeans.dzone.com/news/generate-constructor-getters-a">NetBeans Zone: Generate Constructor, Getters and Setters in NetBeans PHP IDE</a></li>
                            <li><a href="http://netbeans.dzone.com/news/netbeans-project-specific-php-">NetBeans Zone: NetBeans Project-Specific PHP Interpreter</a></li>
                        </ul>
                        <p class="orange bold">The IDE, MySQL, and Versioning</p>
                        <ul>
                            <li><a href="../../../features/ide/index.html">Base IDE Features</a></li>
                            <li><a href="../../../kb/articles/mysql.html">MySQL and the NetBeans IDE</a></li>
                            <li><a href="../../../kb/docs/ide/mysql.html">Connecting to a MySQL Database</a></li>
                            <li><a href="../../../features/ide/collaboration.html">Version Control and Developer Collaboration</a></li>
                            <li><a href="http://nbdrupalsupport.dev.java.net/">NetBeans IDE Support for Drupal 6.x</a></li>
                        </ul>
                        <p class="orange bold">Weblogs</p>

                        <ul>
                            <li><a href="http://blogs.oracle.com/netbeansphp">NetBeans for PHP blog</a></li></ul>


                    </td>
                </tr>

            </tbody>
        </table>
 <p>If you are using NetBeans IDE 7.2, please see the <a href="../../72/php/index.html">NetBeans IDE 7.2 PHP Documentation Index</a>.</p>
    </body>
</html>
