Click here to Skip to main content
15,887,746 members
Articles / All Topics

Getting started with Zend 2 – “Hello World” Part-1

Rate me:
Please Sign up or sign in to vote.
5.00/5 (2 votes)
10 Oct 2014CPOL 10.6K   3   3
Hi all, in my last blog I explained how to “Install Zend framework 2 in Linux”. Now, I am try to explaining how we can write code in Zend Framework 2. After installing Zend Framework 2, Project folder structure will look like below Now, we need to modify 3 files in setting. 1.

Hi all, in my last blog I explained how to “Install Zend framework 2 in Linux”.
Now, I am try to explaining how we can write code in Zend Framework 2.

After installing Zend Framework 2, Project folder structure will look like below

zf2-demo
|--config
|  |--aplication.config.php
|  |--autoload
|     |--global.php
|--module
|  |--Application
|     |--config
|     |  |--module.config.php
|     |--src
|     |  |--Application
|     |     |--Controller
|     |        |--IndexController.php
|     |--view
|     |  |--application
|     |     |--index
|     |     |  |-index.phtml
|     |     |--error
|     |     |  |--404.phtml
|     |     |  |--index.phtml
|     |     |--layout
|     |     |  |--layout.phtml
|     |--autoload_classmap.php
|     |--Module.php
|--public
|  |--.htaccess
|  |--index.php
|  |--css
|  |--js
|  |--img
|--vendor
|  |--autoload.php
|  |--bin
|  |--composer
|  |--zendframework
|--composer.json
|--composer.lock 

Now, we need to modify 3 files in setting.
1. zf2-demo/public/.htaccess (if not present create it)
2. zf2-demo/public/.index.php
3. zf2-demo/config/application.config.php

Open first file i.e .htaccess in terminal (ctrl+alt+t)

sudo vim zf2-demo/public/.htaccess

Now, overwrite .htaccess file with following code :-

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

Save it and open index.php and overwrite with following code:-

<?php
chdir(dirname(__DIR__));

// Setup autoloading
require 'init_autoloader.php';

// Run the application!
Zend\Mvc\Application::init(require 'config/application.config.php')->run();

Save it and open config/application.config.php and overwrite following code :-

<?php
return array(
    'modules' => array(
        'Application'
    ),
    'module_listener_options' => array(
        'config_glob_paths'    => array(
            'config/autoload/{,*.}{global,local}.php',
        ),
        'module_paths' => array(
            './module',
            './vendor',
        ),
    ),
);

Check for local.php and global.php
if they don’t exist create them as shown above in folder structure with
following code.

<?php
return [
];

That’s all for setting up, now we need to write code for Module.
Open module/Application/config/module.config.php and write the following code.

<?php
return [
    'router'    => [
        'routes' => [
            'home' => [
                'type'      => 'Literal',
                'options'   => [
                    'route'     => '/',
                    'defaults'  => [
                        '__NAMESPACE__' => 'Application\Controller',
                        'controller'    => 'Index',
                        'action'        => 'index',
                    ],
                ],
            ],
        ],
    ],
    'navigation' => [
        'default' => [
            'home' => [
                'label' => 'Home',
                'route' => 'home'
            ],
        ],
    ],
    'view_manager'  => [
        'doctype'                   => 'HTML5',
        'display_exceptions'        => true,
        'exception_template'        => 'error/index',
        'display_not_found_reason'  => true,
        'not_found_template'        => 'error/404',
        'template_map'              => [
            'layout/layout'           => __DIR__ . '/../view/layout/layout.phtml',
            'error/404'               => __DIR__ . '/../view/error/404.phtml',
            'error/index'             => __DIR__ . '/../view/error/index.phtml',
            'application/index/index' => __DIR__ . '/../view/application/index/index.phtml',
        ],
    ],
];

Now, we are done with the initial set-up of project using Zend Framework 2. In my next blog we will go through the actual code which will print “Hello World” for us, the reason we are reading this post.


License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer
India India
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
GeneralMy Vote 5 Pin
Shemeemsha (ഷെമീംഷ)30-Oct-14 19:52
Shemeemsha (ഷെമീംഷ)30-Oct-14 19:52 
Good Blog Smile | :) Smile | :) Thumbs Up | :thumbsup: Thumbs Up | :thumbsup: Thumbs Up | :thumbsup: Thumbs Up | :thumbsup: Thumbs Up | :thumbsup:
SuggestionServer Error is coming when i execute my programme via zend eclipse Pin
Member 1114569611-Oct-14 3:03
Member 1114569611-Oct-14 3:03 
GeneralRe: Server Error is coming when i execute my programme via zend eclipse Pin
19sanjeev11-Oct-14 7:43
professional19sanjeev11-Oct-14 7:43 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.