PHP Application Development with NetBeans : Beginner's Guide
, by Tonu, M. A. Hossain- ISBN: 9781849515801 | 1849515808
- Cover: Paperback
- Copyright: 8/31/2012
Preface | p. 1 |
Setting up your Development Environment | p. 7 |
Why NetBeans for PHP application development? | p. 8 |
Recommended system requirements | p. 9 |
Downloading the NetBeans IDE | p. 10 |
Time for action - downloading the NetBeans IDE | p. 10 |
Installing NetBeans | p. 12 |
Time for action - installing NetBeans step by step | p. 13 |
Setting up your development environment in Windows | p. 18 |
Time for action - installing XAMPP in Windows | p. 18 |
Setting up your development environment in the Ubuntu desktop | p. 21 |
Time for action - installing LAMP on the Ubuntu desktop | p. 21 |
Setting up your development environment in Mac OS X | p. 25 |
Time for action - installing MAMP in Mac OS X | p. 26 |
Creating a NetBeans PHP project | p. 30 |
Time for action - creating a NetBeans PHP project | p. 31 |
Summary | p. 36 |
Boosting Your Coding Productivity with the PHP Editor | p. 37 |
Familiarizing yourself with the base IDE features | p. 38 |
Exploring the editor for PHP | p. 45 |
Exploring more with the editor | p. 53 |
Using rename refactoring and instant rename | p. 53 |
Using code completion | p. 56 |
Using the code generator | p. 63 |
Summary | p. 66 |
Building a Facebook-like Status Poster using NetBeans | p. 67 |
Planning the project | p. 67 |
Understanding JSON - JavaScript Object Notation | p. 69 |
Introducing jQuery - the definitive JavaScript library | p. 70 |
Understanding AJAX - asynchronous JavaScript and XML | p. 71 |
Introducing jQuery.ajax() | p. 71 |
Introducing PHP Data Objects (PDO) | p. 72 |
Creating the NetBeans PHP project | p. 72 |
Creating the status stream display list | p. 73 |
Setting up the database server | p. 73 |
Time for action - connecting with MySQL database server | p. 73 |
Creating the database and table | p. 74 |
Time for action - creating MySQL database and table | p. 75 |
Inserting sample rows into the table | p. 78 |
Adding sample user image files | p. 79 |
Creating the StatusPoster PHP class | p. 79 |
Time for action - creating a class, adding a constructor, and creating methods | p. 80 |
Firing the user interface for displaying the status list | p. 85 |
Time for action - adding CSS support to the document | p. 85 |
Time for action - adding jQuery support and custom JS library | p. 89 |
Time for action - showing the status list | p. 92 |
Hatching out the status poster using PHP-AJAX | p. 96 |
Time for action-adding the status input box to the interface | p. 97 |
Adding new status post template to index.php | p. 99 |
Creating the AJAX status poster | p. 99 |
Time for action - creating status poster using JQuery AJAX | p. 100 |
Working with StatusPoster.php again | p. 103 |
Adding AJAX responder code to index.php | p. 104 |
Testing the usability of the status poster | p. 105 |
Summary | p. 108 |
Debugging and Testing using NetBeans | p. 109 |
Debugging - the ancient art of programming | p. 109 |
Debugging PHP source code with XDebug | p. 110 |
Configuring XDebug | p. 110 |
Time for action - installing XDebug on Windows | p. 111 |
Enabling XDebug on Ubuntu | p. 113 |
Time for action - installing XDebug on Ubuntu | p. 113 |
Enabling XDebug on Mac OS X | p. 114 |
Debugging the PHP source with NetBeans | p. 115 |
The debugger windows | p. 116 |
Basic debugging workflow | p. 117 |
Time for action - running a debugging session | p. 117 |
Adding Watches | p. 122 |
Time for action - adding the expression to watch | p. 122 |
Testing with PHPU nit | p. 125 |
Configuring PHPUnit | p. 125 |
Time for action - installing PHPUnit via PEAR | p. 125 |
Creating and running PHPUnit tests | p. 129 |
Time for action - testing with PHPUnit | p. 129 |
Dealing with code coverage with PHPUnit | p. 132 |
Time for action - using code coverage | p. 132 |
Testing using the Selenium framework | p. 135 |
Time for action - running tests with Selenium | p. 136 |
Summary | p. 139 |
Using Code Documentation | p. 141 |
Writing great documentation | p. 141 |
PHPDoc - commenting standard for PHP | p. 142 |
Example of a DocBlock | p. 142 |
Acquainting with PHPDoc tags | p. 143 |
Data type tags | p. 144 |
Legal tags | p. 144 |
Versioning tags | p. 144 |
Other tags | p. 145 |
Documenting the source code | p. 145 |
Documenting the functions and methods | p. 145 |
Time for action-documenting a PHP function or method | p. 146 |
Documenting classes | p. 149 |
Time for action - documenting the PHP class and class variables | p. 149 |
Documenting TODO tasks | p. 153 |
Time for action - using $todo tags | p. 153 |
Documenting the API | p. 155 |
Configuring ApiGen | p. 155 |
Time for action - installing ApiGen and configuring it with NetBeans | p. 156 |
Generating API documentation | p. 157 |
Time for action - generating documentation using ApiGen | p. 158 |
Summary | p. 163 |
Understanding Git, the NetBeans Way | p. 165 |
Version control system | p. 166 |
Distributed version control | p. 168 |
Git - the fast and distributed version control system | p. 169 |
Understanding Git, the NetBeans way | p. 170 |
Initializing a Git repository | p. 170 |
Time for action - initializing a Git repository | p. 170 |
Cloning a Git repository | p. 172 |
Time for action - cloning a Git repository from GitHub via the SSH protocol | p. 173 |
Staging files to a Git repository | p. 177 |
Time for action - staging files to a Git repository | p. 177 |
Viewing changes in the source editor | p. 180 |
Git window | p. 180 |
Committing changes to the repository | p. 181 |
Time for action - committing changes to the local repository | p. 181 |
Comparing file revisions | p. 182 |
Time for action - using diff from the IDE | p. 182 |
Reverting the local changes of the repository | p. 183 |
Time for action - reverting changes of the working tree | p. 184 |
Working with remote repositories | p. 186 |
Fetching source code updates | p. 186 |
Time for action - fetching source code updates | p. 186 |
Pulling updates from the remote repository | p. 187 |
Time for action - pulling updates from the remote repository | p. 187 |
Pushing source code changes to a remote repository | p. 188 |
Time for action - pushing source code changes | p. 189 |
Working with branches | p. 190 |
Creating a branch | p. 191 |
Time for action - creating a branch | p. 191 |
Checking out a branch | p. 192 |
Time for action - checking out a branch | p. 192 |
Switching to a branch | p. 194 |
Checking out files | p. 195 |
Merging | p. 195 |
Time for action - merging into current branch | p. 196 |
Deleting a branch | p. 197 |
Good practices and workflow | p. 198 |
Summary | p. 199 |
Building User Registration. Login, and Logout | p. 201 |
Planning the project | p. 202 |
Understanding the application architecture | p. 202 |
Understanding the DAO pattern | p. 205 |
Reviewing OOP issues | p. 205 |
Namespace | p. 206 |
The API | p. 207 |
Designing the database | p. 207 |
Creating the data access layer | p. 208 |
Creating the BaseDao abstract class | p. 208 |
Time for action - creating the BaseDao class | p. 208 |
Creating the User DAO class | p. 210 |
Time for action - creating the User Dao class | p. 211 |
Creating the Service layer | p. 216 |
Creating the ValidatorService class | p. 216 |
Time for action - creating the ValidatorService class | p. 216 |
Creating the UserService class | p. 223 |
Time for action - creating the UserService class | p. 224 |
Building the application | p. 233 |
Time for action - creating the user application | p. 233 |
Creating the user interface | p. 237 |
Time for action - creating the user interface | p. 237 |
Summary | p. 247 |
Introducing Symfony2 Support in NetBeans 7.2 | p. 249 |
Downloading and integrating the latest Symfony Standard Edition | p. 249 |
Time for action - integrating Symfony2 with NetBeans | p. 249 |
Creating a new Symfony2 project | p. 250 |
Time for action - creating a Symfony2 project using NetBeans | p. 250 |
Running Symfony2 console commands inside NetBeans | p. 254 |
Creating a bundle | p. 254 |
Time for action - creating a bundle using the Symfony2 console command | p. 255 |
NetBeans Keyboard Shortcuts | p. 259 |
File menu | p. 259 |
Edit menu | p. 259 |
View menu | p. 260 |
Navigate menu | p. 261 |
Source menu | p. 262 |
Refactor menu | p. 263 |
Run menu | p. 263 |
Debug menu | p. 263 |
Window menu | p. 264 |
Scrolling and selecting | p. 266 |
Modifying text | p. 266 |
Code folding | p. 266 |
Searching for text | p. 267 |
Setting tabs | p. 267 |
Pop Quiz Answers | p. 269 |
Boosting your Coding Productivity with the PHP Editor | p. 269 |
Building a Facebook-like Status Poster using NetBeans | p. 270 |
Debugging and Testing using NetBeans | p. 271 |
Using Code Documentation | p. 272 |
Understanding Git, the NetBeans way | p. 272 |
Index | p. 275 |
Table of Contents provided by Ingram. All Rights Reserved. |
The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.
The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.
Digital License
You are licensing a digital product for a set duration. Durations are set forth in the product description, with "Lifetime" typically meaning five (5) years of online access and permanent download to a supported device. All licenses are non-transferable.
More details can be found here.