• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Quick start on Zend Framework 2
 

Quick start on Zend Framework 2

on

  • 12,942 views

Talk presented at the Dutch PHP Conference 2012 in Amsterdam. Hands on the Zend Skeleton Application of ZF 2.0.0beta4

Talk presented at the Dutch PHP Conference 2012 in Amsterdam. Hands on the Zend Skeleton Application of ZF 2.0.0beta4

Statistics

Views

Total Views
12,942
Views on SlideShare
12,180
Embed Views
762

Actions

Likes
12
Downloads
205
Comments
0

12 Embeds 762

http://avnpc.com 274
http://devzone.zend.com 263
http://mkfmn.com 125
http://feeds.feedburner.com 62
http://karim.byethost5.com 20
http://reader.code-laboratory.com 8
http://www.php-talks.com 3
https://twitter.com 2
http://www.php-source-code.com 2
http://developersarena.com 1
http://www.linkedin.com 1
http://mail.riky.net 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Quick start on Zend Framework 2 Quick start on Zend Framework 2 Presentation Transcript

    • A quick start onZend Framework 2by Enrico Zimuel (enrico@zend.com)Senior Software EngineerZend Framework Core TeamZend Technologies Ltd © All rights reserved. Zend Technologies, Inc.
    • About me • Enrico Zimuel (@ezimuel) • Software Engineer since 1996 – Assembly x86, C/C++, Java, Perl, PHP • PHP Engineer at Zend Technologies in @ezimuel the Zend Framework Team enrico@zend.com • International speaker on PHP and computer security topics www.zimuel.it • Researcher programmer at Informatics Institute of University of Amsterdam • Co-founder of the PUG Torino (Italy) © All rights reserved. Zend Technologies, Inc.
    • ZF2 in a slide● New architecture ▶ MVC, Di, Events, Service, Module● Better performance● Requirement: PHP 5.3.3● No more CLA (Contributor License Agreement)● Git (GitHub) instead of SVN● Packaging system ▶ pyrus, composer © All rights reserved. Zend Technologies, Inc.
    • A new core● The ZF1 way: ▶ Singleton, Registry, and Hard-Coded Dependencies● The ZF2 approach: ▶ Aspect Oriented Design and Dependency Injection © All rights reserved. Zend Technologies, Inc.
    • MVC is event driven● Everything is an event bootstrap route dispatch Listeners © All rights reserved. Zend Technologies, Inc.
    • Releases● ZF2.0.0beta4● Goal: ▶ beta5 at the end of June ▶ ZF 2.0 RC this summer!!! © All rights reserved. Zend Technologies, Inc.
    • Quick startZend Skeleton Application © All rights reserved. Zend Technologies, Inc.
    • Zend Skeleton Application● A simple, skeleton application using the new MVC layer and the module system● How to install: $ cd my/project/dir $ git clone git://github.com/zendframework/ZendSkeletonApplication.git $ cd ZendSkeletonApplication $ php composer.phar install © All rights reserved. Zend Technologies, Inc.
    • Output © All rights reserved. Zend Technologies, Inc.
    • Folders tree config data module public vendor © All rights reserved. Zend Technologies, Inc.
    • Config folder config autoload application.config.php data module public vendor © All rights reserved. Zend Technologies, Inc.
    • Data folder config data cache module public vendor © All rights reserved. Zend Technologies, Inc.
    • Module folder module Application Name of the module config module.config.php src Application Controller IndexController.php view application index index.phtml error layout Module.php © All rights reserved. Zend Technologies, Inc.
    • Public folder public images js css .htaccess index.php © All rights reserved. Zend Technologies, Inc.
    • Vendor folder config data module public vendor zendframework © All rights reserved. Zend Technologies, Inc.
    • configuration © All rights reserved. Zend Technologies, Inc.
    • /config/application.config.php © All rights reserved. Zend Technologies, Inc.
    • public folder © All rights reserved. Zend Technologies, Inc.
    • public/.htaccessRewriteEngine OnRewriteCond %{REQUEST_FILENAME} -s [OR]RewriteCond %{REQUEST_FILENAME} -l [OR]RewriteCond %{REQUEST_FILENAME} -dRewriteRule ^.*$ - [NC,L]RewriteRule ^.*$ index.php [NC,L] © All rights reserved. Zend Technologies, Inc.
    • public/index.php © All rights reserved. Zend Technologies, Inc.
    • ZendServiceManager ● The ServiceManager is a Service Locator implementation ● A Service Locator is a well-known object in which you may register objects (more in general services) and later retrieve them ● Driven by configuration © All rights reserved. Zend Technologies, Inc.
    • Types of Services ● Explicit (name => object pairs) ● Invokables (name => class to instantiate) ● Factories (name => callable returning object) ● Aliases (name => some other name) ● Abstract Factories (unknown services) ● Scoped Containers (limit what can be created) ● Shared (or not; you decide) © All rights reserved. Zend Technologies, Inc.
    • module © All rights reserved. Zend Technologies, Inc.
    • Modules by default A module is all related code and assets that solve a specific problem.Modules inform the MVC about services and event listeners © All rights reserved. Zend Technologies, Inc.
    • Modules for ZF2● The basic unit in a ZF2 application is a Module● Modules are “Plug and play” technology● Modules are simple: ▶ A namespace ▶ Containing a single classfile: Module.php © All rights reserved. Zend Technologies, Inc.
    • Develop Modules● Modules contain all logic related to a discrete application problem. ▶ Controllers ▶ Entities ▶ Plugins ▶ Etc.● 99% of the time, you will write modules © All rights reserved. Zend Technologies, Inc.
    • moduleApplicationModule.php © All rights reserved. Zend Technologies, Inc.
    • /module/Application/config/module.config.php(routing part) © All rights reserved. Zend Technologies, Inc.
    • /module/Application/config/module.config.php(controller part) © All rights reserved. Zend Technologies, Inc.
    • /module/Application/config/module.config.php(view) © All rights reserved. Zend Technologies, Inc.
    • /module/Application/src/Application/ Controller/IndexController.php Passing array() of variables to the view © All rights reserved. Zend Technologies, Inc.
    • Packaging system © All rights reserved. Zend Technologies, Inc.
    • Pyrus● http://packages.zendframework.com/● Download or use pyrus, a PEAR2 installer● Pyrus packages: ▶ Pyrus setup ▶ wget http://packages.zendframework.com/pyrus.phar ▶ pyrus.phar . ▶ pyrus.phar . channel­discover packages.zendframework.com ▶ Install a Zend_<component> ▶ pyrus.phar . install zf2/Zend_<component> © All rights reserved. Zend Technologies, Inc.
    • Composer● New package management and distribution tool● http://packagist.org/● http://getcomposer.org/ © All rights reserved. Zend Technologies, Inc.
    • composer.json © All rights reserved. Zend Technologies, Inc.
    • From ZF1 to ZF2 © All rights reserved. Zend Technologies, Inc.
    • From ZF1 to ZF2● Goal: migrate without rewriting much code!● Main steps ▶ Namespace: Zend_Foo => ZendFoo ▶ Autoloading: 3 options ▶ MVC: module, event based, dispatchable ▶ DB: new ZendDb ▶ Form: new ZendForm● Can run in parallel (instant migration!) © All rights reserved. Zend Technologies, Inc.
    • Conclusion:ZF2 rocks! © All rights reserved. Zend Technologies, Inc.
    • Why ZF2 rocks!● Based on solid architecture principles● Very fast (focused on optimization)● Open architecture (event driven)● Support of modules (reuse of the code)● Driven by the community (100% open source)● Completed tested (PHPUnit, Travis CI)● Packages (pyrus, composer) © All rights reserved. Zend Technologies, Inc.
    • We want you!● How to contribute: ▶ Write code ▶ Documentation ▶ Testing ▶ Feedbacks/comments https://github.com/zendframework/zf2 © All rights reserved. Zend Technologies, Inc.
    • Helping out● http://framework.zend.com/zf2● http://github.com/zendframework● https://github.com/zendframework/ZendSkeletonApplication● Getting Started with Zend Framework 2 by Rob Allen, http://www.akrabat.com● Weekly IRC meetings (#zf2-meeting on Freenode)● #zftalk.2 on Freenode IRC © All rights reserved. Zend Technologies, Inc.
    • Thank you! ● Comment this talk at: ▶ https://joind.in/6237 ● Direct contact: ▶ enrico@zend.com ▶ @ezimuel © All rights reserved. Zend Technologies, Inc.