<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>DevZone</title>
	
	<link>http://devzone.zend.com</link>
	<description>Advancing the art of PHP</description>
	<lastBuildDate>Thu, 09 Feb 2012 16:15:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/PHPDevZone" /><feedburner:info uri="phpdevzone" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Mayflower releases Zend Framework Application.ini cheatsheet</title>
		<link>http://feedproxy.google.com/~r/PHPDevZone/~3/EQy7psU1uYI/</link>
		<comments>http://devzone.zend.com/2071/mayflower-releases-zend-framework-application-ini-cheatsheet/#comments</comments>
		<pubDate>Thu, 09 Feb 2012 16:15:06 +0000</pubDate>
		<dc:creator>Cal Evans (Editor-in-Chief)</dc:creator>
				<category><![CDATA[Zend Framework]]></category>
		<category><![CDATA[application.ini]]></category>
		<category><![CDATA[mayflower]]></category>

		<guid isPermaLink="false">http://devzone.zend.com/?p=2071</guid>
		<description><![CDATA[Those wacky coders over at mayflower.de have released the most comprehensive exampe of a Zend Framework Application.ini that we've ever seen. Click on in, we'll share.]]></description>
			<content:encoded><![CDATA[<p>The Germans have done it again. Florian Eibec, over at Mayflower.de recently posted on their blog that they have taken the time to create a comprehensive guide to Zend Framework&#8217;s Application.ini. In the blog post titled &#8220;<a href="http://blog.mayflower.de/archives/828-Zend-Framework-application.ini-Cheat-Sheet.html" target="_blank">Zend Framework application.ini Cheat-Sheet</a>&#8221; they had this to say.</p>
<blockquote><p>One problem persists [with Zend Framework's Application.ini] although: the documentation. All the parameters for components like View, Session, Database etc. are documented either with the bootstrap resource, the component itself or both. Some of them are even completely undocumented and have to be extracted from the framework source code. Unfortunately there is no reference of all possibilities of the application.ini. To make my life – and that of other Zend Framework developers – a little bit easier, I created such a reference in form of an application.ini file with all possible options, grouped by resource and with some links and explanations.</p></blockquote>
<p>The resulting application.ini can be found on gitup at the <a href="https://github.com/feibeck/application.ini" target="_blank">feibeck/application.ini</a>. Be careful though, it is so complete and beautifully laid out, you may be tempted to print it out and frame it for office art rather than use it and start hacking it up.</p>
<p>As seen on <a href="http://phpdeveloper.org/news/17501" target="_blank">phpdeveloper.org</a>.</p>
<img src="http://feeds.feedburner.com/~r/PHPDevZone/~4/EQy7psU1uYI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://devzone.zend.com/2071/mayflower-releases-zend-framework-application-ini-cheatsheet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://devzone.zend.com/2071/mayflower-releases-zend-framework-application-ini-cheatsheet/</feedburner:origLink></item>
		<item>
		<title>Using Doctrine 2 in Zend Framework 2</title>
		<link>http://feedproxy.google.com/~r/PHPDevZone/~3/8DT5Hh6Fcik/</link>
		<comments>http://devzone.zend.com/2066/using-doctrine-2-in-zend-framework-2/#comments</comments>
		<pubDate>Mon, 06 Feb 2012 16:37:20 +0000</pubDate>
		<dc:creator>Cal Evans (Editor-in-Chief)</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Zend Framework]]></category>
		<category><![CDATA[doctrine 2]]></category>
		<category><![CDATA[zend framework]]></category>

		<guid isPermaLink="false">http://devzone.zend.com/?p=2066</guid>
		<description><![CDATA[Over on his blog, Jason Grimes has written a great tutorial on how to integrate  Doctrine 2 into Zend Framework 2. His work is based on Rob Allen's tutorial and is a great next step. Click on in and grab the URL.]]></description>
			<content:encoded><![CDATA[<p>Over on his blog, Jason Grimes has written a very good tutorial titled &#8220;<a href="http://www.jasongrimes.org/2012/01/using-doctrine-2-in-zend-framework-2/" target="_blank">Using Doctrine 2 in Zend Framework 2</a>&#8220;. He bases his work on <a href="http://akrabat.com/getting-started-with-zend-framework-2/" target="_blank">Rob Allen&#8217;s Zend Framework 2 tutorial</a> and shows you how to take that and then add Doctrine 2 into the mix.</p>
<blockquote><p>After working through that [Rob Allen's] tutorial, the next thing I wanted to do was figure out how to get the Doctrine 2 ORM up and running.<br />
<br />
This article shows how to set up and use Doctrine 2 in Zend Framework 2, by extending Rob’s Getting Started tutorial to use Doctrine instead of Zend_Db.
</p></blockquote>
<p>Jame&#8217;s tutorial is long on the how but short on the why. If you are just looking for the steps to take, this is a great piece. If however, you are wondering <strong>why</strong> you take each step and what the ramifications are, well, you&#8217;ll be left a little lost. </p>
<img src="http://feeds.feedburner.com/~r/PHPDevZone/~4/8DT5Hh6Fcik" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://devzone.zend.com/2066/using-doctrine-2-in-zend-framework-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://devzone.zend.com/2066/using-doctrine-2-in-zend-framework-2/</feedburner:origLink></item>
		<item>
		<title>Press Release Roundup – Zend Server on OSX and phpcloud.com</title>
		<link>http://feedproxy.google.com/~r/PHPDevZone/~3/dZSHJD3OJpw/</link>
		<comments>http://devzone.zend.com/2063/press-release-roundup-zend-server-on-osx-and-phpcloud-com/#comments</comments>
		<pubDate>Mon, 30 Jan 2012 14:37:20 +0000</pubDate>
		<dc:creator>Cal Evans (Editor-in-Chief)</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[phpcloud.com]]></category>
		<category><![CDATA[Zend Server]]></category>

		<guid isPermaLink="false">http://devzone.zend.com/?p=2063</guid>
		<description><![CDATA[Here at Zend we get a lot of good press for our products. We don't want to turn DevZone into just a feed for those that write cool things about us, but some of these are helpful if you are considering using our products. So instead of flooding your feed with individual articles about how great the products are, occasionally we'll post a roundup.  That way they won't get in your way, but there are here when you need them.
]]></description>
			<content:encoded><![CDATA[<p>Here at Zend we get a lot of good press for our products. We don&#8217;t want to turn DevZone into just a feed for those that write cool things about us, but some of these are helpful if you are considering using our products. So instead of flooding your feed with individual articles about how great the products are, occasionally we&#8217;ll post a roundup.  That way they won&#8217;t get in your way, but there are here when you need them.</p>
<h2>Zend Server on OSX</h2>
<p>This is one of the most requested features of Zend Server and now that it is available, people are talking about it. </p>
<h3>Dr. Dobbs</h3>
<p>Dr. Dobbs covered Zend Server on OSX in the tools section of their blog recently with an article titled &#8220;<a href="http://drdobbs.com/tools/232500263" target="_blank">Zend Server 5.6 Now Supports Mac OS X</a>&#8220;. In that article posted on January 22, 2012, they had this to say.</p>
<blockquote><p>
The 5.6 version release ships with a fully integrated PHP stack including the latest PHP runtime and the Zend Framework, plus monitoring and diagnostics. There are code acceleration and performance optimization technologies such as the Job Queue function, as well as full page caching and data caching to help developers improve application response times and reduce server load.
</p></blockquote>
<h3>ServerWatch</h3>
<p>Over at ServerWatch.com Vangie Beal wrote a nice post titled &#8220;<a href="http://www.serverwatch.com/server-news/new-zend-server-release-supports-mac-os-x-platform-developers.html" target="_blank">New Zend Server Release Supports Mac OS X Platform Developers</a>&#8220;. Here is what Beal had to say.</p>
<blockquote><p>
For the growing numbers of IT organizations using PHP and bringing Macs into the development environment, Zend said its 5.6 release offers important advantages for both app performance and quality, and productive collaboration on the web and in the cloud.
</p></blockquote>
<p>Both articles are short reads but interesting if you are considering introducing Zend Server on OSX into your development team.</p>
<h2>phpcloud.com</h2>
<p>The newest member of the Zend product lineup, phpcloud.com, got a little love as well. InfoWorld.com recently posted a nice review of it titled &#8220;<a href="http://www.infoworld.com/d/cloud-computing/first-look-zends-php-developer-cloud-183766?page=0,0" target="_blank">First look: Zend&#8217;s PHP developer cloud</a>&#8220;. Author Rick Grehan takes a nice, in-depth look at phpcloud.com and has this to say about it.</p>
<blockquote><p>
When you consider the cloud, you typically imagine a realm of deployed, production applications. Zend Developer Cloud (ZDC) adds a twist: ZDC creates a place in the cloud where PHP-based applications can be developed for the cloud. No more developing locally, then deploying into the cloud &#8212; ZDC pushes both into the ether.
</p></blockquote>
<p>This article is a bit longer than the other two but a great read none the less.</p>
<img src="http://feeds.feedburner.com/~r/PHPDevZone/~4/dZSHJD3OJpw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://devzone.zend.com/2063/press-release-roundup-zend-server-on-osx-and-phpcloud-com/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://devzone.zend.com/2063/press-release-roundup-zend-server-on-osx-and-phpcloud-com/</feedburner:origLink></item>
		<item>
		<title>Using ClamAV with Zend Framework</title>
		<link>http://feedproxy.google.com/~r/PHPDevZone/~3/dyJ3nMnlhaM/</link>
		<comments>http://devzone.zend.com/2057/using-clamav-with-zend-framework/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 14:50:08 +0000</pubDate>
		<dc:creator>Cal Evans (Editor-in-Chief)</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[clamAV]]></category>
		<category><![CDATA[zend framework]]></category>
		<category><![CDATA[zend validate]]></category>

		<guid isPermaLink="false">http://devzone.zend.com/?p=2057</guid>
		<description><![CDATA[Want to check your file uploads with ClamAV? We've got a link to a tutorial to show you how.]]></description>
			<content:encoded><![CDATA[<p>Scanning file uploads for viruses is a time honored tradition. We all know why it&#8217;s a good idea but sometimes it&#8217;s not easy to do. If you use Zend Framework, we&#8217;ve got good new for you. <a title="Posts by Matthew Setter" href="http://phpmaster.com/author/msetter/" rel="author">Matthew Setter</a> has put together a tutorial on how to build a validator to help you scan them automatically. Here&#8217;s a taste of what you&#8217;ll get from Matthew&#8217;s article titled &#8220;<a href="http://phpmaster.com/zf-clamav/" target="_blank">ClamAV as a Validation Filter in Zend Framework</a>&#8221;</p>
<blockquote><p>Ok, so you’re pretty comfortable with using the Zend Framework, specifically the use of Forms. Along with that, you have a good working knowledge of how to combine a host of <a href="http://framework.zend.com/manual/en/zend.validate.html">standard validators</a> such as <em>CreditCard</em>, <em>EmailAddress</em>, <em>Db_RecordExists</em>, and <em>Hex</em>, and <a href="http://framework.zend.com/manual/en/zend.filter.html">standard filters</a> such as <em>Compress/Decompress</em>, <em>BaseName</em>, <em>Encrypt</em>, and <em>RealPath</em>. But what do you do when a situation arises that’s outside the scope of the pre-packaged validators and filters?</p>
<p>Let’s say you want to guard against users uploading files that contain viruses, for example. You would have to write a custom validator that checks the uploads aren’t infected. Today I’ll show you how to do just that – how to write a new file validation filter for Zend Framework that uses <a href="http://www.clamav.net/lang/en/">ClamAV</a> to ensure uploaded files are virus-free.</p></blockquote>
<p>It&#8217;s not a beginner level tutorial but it is well written and a great explanation of how to built a custom validator.</p>
<img src="http://feeds.feedburner.com/~r/PHPDevZone/~4/dyJ3nMnlhaM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://devzone.zend.com/2057/using-clamav-with-zend-framework/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://devzone.zend.com/2057/using-clamav-with-zend-framework/</feedburner:origLink></item>
		<item>
		<title>Zend Developer Pulse</title>
		<link>http://feedproxy.google.com/~r/PHPDevZone/~3/r_ir0O5gVkU/</link>
		<comments>http://devzone.zend.com/2049/zend-developer-pulse/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 15:48:36 +0000</pubDate>
		<dc:creator>Cal Evans (Editor-in-Chief)</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[Press Release]]></category>
		<category><![CDATA[report]]></category>
		<category><![CDATA[zend]]></category>

		<guid isPermaLink="false">http://devzone.zend.com/?p=2049</guid>
		<description><![CDATA[There’s a new survey series worth checking out called the Zend Developer Pulse™. Zend is taking the pulse of developers regarding technology and career topics. Findings from the first survey, conducted online in Q4 2011, are available in a summary report. Zend received over 3,000 responses in 48 hours. Not bad. Take a peek at the report, and send your feedback to Zend.

]]></description>
			<content:encoded><![CDATA[<p>ZEND DEVELOPER PULSE<sup>™</sup><br />
<em>A new survey series that asks developers for their perspectives on technology and career prospects for 2012  </em><br />
The goal of this new survey series is to capture and share developer perspectives with people in and outside the developer community who may be curious, interested or passionate about PHP. Here are a few highlights from the survey findings.</p>
<h2>Survey Highlights</h2>
<p><strong>Tech Investment and Developer Focus Areas for 2012</strong></p>
<p>Key areas of technology investment are revealed by the types of projects that developers expect to tackle as well as their priorities for career and skills development in the new year.</p>
<p>Key project focus areas:</p>
<ul>
<li>66 percent of developers will be engaged in mobile app development projects</li>
<li>For each of these four key technology areas — APIs, cloud, social media integration, and big data/analytics — between 40-50 percent of developers said they will have projects underway in 2012</li>
</ul>
<p>Career and skills development priorities:</p>
<ul>
<li>Next-generation UI development scored high both in the large enterprise and overall (75 percent)</li>
<li>67 percent of all developers surveyed are looking to hone their app development skills on mobile platforms, and 46 percent in cloud computing environments</li>
<li>As one might expect, among corporate developers at companies over 100 employees, another priority is gaining expertise with Big Data/analytics (44 percent)</li>
</ul>
<p>&nbsp;</p>
<h2>Cloud Opportunities on the Rise</h2>
<ul>
<li>More than 60 percent intend to use some form of public cloud in their development projects. Inside the <a href="http://www.zend.com/topics/zend-developer-pulse-survey-report-0112-EN.pdf">Zend Developer Pulse<sup>™</sup> Survey Report</a>, you can find out which public clouds developers are working in now</li>
<li>As far as skills are concerned, 46 percent of all developers surveyed are looking to hone their skills in cloud computing. This result is consistent with the high level of interest that Zend is seeing at <a href="http://www.phpcloud.com/">phpcloud.com</a>, where developers are actively building apps for the cloud, in the cloud, in the free <a href="http://www.phpcloud.com/develop">Zend Developer Cloud</a> sandbox.</li>
</ul>
<p>&nbsp;</p>
<p><strong>State of Languages</strong></p>
<p>The new norm among developers is use of multiple languages, and rising use of dynamic open source languages, and the Zend Developer Pulse<sup>™</sup> survey echoes this trend.</p>
<ul>
<li>Four languages, PHP, C, Java and Javascript dominated survey results, with a number of other languages trailing far behind</li>
<li>Developers reported using 1-2 additional languages on a regular basis; as high as 33 percent of enterprise developers report using both PHP and Java</li>
<li>Two-thirds of all developers surveyed spend more than 50 percent of their time with PHP, using PHP as their core language; this includes an uptake of PHP in the enterprise</li>
</ul>
<p><strong> </strong></p>
<p><strong>Increasing Demand for PHP Skills</strong></p>
<p>From an employment perspective, more than half of developers surveyed see increasing demand for PHP skills in 2011-12. Inside the report, you can find out how this aligns with the findings of leading online job search companies, what developers are saying about language use today, and what other skills they’re looking to add to their bag of tricks.</p>
<p><strong> </strong></p>
<p><strong>Just for Fun</strong></p>
<p>It turns out that 86% of developers surveyed prefer to listen to music while coding, so Zend asked about their music preferences.  To get 2012 off to a good start, developers shared their New Year’s resolutions, also captured in the report.</p>
<p>Developers are invited to contribute suggestions and questions they’d like to see addressed in future Zend Developer Pulse<sup>™</sup> survey reports. It’s as easy as sending an email to <a href="mailto:developerpulse@zend.com"><strong>developerpulse@zend.com</strong></a><strong>.</strong></p>
<p><strong> </strong></p>
<img src="http://feeds.feedburner.com/~r/PHPDevZone/~4/r_ir0O5gVkU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://devzone.zend.com/2049/zend-developer-pulse/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://devzone.zend.com/2049/zend-developer-pulse/</feedburner:origLink></item>
		<item>
		<title>phpcloud.com Quickstart guide</title>
		<link>http://feedproxy.google.com/~r/PHPDevZone/~3/eqaoR-52NZ8/</link>
		<comments>http://devzone.zend.com/2031/phpcloud-com-quickstart-guide/#comments</comments>
		<pubDate>Thu, 22 Dec 2011 15:52:17 +0000</pubDate>
		<dc:creator>Cal Evans (Editor-in-Chief)</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[container]]></category>
		<category><![CDATA[phpcloud]]></category>

		<guid isPermaLink="false">http://devzone.zend.com/?p=2031</guid>
		<description><![CDATA[Got your beta invite to phpcloud.com but not sure where to start. Read on, we'll take a look at the concepts involved and the staps to take to not only get up and running quickly but to be productive in this interesting tool.]]></description>
			<content:encoded><![CDATA[<p>So, you&#8217;ve gotten your invite to <a href="http://phpcloud.com" target="_blank">phpcloud.com</a> and you are ready to fire it up and start building cool things. The question is always &#8220;Where to start?&#8221; Give me 5 minutes, and I&#8217;ll explain a few things.</p>
<p><a href="http://devzone.zend.com/wp-content/uploads/2011/12/Get-started-now-button.png"><img src="http://devzone.zend.com/wp-content/uploads/2011/12/Get-started-now-button.png" alt="" title="Get-started-now-button" width="197" height="104" class="alignleft size-full wp-image-2032" /></a> When you log into phpcloud.com for the first time, you are presented with a screen that has a big blue button, &#8220;Start Now&#8221;. Clicking this button is the first step. WAIT! Before you click it, let&#8217;s cover a few things.</p>
<p>First, what you are about to create is a &#8220;Container&#8221;.  Containers can contain multiple applications and all share a database. Containers can be cloned by taking a snapshot. In some cases, you will want to run a single application in a single container. Other times &#8211; as long as you are careful to avoid database table name collisions &#8211; it&#8217;s fine to run multiple applications inside a single container. If it&#8217;s easier, think of a container as a server instance. Whatever you would normally do on a single server, do that with your container.</p>
<p>You are going to have to name your container and the thing you need to know is that the container namespace is global. (Someone already has &#8220;test, I checked) As with everything, if you are just playing around, your container name doesn&#8217;t really matter since no one else will see it. However, if you are setting up your development environment for work, useful names are better than Loony Tunes Character names. </p>
<p>Once you understand what a container is and what you are going to call it, go ahead and click the big blue button. Fill out the form &#8211; don&#8217;t use password as the actual password &#8211; and click the &#8220;create Container&#8221; button. phpcloud.com will tell you if your password is weak, normal or strong but it won&#8217;t prevent you from using a weak password. </p>
<p>Since this is a fly-by, we&#8217;ll skip discussing how to setup an SMTP server but if your application is going to send mail using the mail() function in PHP, you will need to configure one at some point.</p>
<p>Now we play the <a href="http://www.youtube.com/watch?v=t4Oh7U_L6hs" target="_blank">waiting game</a>. Fortunately for us, it usually takes about 30 seconds to create a new container. While you are waiting, go ahead and download your access key in the proper format. This is your only way to access the code and database in your new container. Because this is a cloud container and not a specific server, you can&#8217;t just ssh in and see your code. You can however, create ssh tunnels so you can use your favorite IDE or MySQL tool. There&#8217;s a good <a href="https://my.phpcloud.com/help/ssh-tunnel-overview" target="_blank">tunneling overview</a> that will show you want you can and can&#8217;t do with an ssh tunnel. Of course you will also need your keys to deploy code either over sftp or git.</p>
<p>Containers are all well and good but they do nothing but contain things. To actually make something happen, we need to setup an application. As mentioned above in the discussion of containers, you can have as many applications in a container as you need. The only caveat is that they all share a common database.</p>
<p>When you created your container you automatically created the default application inside of your container. This default application is an empty PHP application ready for you to start pouring code into. If that is what you need, you can use the default application and not worry about adding applications. If your needs are different though, you can delete the default application and install a new one. phpcloud.com&#8217;s application installer lets you setup an empty PHP application, a Zend Framework (1 or 2) application, or one of five open source packages.</p>
<p>Once you have your application setup, you can setup git or sfpt access to start deploying code or you can create other applications inside your container. </p>
<p>That&#8217;s it, you are now up and running. If you installed WordPress, you can go to the admin page and log-in. If you created an empty application (Zend Framework or other) you can begin pouring code into it and making things work. There is a lot more that you can do with phpcloud.com; the point of this article was just to get you started.</p>
<img src="http://feeds.feedburner.com/~r/PHPDevZone/~4/eqaoR-52NZ8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://devzone.zend.com/2031/phpcloud-com-quickstart-guide/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://devzone.zend.com/2031/phpcloud-com-quickstart-guide/</feedburner:origLink></item>
		<item>
		<title>PHP 101: PHP For the Absolute Beginner</title>
		<link>http://feedproxy.google.com/~r/PHPDevZone/~3/HzsrREPTW1Q/</link>
		<comments>http://devzone.zend.com/6/php-101-php-for-the-absolute-beginner/#comments</comments>
		<pubDate>Mon, 19 Dec 2011 21:00:38 +0000</pubDate>
		<dc:creator>Vikram Vaswani</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Novice]]></category>
		<category><![CDATA[PHP101]]></category>
		<category><![CDATA[PHP5]]></category>

		<guid isPermaLink="false">http://devzone.calevans.com//?p=6</guid>
		<description><![CDATA[p. This area is intended for everyone new to PHP. It opens with a series of informal, entertaining tutorials written by Vikram Vaswani, founder and CEO of Melonfire. These tutorials build on a previously-published 5-part series which has now been updated and extended to embrace PHP 5, making parts of it suitable for those of you who already have worked with PHP 4 in the past.]]></description>
			<content:encoded><![CDATA[<p>This area is intended for everyone new to PHP. It opens with a series of informal, entertaining tutorials written by Vikram Vaswani, founder and CEO of Melonfire. These tutorials build on a previously-published 5-part series which has now been updated and extended to embrace PHP 5, making parts of it suitable for those of you who already have worked with PHP 4 in the past.</p>
<p>If you came here to learn about elementary PHP 4 or basic PHP 5, this is for you. Enjoy!</p>
<ul>
<li><a href="/4/php-101-part-1-down-the-rabbit-hole">PHP 101 (part 1): &#8220;Down the Rabbit Hole&#8221;</a><br />
An introduction to PHP&#8217;s variables and operators.</li>
<li><a href="/5/php-101-part-2-calling-all-operators">PHP 101 (part 2): &#8220;Calling All Operators&#8221;</a><br />
The rest of the PHP operators (there are many), and simple form processing.</li>
<li><a href="/7/php-101-part-3-looping-the-loop" >PHP 101 (part 3): Looping The Loop</a><br />
Basic control structures explained.</li>
<li><a href="/8/php-101-part-4-the-food-factor" >PHP 101 (part 4): The Food Factor</a><br />
Arrays, PHP array functions, and what it all means.</li>
<li><a href="/266/php-101-part-5-rank-and-file" > PHP 101 (part 5): Rank and File</a><br />
Everything you&#8217;re ever likely to need to know about dealing with external files from a PHP script.</li>
<li><a href="/9/php-101-part-6-functionally-yours" >PHP 101 (part 6): Functionally Yours</a><br />
All about functions, arguments, passing by reference, globals and scope.</li>
<li><a href="/10/php-101-part-7-the-bear-necessities" >PHP 101 (part 7): The Bear Necessities</a><br />
A gentle introduction to object oriented programming in PHP 4 and PHP 5.</li>
<li><a href="/12/php-101-part-8-databases-and-other-animals_part-1" >PHP 101 (part 8): Databases and Other Animals &#8211; Part 1</a><br />
All about connecting to a MySQL database from PHP, using the mysql or mysqli extensions.</li>
<li><a href="/14/php-101-part-9-sqlite-my-fire_part-1" >PHP 101 (part 9): SQLite My Fire! &#8211; Part 1</a><br />
Introducing another database: SQLite.</li>
<li><a href="/16/php-101-part-10-a-session-in-the-cookie-jar" >PHP 101 (part 10): A Session In The Cookie Jar</a><br />
Sessions and cookies &#8211; how to keep track of visitors to your site.</li>
<li><a href="/17/php-101-part-11-sinfully-simple" >PHP 101 (part 11): Sinfully Simple</a><br />
An introduction to PHP&#8217;s easiest method for dealing with XML.</li>
<li><a href="/18/php-101-part-12-bugging-out_part-1" >PHP 101 (part 12): Bugging Out &#8211; Part 1</a><br />
Basic error handling.</li>
<li><a href="/20/php-101-part-13-the-trashman-cometh_part-1" >PHP 101 (part 13): The Trashman Cometh &#8211; Part 1</a><br />
A primer in basic security.</li>
<li><a href="/20/php-101-part-13-the-trashman-cometh_part-1" >PHP 101 (part 13): The Trashman Cometh &#8211; Part 1</a><br />
Putting the pieces together &#8211; a first Web application.</li>
<li><a href="/24/php-101-part-15-no-news-is-good-news" >PHP 101 (part 15): No News is Good News</a><br />
Creating a simple RSS news aggregator. </li>
</ul>
<img src="http://feeds.feedburner.com/~r/PHPDevZone/~4/HzsrREPTW1Q" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://devzone.zend.com/6/php-101-php-for-the-absolute-beginner/feed/</wfw:commentRss>
		<slash:comments>48</slash:comments>
		<feedburner:origLink>http://devzone.zend.com/6/php-101-php-for-the-absolute-beginner/</feedburner:origLink></item>
		<item>
		<title>We are pleased to announce that there will be a Zend Framework 1.12 release!</title>
		<link>http://feedproxy.google.com/~r/PHPDevZone/~3/ndZ3rKgw4fg/</link>
		<comments>http://devzone.zend.com/2011/we-are-pleased-to-announce-that-there-will-be-a-zend-framework-1-12-release/#comments</comments>
		<pubDate>Tue, 22 Nov 2011 16:30:57 +0000</pubDate>
		<dc:creator>Ryan Mauger</dc:creator>
				<category><![CDATA[Zend Framework]]></category>
		<category><![CDATA[zf1]]></category>

		<guid isPermaLink="false">http://devzone.zend.com/?p=2011</guid>
		<description><![CDATA[As such, we will be reviewing proposals for any new components which proposers are confident can be completed in time [...]]]></description>
			<content:encoded><![CDATA[<p>As such, we will be reviewing proposals for any new components which proposers are <em>confident</em> can be completed in time for a release timed in December!</p>
<p>If you are sitting on something you would like to see included, or are interested in reviving a proposal to have included in 1.12 (including from the archived proposals list), please get in touch with the CR-Team (zf-crteam@zend.com), and/or move your proposal to the &#8216;Ready For Recommendation&#8217; section in <a href="http://framework.zend.com/wiki/display/ZFPROP/Home" target="_blank">http://framework.zend.com/wiki/display/ZFPROP/Home</a></p>
<p>This release will be in the interests of forward compatibility, to provide an easier transition to ZF2 so if you have any ideas which could help with that, now is the time to make them heard.</p>
<p>In addition to any new components proposed, the Autoloader and EventManager from current ZF2 development will also be included in the release! Along with new Cloud \ Infrastructure and Rackspace components.</p>
<p>A page for tracking the 1.12 release has been created in the wiki for you all to keep up to date with progress:</p>
<p><a href="http://framework.zend.com/wiki/display/ZFDEV/Zend+Framework+1.12" target="_blank">http://framework.zend.com/wiki/display/ZFDEV/Zend+Framework+1.12</a></p>
<img src="http://feeds.feedburner.com/~r/PHPDevZone/~4/ndZ3rKgw4fg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://devzone.zend.com/2011/we-are-pleased-to-announce-that-there-will-be-a-zend-framework-1-12-release/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://devzone.zend.com/2011/we-are-pleased-to-announce-that-there-will-be-a-zend-framework-1-12-release/</feedburner:origLink></item>
		<item>
		<title>Manage cloud infrastructures using Zend Framework</title>
		<link>http://feedproxy.google.com/~r/PHPDevZone/~3/Dl5wfxomizI/</link>
		<comments>http://devzone.zend.com/1984/manage-cloud-infrastructures-using-zend-framework/#comments</comments>
		<pubDate>Fri, 18 Nov 2011 16:38:54 +0000</pubDate>
		<dc:creator>ezimuel</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Zend Framework]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[Rackspace]]></category>

		<guid isPermaLink="false">http://devzone.zend.com/?p=1984</guid>
		<description><![CDATA[Recently, the Zend Framework community has developed a new component for cloud services: Zend_Cloud_Infrastructure. This component was provided to manage [...]]]></description>
			<content:encoded><![CDATA[<p>Recently, the Zend Framework community has developed a new component for cloud services: Zend_Cloud_Infrastructure. This component was provided to manage cloud infrastructures, with a common interface for multiple vendors. In this article we will present the basic usage of this new component with some examples and use cases.</p>
<h2>Background</h2>
<p align="right">&#8220;The cloud is for everyone. The cloud is a democracy.&#8221;<br /> <i>Marc Benioff</i> (CEO, Salesforce.com)</p>
<p>The cloud business is growing very fast, cloud is everywhere and web applications are using these services more and more frequently. In order to manage cloud services, PHP developers need to use specific API provided by the vendors. That means spend time and energy to become familiar with different PHP libraries. Few years ago, <a href="http://www.zend.com">Zend Technologies</a> with the contributions of other companies like IBM, Microsoft, Rackspace, etc, started a new initiative, the <a href="http://www.simplecloud.org">Simple Cloud API</a> to produce a general PHP component to manage different APIs, exposing a single interface. The main scope of the Simple Cloud API iniziative is to unlock application from the effect of <i>vendor lock-in</i>, that is make a customer dependent on a vendor for products and services. Using the Simple Cloud API, PHP developers are free to choose the cloud vendors using an unique API to access the cloud services.</p>
<p>Starting from 2 November 2010 the Simple Cloud API has been included in the Zend Framework 1 project, under the Zend_Cloud namespace. This component of ZF implements three generic cloud services, that are:</p>
<ul>
<li> <b>Document</b> (to manage a key/value database);</li>
<li> <b>Storage</b> (to manage a store system);</li>
<li> <b>Queue</b> (to manage a queue system).</li>
</ul>
<p>The vendors supported, for these components, are reported in the following table:</p>
<table width="500" style="border-collapse: collapse; border-color: gray; border-width: 1px; border-style: inset" cellspacing="10">
<tbody>
<tr>
<th>&nbsp;</th>
<th align="left"><b>Document</b></th>
<th align="left"><b>Queue</b></th>
<th align="left"><b>Storage</b></th>
</tr>
<tr>
<td> <b>Amazon Web Service</b> </td>
<td> x (SimpleDB) </td>
<td> x (SQS) </td>
<td> x (S3) </td>
</tr>
<tr>
<td> <b>Windows Azure</b> </td>
<td> x </td>
<td> x </td>
<td> x </td>
</tr>
<tr>
<td> <b>Nirvanix</b> </td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td> x </td>
</tr>
</tbody>
</table>
<p>Recently, cloud vendors have relased also infrastructure services and we decided to extend the Zend_Cloud component with the Zend_Cloud_Infrastructure. This new component is able to manage cloud infrastructure based on instances (servers) with specific actions: start/stop/restart an instance, monitoring an instance, run remote commands on an instance (deploy), etc.<br />
So far the Zend_Cloud_Infrastructure supports the follwing adapters: <a href="http://aws.amazon.com/ec2/">Amazon EC2</a>, and <a href="http://www.rackspace.com/cloud/cloud_hosting_products/servers/">Rackspace</a>. We (the Zend Framework team) are working on the <a href="http://www.microsoft.com/windowsazure/">Windows Azure</a> and <a href="http://www.gogrid.com/">GoGrid</a> adapters. Moreover, because we released the Rackspace adapter, that is based on <a href="http://www.openstack.org/">OpenStack</a>, we are going also to release the OpenStack infrastructure adapter very soon.</p>
<div id="attachment_2003" class="wp-caption aligncenter" style="width: 510px"><img src="http://devzone.zend.com/wp-content/uploads/2011/11/zend_cloud_diagram.jpg" alt="" title="Zend_Cloud diagram" width="500"  class="size-full wp-image-2003" /><p class="wp-caption-text">Architecture diagram of Zend_Cloud</p></div>
<p>If you are using Zend Framework 1 you can start to use the Zend_Cloud_Infrastructure by downloading the latest SVN from trunk (<a href="http://framework.zend.com/svn/framework/standard/trunk/">http://framework.zend.com/svn/framework/standard/trunk</a>), and it will be available in a public release starting with 1.12.0, which we plan to ship in a couple months.<br />
If you want to use the ZendCloudInfrastructure for Zend Framework 2 you can download the beta1 release (<a href="http://packages.zendframework.com/">click here to download</a>).<br />
We provided a packaging system for ZF2, that means you can install just the ZendCloudInfrastructure package if you want. Check the <a href="http://packages.zendframework.com/">packages.zendframework.com</a> web site to discover how to do that.</p>
<h2>Zend_Cloud_Infrastructure</h2>
<p>In order to provide a common API for different cloud vendors the Zend_Cloud_Infrastructure abstracts a common set of basic operations for the management of instances (servers).<br />
These operations are:</p>
<ul>
<li> create a new instance;</li>
<li> delete a new instance;</li>
<li> start/stop an instance;</li>
<li> reboot an instance;</li>
<li> list of the available instances;</li>
<li> get the status of an instance;</li>
<li> wait for a status change of an instance;</li>
<li> get the public IP or DNS name of the instance;</li>
<li> list all the available images for new instances;</li>
<li> list all the available geographical zones for new instances;</li>
<li> monitor an instance getting the systems information (CPU%, RAM%, DISK%, NETWORK% usage);</li>
<li> deploy of an instance (run arbitrary shell script on an instance).</li>
</ul>
<p>This infrastructure class uses a factory design pattern to manage different cloud vendors (adapters). That means in order to use this class you have to initialize the factory choosing a specific adapters. For instance, to work with the Amazon EC2 adapter you have to initialize the class with following parameters: </p>
<pre>
$key    = 'key';
$secret = 'secret';
$region = 'region';

$infrastructure = Zend_Cloud_Infrastructure_Factory::getAdapter(array(
    Zend_Cloud_Infrastructure_Factory::INFRASTRUCTURE_ADAPTER_KEY => 'Zend_Cloud_Infrastructure_Adapter_Ec2',
    Zend_Cloud_Infrastructure_Adapter_Ec2::AWS_ACCESS_KEY => $key,
    Zend_Cloud_Infrastructure_Adapter_Ec2::AWS_SECRET_KEY => $secret,
    Zend_Cloud_Infrastructure_Adapter_Ec2::AWS_REGION     => $region,
));
</pre>
<p>Instead, if you are using Rackspace you have to use the following parameters:</p>
<pre>
$user= 'username';
$key= 'key';

$infrastructure = Zend_Cloud_Infrastructure_Factory::getAdapter(array(
    Zend_Cloud_Infrastructure_Factory::INFRASTRUCTURE_ADAPTER_KEY => 'Zend_Cloud_Infrastructure_Adapter_Rackspace',
    Zend_Cloud_Infrastructure_Adapter_Rackspace::RACKSPACE_USER => $user,
    Zend_Cloud_Infrastructure_Adapter_Rackspace::RACKSPACE_KEY  => $key
));
</pre>
<p>After the construct of the $infrastructure object we can start to use it. For instance, if we are using Rackspace, we can create a new instance (server) using the following code:</p>
<pre>
$data = array (
    'imageId'  => '49',
    'flavorId' => '1',
    'metadata' => array (
        'foo' => 'bar'
    )
);

$instance= $infrastructure->createInstance('test_shared',$data);

if (!$instance) {
   // Error
}

printf ("Name of the instance: %sn", $instance->getName());
printf ("ID of the instance  : %sn", $instance->getId());
</pre>
<p>The $data array depends on the vendor, in the case of Rackspace we have to specify the image of the instance ($data['imageId']), typically the operating system and the flavor ($data['flavorId']), an available hardware configuration for a server. Each flavor has a unique combination of disk space and memory capacity. This parameters are specified using IDs.<br />
We can also add some metadata information to the instance using an associative arrays of keys and values ($data['metadata']). </p>
<p>To get all the attributes of an instance we can use the getAttributes() method. For instance, to retrieve the admin&#8217;s password of a Rackspace&#8217;s instance we can read the attribute &#8216;adminPass&#8217; after the createInstance operation.</p>
<pre>
$attributes= $instance->getAttributes();
printf ("Admin password of the instance  : %sn", $attributes['adminPass']);

// or

printf ("Admin password of the instance  : %sn", $instance->getAttribute('adminPass'));
</pre>
<p>To start, stop and reboot a server we can use the commands startInstance($id), stopInstance($id), rebootInstance($id), where $id is the id of the instance.<br />
You can check the status of the instance using the statusInstance($id). The Zend_Cloud_Infrastructure provides a method to wait for the status change of an instance, this function is:</p>
<pre>
waitStatusInstance ($id, $status [, $timeout = 30])
</pre>
<p>where $id is the ID of the instance, $status is the status to wait for and $timeout is the optional time of waiting (in seconds). If the instance changes the status in $status, in maximum $timeout seconds, the waitStatusIstance()  returns true, false otherwise. For instance, imagine to reboot an instance and wait for the READY status:</p>
<pre>
if (!$infrastructure->rebootInstance('instance-id')) {
    die ('Error in the execution of the reboot command');
}

echo 'Reboot command executed successfully';

if ($infrastructure->waitStatusInstance('instance-id', Instance::STATUS_RUNNING)) {
    echo 'The instance is ready';
} else {
    echo 'The instance is not ready yet';
}
</pre>
<p>The Zend_Cloud_Infrastructure provides also two special methods to monitoring the usage of instance&#8217;s resources and to deploy on an instance (that means execute remote commands on an instance, this feature uses the <a href="http://php.net/manual/en/book.ssh2.php">SSH2 extension of PHP</a> and is available only for GNU/Linux operating systems).<br />
The resources of an instances that the Infrastructure class manages are: CPU, RAM, DISK READ/WRITE, and NETWORK IN/OUT. This monitor features are strictly related to the API exposed by the cloud vendor (for instance, the Amazon AWS provides the <a href="http://aws.amazon.com/cloudwatch/">CloudWatch</a> services to monitor EC2 instances, and not only). Nonetheless the Zend_Cloud_Infrastructure can retrieve some basic information of the resource usage of an instance even if the cloud vendors doesn&#8217;t expose it. For instance, the Rackspace Servers API do not offer a special API to monitor an instance but the Zend_Cloud_Infrastructures does. This extra features is provided using the deploy features of the Infrastrucutre running remote shell commands to retrieve resources usage like the commands: top, df &#8211;total, etc (Note: this monitor feature is available only for GNU/Linux instances).</p>
<p>For instance, to get the CPU usage of an instance we can use the following code:</p>
<pre>
$cpuUsage= $infrastructure->monitorInstance($id, Zend_Cloud_Infrastructure::MONITOR_CPU);
var_dump($cpuUsage);
</pre>
<p>The $cpuUsage is an associative array with the following structure:</p>
<pre>
array (
    "series" => array (
        0 => array (
            "timestamp" => (int)
            "value" => (int)
        ),
        ...
    ),
    "average" => (int)
)
</pre>
<p>where &#8216;series&#8217; is an array contains the sample of CPU usage (%), got in different timestamps, and &#8216;average&#8217; is the average of these values.</p>
<p>To execute remote commands (deploy) on an instance we can use the deploy() method. Here, there is an example:</p>
<pre>
$params= array (
    Zend_Cloud_Infrastructure_Instance::SSH_USERNAME => 'username',
    Zend_Cloud_Infrastructure_Instance::SSH_PASSWORD => 'password'
);

$cmd= 'ls -la /var/www';

$output= $infrastructure->deployInstance($id, $params, $cmd);

echo "The files in the DocumentRoot of the instance $id are:n";
print_r ($output);
</pre>
<p>This example retrieves the list of the files stored in the default web root of an instance, using the command:
<pre>ls -la /var/www</pre>
<p>.<br />
The remote command is specified in the $cmd variable. If you need to execute multiple commands you can also specify an array of commands.<br />
For instance, the following script install a LAMP stack to an Ubuntu instance and generate a PHP test script on the default document root:</p>
<pre>
$params= array (
    Zend_Cloud_Infrastructure_Instance::SSH_USERNAME => 'username',
    Zend_Cloud_Infrastructure_Instance::SSH_PASSWORD => 'password'
);

$cmd= array (
    'apt-get install apache2 php5 libapache2-mod-php5 mysql-server libapache2-mod-auth-mysql php5-mysql',
    'echo "&lt;?php phpinfo();" > /var/www/test.php'
);

$output= $infrastructure->deployInstance($id, $params, $cmd);

$ip= $infrastructure->getPublicDnsInstance($id);
echo "To check the installation go to http://$ip/test.php".
</pre>
<p>More info about the Zend_Cloud_Infrastructure can be found in the simplecloud.org web site (<a href="http://www.simplecloud.org/api/infrastructure">click here</a>) or in the documentation page of Zend Framework.</p>
<h2>Conclusion</h2>
<p>In this article we just introduced the main features of the new Infrastructure component of Zend_Cloud. Because of the nature of the cloud, this component is very open and &#8220;elastic&#8221;, that means we would like to extend it in the future according with the new API coming from the vendors and with your feedbacks, coming from the community. In order to get more feedbacks about the cloud components of the Zend Framework project we created a new mailing list, that is zf-cloud@lists.zend.com (to subscribe send an empty email to zf-cloud-subscribe@lists.zend.com). Join us to know more about PHP and cloud!</p>
<img src="http://feeds.feedburner.com/~r/PHPDevZone/~4/Dl5wfxomizI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://devzone.zend.com/1984/manage-cloud-infrastructures-using-zend-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://devzone.zend.com/1984/manage-cloud-infrastructures-using-zend-framework/</feedburner:origLink></item>
		<item>
		<title>Zend Framework 2.0.0beta1 Released!</title>
		<link>http://feedproxy.google.com/~r/PHPDevZone/~3/6VVSx_Wl_fM/</link>
		<comments>http://devzone.zend.com/1935/zend-framework-200beta1-released/#comments</comments>
		<pubDate>Tue, 18 Oct 2011 07:44:29 +0000</pubDate>
		<dc:creator>weierophinney</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Zend Framework]]></category>

		<guid isPermaLink="false">http://devzone.calevans.com//?p=1935</guid>
		<description><![CDATA[<p>
The Zend Framework community is pleased to announce the immediate availability
of Zend Framework 2.0.0beta1. Packages and installation instructions are
available at:
</p>

<dl>
    <dd>
    <a href="http://packages.zendframework.com/">http://packages.zendframework.com/</a>
    </dd>
</dl>
]]></description>
			<content:encoded><![CDATA[<p>
The Zend Framework community is pleased to announce the immediate availability<br />
of Zend Framework 2.0.0beta1. Packages and installation instructions are<br />
available at:
</p>
<dl>
<dd>
    <a href="http://packages.zendframework.com/">http://packages.zendframework.com/</a>
    </dd>
</dl>
<p>
This is the first in a series of planned beta releases. The beta release<br />
cycle will follow the &#8220;gmail&#8221; style of betas, whereby new features will<br />
be added in each new release, and BC will not be guaranteed; beta<br />
releases will happen <em>no less than</em> every six weeks. The desire is for<br />
developers to adopt and work with new components as they are shipped, and<br />
provide feedback so we can polish the distribution.
</p>
<p>
Once all code in the proposed <a href="http://framework.zend.com/wiki/pages/viewpage.action?pageId=43745438">standard distribution</a><br />
has reached maturity and reasonable stability, we will freeze the API and<br />
prepare for Release Candidate status.
</p>
<p>
Featured components and functionality of 2.0.0beta1 include:
</p>
<ul>
<li>
New and refactored autoloaders:</p>
<ul>
<li>
Zend\Loader\StandardAutoloader
</li>
<li>
Zend\Loader\ClassMapAutoloader
</li>
<li>
Zend\Loader\AutoloaderFactory
</li>
</ul>
</li>
<li>
New plugin broker strategy</p>
<ul>
<li>
Zend\Loader\Broker and Zend\Loader\PluginBroker
</li>
</ul>
</li>
<li>
Reworked Exception system</p>
<ul>
<li>
Allow catching by specific Exception type
</li>
<li>
Allow catching by component Exception type
</li>
<li>
Allow catching by SPL Exception type
</li>
<li>
Allow catching by base Exception type
</li>
</ul>
</li>
<li>
Rewritten Session component
</li>
<li>
Refactored View component</p>
<ul>
<li>
Split helpers into a PluginBroker
</li>
<li>
Split variables into a Variables container
</li>
<li>
Split script paths into a TemplateResolver
</li>
<li>
Renamed base View class &#8220;PhpRenderer&#8221;
</li>
<li>
Refactored helpers to utilize __invoke() when possible
</li>
</ul>
</li>
<li>
Refactored HTTP component
</li>
<li>
New Zend\Cloud\Infrastructure component
</li>
<li>
New EventManager component
</li>
<li>
New Dependency Injection (Zend\Di) component
</li>
<li>
New Code component</p>
<ul>
<li>
Incorporates refactored versions of former Reflection and<br />
     CodeGenerator components.
</li>
<li>
Introduces Scanner component.
</li>
<li>
Introduces annotation system.
</li>
</ul>
</li>
</ul>
<p>
The above components provide a solid foundation for Zend Framework 2, and<br />
largely make up the framework &#8220;core&#8221;. However, the cornerstone feature of beta1<br />
is what they enable: the new MVC layer:
</p>
<ul>
<li>
Zend\Module, for developing modular application architectures.
</li>
<li>
Zend\Mvc, a completely reworked MVC layer built on top of HTTP,<br />
   EventManager, and Di.
</li>
</ul>
<p>
We&#8217;ve built a <a<br />
    href="http://github.com/zendframework/ZendSkeletonApplication">skeleton<br />
    application</a> and a <a<br />
    href="http://github.com/zendframework/ZendSkeletonModule">skeleton<br />
    module</a> to help get you started, as well as a <a<br />
    href="http://packages.zendframework.com/docs/latest/manual/en/zend.mvc.quick-start.html">quick start<br />
    guide to the MVC</a>; the new MVC is truly flexible, and moreover, simple and<br />
powerful.
</p>
<p>
Additionally, for those who haven&#8217;t clicked on the packages link above, we are<br />
debuting our new distribution mechanisms for ZF2: the ability to use<br />
<a href="http://pear2.php.net">Pyrus</a> to install individual components and/or groups of<br />
components.
</p>
<p>
Since mid-August, we&#8217;ve gone from a <em>few dozen</em> pull requests on the<br />
<a href="http://github.com/zendframework/zf2">ZF2 git repository</a> to <strong><em>over 500</em></strong>,<br />
originating from both long-time Zend Framework contributors as well as those<br />
brand-new to the project. I&#8217;d like to thank each and every one of them, but also<br />
call out several individuals who have made some outstanding and important<br />
contributions during that time frame:
</p>
<ul>
<li>
<a href="http://evan.pro">Evan Coury</a>, who prototyped and then implemented the new<br />
   module system.
</li>
<li>
<a href="http://akrabat.com">Rob Allen</a>, who, because he was doing a tutorial at<br />
   <a href="http://conference.phpnw.org.uk/">PHPNW</a> on ZF2, provided a lot of early<br />
   feedback, ideas, and advice on the direction of the MVC.
</li>
<li>
<a href="http://www.dasprids.de/">Ben Scholzen</a>, who wrote a new router system, in<br />
   spite of a massive injury from a cycling accident.
</li>
<li>
<a href="http://ralphschindler.com">Ralph Schindler</a>, who has had to put up with my<br />
   daily &#8220;devil&#8217;s advocate&#8221; and &#8220;think of the user!&#8221; rants for the past several<br />
   months, and still managed to provide comprehensive code manipulation tools, a<br />
   Dependency Injection framework, and major contributions to the HTTP<br />
   component.
</li>
<li>
<a href="http://www.zimuel.it/en/">Enrico Zimuel</a>, who got tossed requirements for the<br />
   cloud infrastructure component, and then had to rework most of it after<br />
   rewriting the HTTP client from the ground up&#8230; and who still managed three<br />
   back-to-back-to-back conferences as we prepared the release.
</li>
<li>
<a href="http://www.linkedin.com/in/abodera">Artur Bodera</a>, who often has played<br />
   devil&#8217;s advocate, and persisted pressing his opinions on the direction of the<br />
   framework, often despite heavy opposition. We may not implement all (or many)<br />
   of the features you want, but you&#8217;ve definitely influenced the direction of<br />
   the MVC incredibly.
</li>
<li>
<a href="http://blog.astrumfutura.com/">Pádraic Brady</a>, who<br />
   <a href="http://zend-framework-community.634137.n4.nabble.com/A-Rant-From-Mr-Grumpy-on-ZF2-tp3721463p3721463.html">started the runaway train rolling with a rant</a>,<br />
   and helped make the project much more transparent, enabling the MVC<br />
   development to occur in the first place.
</li>
</ul>
<p>
Welcome to the ZF2 beta cycle!</p>
<img src="http://feeds.feedburner.com/~r/PHPDevZone/~4/6VVSx_Wl_fM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://devzone.zend.com/1935/zend-framework-200beta1-released/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		<feedburner:origLink>http://devzone.zend.com/1935/zend-framework-200beta1-released/</feedburner:origLink></item>
	</channel>
</rss>

