PHP and Zend Framework on Windows
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

PHP and Zend Framework on Windows

on

  • 11,016 views

A presentation given by Roy Ganor and myself at local Microsoft PHP developer day in Microsoft Israel, covering some general Zend info, Zend Framework, some Zend Studio and a bit about Windows Azure. ...

A presentation given by Roy Ganor and myself at local Microsoft PHP developer day in Microsoft Israel, covering some general Zend info, Zend Framework, some Zend Studio and a bit about Windows Azure. The talk also included a lot of live demo and code review

Statistics

Views

Total Views
11,016
Views on SlideShare
10,948
Embed Views
68

Actions

Likes
5
Downloads
163
Comments
0

3 Embeds 68

http://www.slideshare.net 66
http://static.slidesharecdn.com 1
http://translate.googleusercontent.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

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
  • As a result of increased maturity of PHP and eco-system it has accelerated adoption within the Enterprise. As you can see from this Gartner graph they have predicted this trend. With the recession and acceptance of dynamic languages we have seen this accelerate beyond predictions.

PHP and Zend Framework on Windows Presentation Transcript

  • 1. PHP Development & Deploymentwith Zend and Microsoft
    Roy GanorZend Studio Project Leader, Zend Technologies
    Shahar EvronTechnical Product Manager, Zend Technologies
  • 2. Welcome!
    Agenda
    Introductions
    An Overview of the Zend Stack
    Rapid Development with Zend Framework and Zend Studio
    Running on Windows Platforms with Zend Server
    A little bit of Cloud for dessert
    2
    PHP on Windows
  • 3. Who are we?
    Shahar Evron
    A PHP programmer since 2002
    • At Zend since 2005
    • 4. A Zend Framework contributor since 2006
    • 5. Maintain Zend_Http_Client
    • 6. Technical Product Manager for Zend Server
    • 7. The marketing department’s pet geek :)
    3
    PHP on Windows
  • 8. Who are we?
    Roy Ganor
    Project Lead at Zend/Eclipse
    Contributing to the following projects:
    PHP Development Tools
    Ajax Tools
    Data Tools
    Dynamic Languages Tools
    Tools Matter!
    4
    PHP on Windows
  • 9. PH What?
    Isn’t that like the hacker alternative to ASP.NET??!?
  • 10. Over one-third of the Web runs on PHP
    6
    PHP on Windows
  • 11. PHP is rapidly becoming a standard for mainstream web-based business applications
    Corporate IT Developers
    Part-Time Developers
    And Hobbyists
    Independent Software Vendors
    6
    5
    4
    3
    2
    1
    0
    Programmers (Millions)
    2006
    2007
    2008
    2009
    2010
    2011
    2012
    2013
    Source: Gartner (December 2007)
  • 12. Introducing Zend’s PHP Stack
    WIMP? WAMP? LAMP? MAMP? Zend!
  • 13. An Integrated, Heterogeneous Stack
    9
    PHP on Windows
  • 14. A Complete Solution
  • 15. The Production Side…
    Clustering support
    Aggregated app monitoring
    Cross-server job queuing
    App monitoring & diagnostics
    Page caching, job queuing
    Support, updates and hot fixes
    Data caching and opcode acceleration
    Integrated, native installers
    Web admin console
  • 16. And the Development Side
    Zend Server integration
    Zend Framework integration
    Team development
    Testing and debugging
    Support and updates
    Basic code editing
    Basic debugging
    Eclipse plug-in
  • 17. Introducing the Eclipse Foundation
    13
    PHP on Windows
    A consortium of major software vendors, solution providers, corporations, educational and research institutions and individuals working together to create an eco-system that enhances, promotes and cultivates the Eclipse open platform with complementary products, services and capabilities
  • 18. The Ecosystem
    14
    PHP on Windows
  • 19. Eclipse Simultaneous Release
    15
    PHP on Windows
  • 20. Zend Contribution
    16
    PHP on Windows
    • PHP Development Tools
    • 21. Ajax Tools
    • 22. Dynamic Languages Tools
    • 23. Data Tools
  • Introducing Zend Framework
  • 24. Introducing Zend Framework
    Some History:
    Started as part of the PHP Collaboration Project in late ‘05
    First public release: 0.2, Early ‘06
    1.0 Released on July 2007
    Currently in version 1.10 (today!)
    Zend Framework 2.0 planning process started
    Open-source, business-friendly licensing
    Emphasis on high-quality, loose coupling and simplifying creation of modern Web Applications
    18
    PHP on Windows
  • 25. Zend Framework Rapid Adoption Continues
    • Rapidly Growing
    • 26. Over 10M downloads
    • 27. Over 200 contributors
    • 28. Commercial Contributions
    • 29. Enterprise Adoption
  • Is it really a framework?
    Zend Framework is:
    A Full Stack Application Framework ?
    A Component Library ?
    Both!
    Use-at-will Architecture
    Loose coupling between components
    Pick and choose the components you need and use them with your own app or with a different framework
    Build your application from the group up based on ZF’s MVC
    20
    PHP on Windows
  • 30. Example: Zend_Mail
    Allows you to easily compose and send e-mail messages from your PHP applications
    Simplified control over recipients, headers, etc.
    Easy creation of multipart/alternative HTML messages
    Easy attachment handling
    Supports different delivery transports
    Allows you to read e-mail messages from POP3, IMAP, Mbox and Maildir
    not demonstrated here :)
    21
    PHP on Windows
  • 31. Example: Zend_Mail – Sending a message
    22
    PHP on Windows
    // Load the Zend_Mail class
    require_once'Zend/Mail.php';
    // Instantiate a new message object
    $message = new Zend_Mail('utf-8');
    // Use the fluent interface to set message properties
    $message->setFrom('shahar.e@zend.com', 'Shahar E')
    ->setSubject('Hello, world!') ->setBodyText("Hi, what's up?")
    ->addHeader('Importance', 'high')
    ->addTo('someone@example.com', 'Some One')
    ->addCc('other.guy@example.com', 'Other Guy')
    ->addBcc('t.person@example.com', 'The Third Person');
    // Send the message!
    $message->send();
  • 32. Example: Zend_Mail – Adding Attachments
    23
    PHP on Windows
    // Load the Zend_Mail class
    require_once'Zend/Mail.php';
    // Instantiate a new message object
    $message = new Zend_Mail('utf-8');
    // Use the fluent interface to set message properties
    $message->setFrom(‘do-no-repoy@example.com', ‘Report System')
    ->setSubject('The report you have requested is ready')
    ->addTo('shahar@localhost', 'Shahar Evron');
    // Add a PDF attachment (Will be base64 encoded)
    $pdf = $message->createAttachment(file_get_contents('report.pdf'));
    $pdf->type = 'application/pdf';
    $pdf->filename = 'report.pdf';
    // ... Continued on next slide ...
  • 33. Example: Zend_Mail – Adding Attachments
    24
    PHP on Windows
    // Add a logo to the message - referenced from the message HTML body
    $img = $message->createAttachment(file_get_contents('logo.png'));
    $img->type = 'image/png';
    $img->id = 'logo-image-png@example.com';
    $img->filename = 'logo.png';
    $img->disposition = Zend_Mime::DISPOSITION_INLINE;
    // Set the message body
    $message->setBodyHtml(
    "Hello Shahar,<br /><br />" .
    "The report you have requested is attached as a PDF file.<br /><br />" .
    "Enjoy!<br />" .
    '<imgsrc="cid:logo-image-png@example.com" alt="Example.com Logo" />'
    );
    // Set the message MIME-type to multipart/related
    $message->setType(Zend_Mime::MULTIPART_RELATED);
    // Send the message!
    $message->send();
  • 34. Example: Zend_Mail – Adding Attachments
    25
    PHP on Windows
  • 35. Zend Framework – (Some) Components
    Core
    MVC
    Formats & Data Access
    Registry
    Uri
    Controller
    View
    Db
    Json
    Log
    Cache
    Layout
    Application
    Search
    Dom_Query
    Mail
    Config
    Ldap
    Feed
    Loader
    Date
    Amf
    Queue
    Web Infrastructure
    Security
    Web Services
    Session
    Tag
    Auth
    Acl
    XmlRpc
    Soap
    Form
    Filter
    Validate
    Navigation
    Rest
    Http_Client
    OpenId
    ProgressBar
    Dojo
    Captcha
    InfoCard
    Amazon
    Yahoo
    Flickr
    Internationalization
    Development
    Twitter
    Akismet
    Locale
    Translate
    Tool
    WildFire
    Currency
    Measure
    Debug
    Test
    Delicious

    26
    PHP on Windows
  • 36. Zend Framework and Zend Studio
    Demo Time!
  • 37. Starting a Zend Framework Project
    Starting a new project with Zend Studio, Zend Framework and Zend Server
    The Zend Framework MVC Outline
    Some Interesting Zend Framework Concepts & Components:
    Dispatching
    Zend Application Bootstrapping
    Zend_Config
    Controllers, Views & Layouts
    28
    PHP on Windows
  • 38. Studio Features
    Studio Features to show during demo:
    PHPUnit Integration
    Zend Tool
    Refactoring
    AJAX Support Features
    29
    PHP on Windows
  • 39. Deploying on the Windows Platform
    Some thoughts about Reliability and Scalability
  • 40. Deploying and Running with Zend Server
    Deploying locally from Zend Studio to Zend Server
    Setting IIS to rewrite ZF requests
    Rely on Zend_Config to switch from dev config to production
    31
    PHP on Windows
  • 41. Deploying In the Cloud – Windows Azure
    Eclipse Azure Plugin
    Simple Cloud API, Inter-cloud Interoperability
    Windows Azure Demo (???)
    32
    PHP on Windows
  • 42. Windows Azure Table Storage
    A Highly Scalable Cloud Database
    Billions of records, terabytes of data
    “Entities” and “Properties”
    Not exactly a relational database
    ACID (Atomic, Consist, Isolated, Durable) Transactions
    Query syntax somewhat reminding SQL (but not really)
    Schema-less
    some structure can be enforced in client side
    Can be partitioned across servers
    33
    PHP on Windows
  • 43. Recap
    What? Are we done so quickly!?
  • 44. What have we learned?
    PHP Is Everywhere!
    PHP Is on Windows! No more excuses not to use it! :)
    PHP can become even more effective with the right tools
    Get an IDE and use it’s capabilities
    Get the framework that fits your needs, study it, and utilize it
    Standardize on a runtime environment
    Plan for the future, if you’re successful it will hit you fast!
    Plan for scaling
    Production Monitoring & Reliability, Moving to the Cloud
    35
    PHP on Windows
  • 45. Thanks!
    Still have questions?
    roy@zend.com or @royganor
    shahar.e@zend.com or @shevron
  • 46. Tips & Tricks
    Highlighted text can be displayed here
    Keep your slides clean:
    Avoid using more than 5 bullets
    Try to keep your bullets as short as possible
    Why?
    People usually don’t read slides with a lot of text
    Easier to memorize
    37
    PHP on Windows