Matthew O'Phinney's Blog: MVC changes in Zend Framework
295818
In a new note today, Matthew O'Phinney shares some of his experience as being asked to head up the MVC team for the Zend Framework, including some of the changes that have been made.   The experience has been incredibly rewarding, however, and I've had the chance to pick the brains of and work with some top-notch developers in the process. In the next week or so, we'll be releasing version 0.6.0 of the framework, and it will include much of my work in the MVC components as part of the core distribution.   Some of the changes he lists include:  changes that promote greater flexibility and testing controller classes are now unit tested the introduction of the request and response objects a router is no longer needed the ability to push parameters into the front controller  He also gets into a bit of detail on the Response object - what it is, how it works, and how you can set up your own custom versions of it. Check out the full post for more information.
648256
Just a quick note from the PHP Thinktank blog today - the log of the latest in their series of IRC talks has been posted - a look at MVC with Abraxas.   He talked about what MVC is and how its set up as well as how it can help you and your application to be more structured and be easier to maintain down the road. He also gave a simple overview of how an MVC application would work.   You can grab the full contents of the talk from their Google group.
565362
Popular posts from PHPDeveloper.org for the past week:DeveloperTutorials.com: Writing an Email Autoresponder Script with PHPJaybill McCarthy's Blog: 10 PHP Myths DispelledIBM developerWorks: Mastering regular expressions in PHP, Part 1Job Posting: OmniTI Seeks PHP Talent (Brooklyn, NY)Zend Developer Zone: php|architect Announces 'Programming with the Zend Framework'DeveloperTutorials.com: Create a Facebook Application With PHPRob Allen's Blog: New Zend Framework Blog/WebsiteMichael Kimsal's Blog: Ecommerce system ideasJob Posting: Buildersite.co.uk Seeks PHP Programmer/Web Developer (Central London)Zend Developer Zone: Debugging PHP applications with xdebug
655160
The Zend Developer Zone has an announcement about another "Webinar Wednesday" that Zend is putting on June 20th focusing on the Zend Framework (version 1.0).   The Zend Framework is emerging as the preferred PHP programmer's toolkit for designing Web applications with best practices. In the month's prior to the 1.0 release, Zend Framework had over 1 million downloads and multiple commercial products are already being developed with Zend Framework. In this webinar, Bill Karwin, Product Engineering Manager, will provide an overview of the design philosophy, the major components of the framework and its future directions. Topics will cover MVC, Search, Data Access, Web Services, Filter, Authentication, Cache and more.   You can sign up by going to the conference's website and entering all of your information. Details on how to connect and when will be sent to your email. The event if free of charge, so there's no reason not to come and get the latest scoop on this powerful framework's upcoming version.
485840
P&aacute;draic Brady continues his series on working with Complex Views in the Zend Framework with this new article - part seven focusing on the Zend_View Enhanced method.   It's been a long, and hopefully interesting, road to Part 7. In this concluding entry to the long running, and oft delayed, "Complex Views with the Zend Framework" series I introduce the Zend_View Enhanced Proposal for the Zend Framework, elaborate on its operation, and provide some opinions on the ongoing debate over its implementation.    In this final entry of the series, he recaps previous concepts (like Partials/Layouts/Controllers/Placeholders) and how far reaching the Zend_View Enhanced component is. He also includes some of the helpers and interfaces he's proposed for the module including:   Zend_View_Helper_Partial Zend_View_Helper_Controller Zend_View_Helper_HeadScript Zend_View_Helper_Doctype Zend_View_Helper_HeadStyle   He takes each of the concepts mentioned above and applies these different helpers/interfaces inside them, illustrating with some sample code as needed.
6014
Roy Ganor has posted a new article on the Zend Developer Zone about code refactoring, what it's good for and how it can help you and your code.   At first, refactoring seemed to me to be magic, over the years I have come to view it as more of a trick, and today refactoring is integrated into my development environment and used frequently and quickly. Using the refactoring functionality, in addition to other tools, I can sculpt the code to improve legibility and maintainability.   He talks about why PHP developers should jump on getting to refactoring their code, the different forms of refactoring, code examples showing it at work and some development tools/resources you can use to dig a little deeper.
654789
Padraic Brady has posted today about a subclass of the Zend_Loader package (in the Zend Framework) he had written up to handle Dependency Injections - it was submitted but ended up being replaced with a Zend_Di component instead.   I realised someone had proposed a novel new component called Zend_Di, and that small change was since accepted by Federico into his DI buster. This is a quick overview with very simple use cases - read the full proposal for even more gory details about your object innards using DI.   He talks about what DI (dependency injection) is and what it can be used for and includes a simple example set around a controller in the framework that uses the Zend_Di component to make a "mock Zend_Mail" that can be used in testing too. Examples of these sorts of tests (with PHPSpec) are included too.
177344
P&aacute;draic Brady is back today with the latest installment (part 5!) of his look at complex views in the Zend Framework. This time, her focuses on something called the Two-Step Pattern - a pattern similar to the Layouts pattern.   Part 5 of our series takes a small time-out from approaching a Composite View solution to reusable Views to take a peek at a simpler approach useful for simpler types of web applications. As we've discussed previously Composite Views allow the nesting of reusable View elements, effectively building a View based on a hierarchy of Views. But often there are simpler solutions to simpler problems. One such solution is the Two-Step View pattern, sometimes called Layouts if implemented in a specific way (as we do below!).   He gives the example of a simple website that needs a header and footer on every page. Rather than having to duplicate the header/footer calls across all of the pages, the Layout (Step-Two) pattern defines a single template that contains the header and footer but also uses a "main" area where the content is dynamically inserted.   He includes a full code example to help illustrate the point - a class, Zps_View, that is fed the path to the layouts and the layout files to use before rendering.
278795
As the Zend Developer Zone points out, the preview release for the next stable version of the Zend Framework has been posted - ZF 1.5.0 Preview.   This release showcases features that will be introduced in the final 1.5 release. The intent of this release is to give our users access to the latest features in Zend Framework and to improve the overall quality of the production release through the feedback we receive.  Some of the new feature in this upcoming release include:  New Zend_Form component with support for AJAX-enabled form elements Infocard, OpenID, and LDAP authentication adapters Partial, Placeholder, Action, and Header view helpers for advanced view composition and rendering New Zend_Layout component for automating and facilitating site layouts   It also adds functionality to currently existing features and fixes several bugs in the process.
393458
Richard Lord has posted some thoughts about why he likes one of his latest explorations - the Zend Framework - on his blog today.   I've been researching the Zend Framework for PHP in relation to a project I'm working on and I have to say I'm now a fan of it. There's lots to like about it, and some to dislike about it too. But to me the best aspect of it is the flexibility it offers.   He also mentions other reasons for liking it, including the simplicity of working his current application/workflow into the Framework's methods. There is one hit he mentions that the Framework team could improve on - the documentation.
7270
In filtering through the mass of projects that he's collected around him, Padraic Brady has decided to cut one loose - the Zend Framework package he'd been developing to introduce YAML parsing and functionality to the framework.   I've been going through all those open source projects and cutting the dead weight. [...] One of the victims of this review has been Zend_Yaml. Earlier this morning I found an odd comment on the Zend_Translate_Yaml proposal by Thomas Weidner that he was erasing his proposal on the basis that there had been no progress on Zend_Yaml.   He's removed the proposal from the Zend Framework proposal pages after receiving an email noting that the package would not comply fully to the YAML 1.1 specification and couldn't be included. With the introduction of the Syck extension into PECL, it could support it but Padraic opted to just tell the ZF group about this functionality rather than working on the build himself.
506696
On the Zend Developer Zone, Cal Evans has posted a quick look at one of the new offerings from the Manning Publishing group - "PHP in Action".   My buddy Olivia over at Manning Publications sent us a present recently. They are working on the title PHP in Action and they sent us a chapter to share with you. PHP in Action is scheduled to release in April of this year but it's available now in "Manning Early Release Program", or MEAP. MEAP is a cool program that allows you to buy the book long before it is released and have access to the chapters as they are released. Then, when the final dead-tree edition ships, they will send you one. The great thing is, there is no additional cost for MEAP.   He links to the book's description on the Manning site and gives some credit to the authors, Dagfinn Reiersol with Marcus Baker and Chris Shiflett. And, of course, the link to the sample chapter from the book - a look at Design Patterns.
486082
Padraic Brady has posted some of his comments on the newly included Zend_Layout and Zend_View_Enhanced components for the Zend_Framework:    These two (now much more polished!) components were both designed to solve the concerns a lot of developers were having in achieving truly complex, structured and modular Views using Zend_View.    Indeed there are months of blog postings, debates, experimental and not-so-experimental code, proposals, IRC sessions and countless emails pouring over how to accomplish the goals of these components. The end result is something I feel will serve Zend Framework users faithfully for months and years to come.    He thanks the developers (Matthew and Ralph) and notes that the inclusion of these two components is one of the largest advancements of the display layer for the Framework in a while.
614738
Matt Wade has posted a quick item to APress' Inside Open Source blog today mentioning an update to an item he'd previously mentioned - issues with the Zend_Cache module.   One of my complaints was the Zend_Cache did not accept lifetimes on a per object basis, but rather the lifetime was at an application level. I just received notice in my inbox that the issue has been fixed! The change is currently in svn, and should be in the 0.80 preview release. Thanks go to Fabien for the fix.   You can download this latest version of the Framework (0.7.0) from the Zend Framework website.
632234
Chris Hartjes has posted an update on the Zend_Service_Audioscrobbler package for the Zend Framework, including writing the unit tests to ensure it's complete functionality.   In my spare time I've been banging away at writing the required unit tests for the Zend_Service_Audioscrobbler component that Derek and I had started. I finished all the unit tests for the user based functions, which is a nice milestone. Then I decided to go back and actually read the comments made from the proposal. Oops. I discovered there were a bunch of changes that the folks at Zend said needed to be made in order to accept them. I agree with most of them.   He also lists some of these comments/changes/suggestions for the package that were given to help it fit in better with the rest of the framework.
628744
In a a new post to his blog today, Padraic Brady mentions a component of the Zend Framework that's fallen into the wayside in favor of a Zend-sponsored OpenID component, Zend_Service_Openid. Despite this setback, he still plans on helping with its resurrection, maybe just in a different form.   After posting some questions to the mailing list before adding any additional formal proposals, I have learned another OpenID library for the Zend Framework is also in progress within Zend.   The upshot of this, given it's a Zend sponsored library, is that I feel like there's little choice but to abandon my own version of a proposal for the framework. So it's status is "withdrawn" at this moment as is Zend_Service_Yadis, being a linked proposal. The library itself is not being abandoned, far from it as it has always been my intention to release it under a New BSD License and that plan is not wavering.    He talks about some of the thoughts going through his head of the choice that Zend made and how his library approached the OpenID authentication issues.
499132
Matthew O'Phinney notes today that the Zend_View_Enhanced and Zend_Layout components for the Zend Framework have officially joined the core.   With these two components, you can now create some truly complex views for your application with relative ease. [...] By having these as a standard part of the library, there are now standard ways to perform these tasks -- meaning consistency between applications.   He gives some brief examples of the use of the two newly included components: echoing out a DOCTYPE, adding a script to be loaded in the header and a more complex layout with a header, meta data, content and a footer section.