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

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

PHP and Zend Framework on Windows

8,688
views

Published on

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

Published in: Technology

0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
8,688
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
166
Comments
0
Likes
5
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • 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.
  • 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