// 
//     Licensed to the Apache Software Foundation (ASF) under one
//     or more contributor license agreements.  See the NOTICE file
//     distributed with this work for additional information
//     regarding copyright ownership.  The ASF licenses this file
//     to you under the Apache License, Version 2.0 (the
//     "License"); you may not use this file except in compliance
//     with the License.  You may obtain a copy of the License at
// 
//       http://www.apache.org/licenses/LICENSE-2.0
// 
//     Unless required by applicable law or agreed to in writing,
//     software distributed under the License is distributed on an
//     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
//     KIND, either express or implied.  See the License for the
//     specific language governing permissions and limitations
//     under the License.
//

= PHP and HTML5 Learning Trail
:jbake-type: tutorial
:jbake-tags: tutorials 
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: PHP and HTML5 Learning Trail - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, PHP and HTML5 Learning Trail

Below are some resources using the NetBeans IDE to develop PHP applications and HTML5 applications. NetBeans IDE support for these technologies is rapidly evolving. Please see the link:http://blogs.oracle.com/netbeansphp/[+NetBeans for PHP blog+] and link:https://blogs.oracle.com/netbeanswebclient/[+NetBeans WebClient blog+] for the latest information.

== Getting Started 

* link:../docs/webclient/html5-gettingstarted.html[+Getting Started with HTML5 Applications+]
* link:../docs/php/quickstart.html[+NetBeans IDE PHP Quick Start Tutorial+]
* link:../docs/php/project-setup.html[+Setting Up a PHP Project+]
* link:../../kb/docs/php/ajax-quickstart.html[+Introduction to Ajax in PHP Applications+]
* link:../docs/webclient/ojet-gettingstarted.html[+Getting Started with Oracle JET Applications+]
* link:../docs/webclient/cordova-gettingstarted.html[+Getting Started with Cordova Applications+]

== Tutorials and Articles

=== Basic Oracle JET Development

* link:../docs/webclient/ojet-settingup.html[+Setting Up an Oracle JET Application+]
* link:../docs/webclient/ojet-working.html[+Working with Oracle JET Applications+]
* link:../docs/webclient/ojet-cookbook.html[+Using the Oracle JET Cookbook+]
* link:../docs/webclient/ojet-databinding.html[+Using Data Bindings to Connect Components+]
* link:../docs/webclient/ojet-porting.html[+Porting an Application to Oracle JET+]
* link:../docs/webclient/ojet-gettingstarted.html[+Getting Started with Oracle JET in NetBeans IDE+]

=== Common Scenarios for Oracle JET Development

* link:../docs/webclient/ojet-intermodular.html[+Strategies for Intermodular Communication+]
* link:../docs/webclient/ojet-crud.html[+CRUD Application Development+]
* link:../docs/webclient/ojet-rest.html[+Interacting with RESTful Web Services+]
* link:../docs/webclient/ojet-cca.html[+Composite Component Architecture+]
* Oracle JET Mobile Development
* Error Handling and Validation
* link:../docs/webclient/ojet-flex.html[+CSS3 Flexible Box+]
* Theming
* Internationalization

=== HTML5 and JavaScript Project Development

* link:../docs/webclient/html5-editing-css.html[+Working with CSS Stylesheets in HTML5 Applications+]
* link:../docs/webclient/html5-js-support.html[+Debugging and Testing JavaScript in HTML5 Applications+]
* link:http://wiki.netbeans.org/HTML5[+HTML5 Support in NetBeans IDE wiki page+]
* link:../docs/web/js-toolkits-jquery.html[+Using jQuery to Enhance the Appearance and Usability of a Web Page+]
* link:../docs/web/js-toolkits-dojo.html[+Connecting a Dojo Tree to an ArrayList using JSON+]
* link:https://blogs.oracle.com/geertjan/entry/html5_front_end_for_an[+HTML5 Front End for an Existing Java EE Application+] (Geertjan's blog)

=== Configuring Your Environment for PHP Development

* link:../docs/php/configure-php-environment-windows.html[+Configuring the Environment in Windows+]
* link:../docs/ide/install-and-configure-mysql-server.html[+Configuring the MySQL Database Server in Windows+]
* link:../docs/php/configure-php-environment-ubuntu.html[+Configuring the Environment in Linux Ubuntu Distribution+]
* link:../docs/php/configure-php-environment-mac-os.html[+Configuring the Environment in Mac OS X+]
* link:http://wiki.netbeans.org/HowToConfigureXDebug[+How To Configure XDebug (Wiki)+]

=== Testing and Debugging

* link:../../kb/docs/php/debugging.html[+Debugging PHP Source Code in the NetBeans IDE+]
* link:../docs/php/phpunit.html[+Testing with PHPUnit and Selenium+]
* link:http://blogs.oracle.com/netbeansphp/entry/path_mapping_in_php_debugger[+NetBeans for PHP Blog: Path Mapping for Remote Debugging+]

=== Frameworks

* link:http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/oow10/php_webapp/php_webapp.htm[+Developing a Zend Framework Application With Oracle Database 11g and NetBeans IDE+]
* link:http://www.tiplite.com/cakephp-support-in-netbeans/[+TipLite blog: CakePHP Support in NetBeans+]
* link:http://blogs.oracle.com/netbeansphp/entry/using_zend_framework_with_netbeans[+NetBeans for PHP Blog: Using Zend Framework with NetBeans IDE+]
* link: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+]
* link: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+]
* See also: Symfony and Zend framework support documents in the Screencasts and Community Contributions sections.

== General PHP Tutorials

* link:../docs/php/code-templates.html[+Code Templates in NetBeans IDE for PHP+]
* link:../docs/php/remote-hosting-and-ftp-account.html[+Deploying a PHP Application on a Remote Web Server+]

=== Creating a Database Driven Application With PHP

* link:../docs/php/wish-list-tutorial-main-page.html[+Main Page: Creating a Database Driven Application With PHP+]
* link:../docs/php/wish-list-lesson1.html[+1a: Creating a MySQL Database+]
* link:../docs/php/wish-list-oracle-lesson1.html[+1b: Creating Oracle Database Tables+]
* link:../docs/php/wish-list-lesson2.html[+Part 2: Designing the Application. Reading from the Database+]
* link:../docs/php/wish-list-lesson3.html[+Part 3: Creating a New Application User+]
* link:../docs/php/wish-list-lesson4.html[+Part 4: Optimizing the Code+]
* link:../docs/php/wish-list-lesson5.html[+Part 5: Adding Security. Implementing Application User Logon+]
* link:../docs/php/wish-list-lesson6.html[+Part 6: Adding a New Wish to the Database+]
* link:../docs/php/wish-list-lesson7.html[+Part 7: Updating and Deleting Entries In the Database+]
* link:../docs/php/wish-list-lesson8.html[+Part 8: Making the Application Look Better Using CSS+]
* link:../docs/php/wish-list-lesson9.html[+Part 9: Deploying the Application on a Remote Web Server+]

== Screencasts

* (YouTube) link:https://www.youtube.com/watch?v=gIEBo2AUDkA[+Backbone.js Meets Java EE in Maven +]
* link:../docs/web/html5-cordova-screencast.html[+Getting Started with Cordova in NetBeans IDE+]
* link:../docs/webclient/html5-knockout-screencast.html[+Using KnockoutJS in an HTML5 Application+]
* link:../docs/web/html5-gettingstarted-screencast.html[+Getting Started with HTML5 Applications+]
* link:../docs/web/html5-css-screencast.html[+Working with CSS Stylesheets in HTML5 Applications+]
* link:../docs/web/html5-javascript-screencast.html[+Testing and Debugging JavaScript in HTML5 Applications+]
* (YouTube) link:http://www.youtube.com/watch?v=edw0js0hdEo[+HTML5, JavaScript &amp; CSS3 in NetBeans IDE +]
* (YouTube) link:http://www.youtube.com/watch?v=loSrdwuxgSI#![+From Database to HTML5 Backbone.js in 5 Minutes+]
* link:../docs/php/screencast-php54.html[+Editing PHP 5.4 with NetBeans IDE+]
* link:../docs/php/screencast-doctrine2.html[+Doctrine 2 Framework Support in NetBeans IDE for PHP+]
* link:../docs/php/screencast-continuous-builds.html[+Support for PHP on Continuous Build Servers+]
* link:../docs/php/screencast-apigen.html[+Generating PHP Documentation With NetBeans IDE+] (Now uses ApiGen instead of PHPDocumentor.)
* link:../docs/php/screencast-smarty.html[+Smarty Framework Support in NetBeans IDE for PHP+]
* link:../docs/php/screencast-rename-refactoring.html[+Rename Refactoring and Other Editor Improvements in NetBeans IDE 7.0 for PHP+]
* link:../docs/php/zend-framework-screencast.html[+Screencast: Zend Framework Support in NetBeans IDE +]
* link:../docs/php/namespace-code-completion-screencast.html[+PHP Namespace Code Completion+]
* link:../docs/php/flickr-screencast.html[+Building a PHP Demo in Flickr+]
* link:../docs/php/php-variables-screencast.html[+Declaring Variables in Comments and Related Code Completion Features+]

== Community-Contributed Docs

* link:http://netbeans.dzone.com/php-project-api-generator[+DZone: APIGen Plugin: PHP Project API Generator+]
* link:http://wiki.netbeans.org/NB68symfony[+Symfony on Windows in NetBeans 6.8+]
* link:http://wiki.netbeans.org/ConfiguringNetBeansProjectForWordPress[+Configuring a NetBeans IDE Project for WordPress+]

== Other Resources

=== _Developing Applications with NetBeans IDE_ User's Guide

* link:http://www.oracle.com/pls/topic/lookup?ctx=nb7400&id=NBDAG1532[+Developing PHP Applications+]
* link:http://www.oracle.com/pls/topic/lookup?ctx=nb7400&id=NBDAG1525[+Developing HTML5 Applications+]

=== Online Magazine Articles

* link:http://netbeans.dzone.com/news/generate-constructor-getters-a[+NetBeans Zone: Generate Constructor, Getters and Setters in NetBeans PHP IDE+]
* link:http://netbeans.dzone.com/news/netbeans-project-specific-php-[+NetBeans Zone: NetBeans Project-Specific PHP Interpreter+]
* link:http://jaxenter.com/from-database-to-restful-web-service-to-html5-in-10-minutes-46064.html[+Jax Magazine: From database to RESTful web service to HTML5 in 10 minutes+]

=== The IDE, Databases, and Versioning

* link:../docs/ide/oracle-db.html[+Connecting to Oracle Database+]
* link:../../features/ide/index.html[+Base IDE Features+]
* link:../articles/mysql.html[+MySQL and the NetBeans IDE+]
* link:../docs/ide/mysql.html[+Connecting to a MySQL Database+]
* link:../../features/ide/collaboration.html[+Version Control and Developer Collaboration+]
* link:http://nbdrupalsupport.dev.java.net/[+NetBeans IDE Support for Drupal 6.x+]

=== Weblogs

* link:http://blogs.oracle.com/netbeansphp/entry/configuring_a_netbeans_php_project#comments[+NetBeans for PHP blog+]
* link:https://blogs.oracle.com/netbeanswebclient/[+NetBeans Web Client blog+]

