Moving on from Zend Framework 2 (here) it is time to install ZF3.

PHP  5.6 is a requirement therefore a new Xampp install is required.

Version: xampp-win32-5.6.28-1-VC11-installer.exe  (gives you 5.6.28)

Using Git Bash create the folder


then in this folder enter:

 composer create-project -n -sdev zendframework/skeleton-application

cp -r skeleton-application .

rm -Rf skeleton-application

for the skeleton application.

In c:\xampp\apache\conf\extra\httpd-vhosts.conf

add the lines

 DocumentRoot "C:/xampp/htdocs/zf3/public"
 ServerName zf3.localhost

In your hosts files add zf3.localhost

restart apache and

in the browser start http://zf3.localhost.

Alternatively on the command line enter

php -S localhost:8000

and in the browser start localhost:8000

zendframework/skeleton-application loads zend-mvc which is a set of just 14 components.


In c:\xampp\php\php.ini add the lines

zend_extension = C:/xampp/php/ext/php_xdebug.dll
xdebug.profiler_enable = 1
xdebug.profiler_output_dir = "C:\xampp\tmp"
xdebug.profiler_output_name = "cachegrind.out.%t-%s"

And restart Apache. php_xdebug.dll is the default file shipped with xampp.  The total number of function calls for the default “hello world” skeleton is 7325. Our previous measurement for ZF2 resulted in the number of 7711.

For Xdebug / Netbeans integration change the configuration to:

zend_extension = C:/xampp/php/ext/php_xdebug.dll
xdebug.idekey = netbeans-xdebug
xdebug.profiler_append = 0
xdebug.profiler_enable = 0
xdebug.profiler_enable_trigger = 0
xdebug.profiler_output_dir = "c:/xampp/tmp/xdebug"
xdebug.profiler_output_name = "cachegrind.out.%t-%s"
xdebug.remote_enable = 1
xdebug.remote_autostart = 0
xdebug.remote_connect_back = 0
xdebug.remote_host = ""
xdebug.remote_port = 9000
xdebug.remote_handler = "dbgp"
xdebug.remote_mode = req
xdebug.remote_log = "c:/xampp/tmp/xdebug/xdebug_remote.log"
xdebug.show_local_vars = 9
xdebug.trace_output_dir = "c:/xampp/tmp"

in the php.ini file.

In Netbeans go to tools >> options >> PHP

and enter

Debugger port: 9000

Session ID netbeans-xdebug

Tick the option “stop at first line”

Starting a debug session should open a tab in the browser with url


The debug toolbar can now be used to step over and into function calls