<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.1.3" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Comments on: How to Convert a Legacy Site over to Zend Framework - 1 Favour Refactoring over Rewriting</title>
	<link>http://www.eatmybusiness.com/food/2010/05/18/how-to-convert-a-legacy-site-over-to-zend-famework-1-favour-refactoring-over-rewriting/165/</link>
	<description>Web Publishing Techniques</description>
	<pubDate>Sat, 19 May 2012 13:08:34 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.1.3</generator>

	<item>
		<title>By: Till</title>
		<link>http://www.eatmybusiness.com/food/2010/05/18/how-to-convert-a-legacy-site-over-to-zend-famework-1-favour-refactoring-over-rewriting/165/#comment-18153</link>
		<author>Till</author>
		<pubDate>Fri, 04 Jun 2010 12:46:21 +0000</pubDate>
		<guid>http://www.eatmybusiness.com/food/2010/05/18/how-to-convert-a-legacy-site-over-to-zend-famework-1-favour-refactoring-over-rewriting/165/#comment-18153</guid>
					<description>Hi Johnnie, 

nice article about the thoughts a PHP developer has with every new project. We were at this point in early 2009. We managed to refactor our complete CMS / Shop / App Suite to be ZF based. And we invented some kind of "app-paradigm" to reuse apps in different projects. Maybe it is just what you are looking for: http://www.redsparkframework.com. By the way, its open and mostly for free.

I would be interested in feedback if it met your requirements. 

Unfortunately it's still in german, feel free to ask by mail if google translate screws things up ;-)

Best,
Till</description>
		<content:encoded><![CDATA[<p>Hi Johnnie, </p>
<p>nice article about the thoughts a PHP developer has with every new project. We were at this point in early 2009. We managed to refactor our complete CMS / Shop / App Suite to be ZF based. And we invented some kind of &#8220;app-paradigm&#8221; to reuse apps in different projects. Maybe it is just what you are looking for: <a href="http://www.redsparkframework.com." rel="nofollow">http://www.redsparkframework.com.</a> By the way, its open and mostly for free.</p>
<p>I would be interested in feedback if it met your requirements. </p>
<p>Unfortunately it&#8217;s still in german, feel free to ask by mail if google translate screws things up ;-)</p>
<p>Best,<br />
Till</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Ulrich</title>
		<link>http://www.eatmybusiness.com/food/2010/05/18/how-to-convert-a-legacy-site-over-to-zend-famework-1-favour-refactoring-over-rewriting/165/#comment-18262</link>
		<author>Ulrich</author>
		<pubDate>Tue, 07 Sep 2010 10:00:39 +0000</pubDate>
		<guid>http://www.eatmybusiness.com/food/2010/05/18/how-to-convert-a-legacy-site-over-to-zend-famework-1-favour-refactoring-over-rewriting/165/#comment-18262</guid>
					<description>I just discovered your post via an article in the German PHP Magazin (http://it-republik.de/php/, printed article, issue 6.10). About RedSpark ^^ :-)

I absolutely share your approach to refactor until the legacy app mimics the new framework driven structure BEFORE eventually merging with ZF.

Two questions:

1. qutoting you: "I have faced a horrible legacy mess of a site but I took the time to attack it."
On the About Page you mentioned your memory was terrible :-P Can you somehow find out how big (loc) that application was? What kind of an app was it? Did you successfully migrate the whole app to ZF? How long did it take?

2. quote: "(Yes, I use SVN too - but that I see that as more of a refactoring tool than a rewriting tool.)"
How do you relate SVN to rewriting and refactoring? I don't get that. Can you clarify on which SVN features or general versioning techniques you are using for refactoring legacy code?

I am very much interested in this very specific subject (PHP + Refactoring + ZF) and also building a business on top of the whole idea.

So I'd love to read your thoughts on the two questions. Or send me a mail!</description>
		<content:encoded><![CDATA[<p>I just discovered your post via an article in the German PHP Magazin (http://it-republik.de/php/, printed article, issue 6.10). About RedSpark ^^ :-)</p>
<p>I absolutely share your approach to refactor until the legacy app mimics the new framework driven structure BEFORE eventually merging with ZF.</p>
<p>Two questions:</p>
<p>1. qutoting you: &#8220;I have faced a horrible legacy mess of a site but I took the time to attack it.&#8221;<br />
On the About Page you mentioned your memory was terrible :-P Can you somehow find out how big (loc) that application was? What kind of an app was it? Did you successfully migrate the whole app to ZF? How long did it take?</p>
<p>2. quote: &#8220;(Yes, I use SVN too - but that I see that as more of a refactoring tool than a rewriting tool.)&#8221;<br />
How do you relate SVN to rewriting and refactoring? I don&#8217;t get that. Can you clarify on which SVN features or general versioning techniques you are using for refactoring legacy code?</p>
<p>I am very much interested in this very specific subject (PHP + Refactoring + ZF) and also building a business on top of the whole idea.</p>
<p>So I&#8217;d love to read your thoughts on the two questions. Or send me a mail!</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: John</title>
		<link>http://www.eatmybusiness.com/food/2010/05/18/how-to-convert-a-legacy-site-over-to-zend-famework-1-favour-refactoring-over-rewriting/165/#comment-18264</link>
		<author>John</author>
		<pubDate>Wed, 08 Sep 2010 15:32:30 +0000</pubDate>
		<guid>http://www.eatmybusiness.com/food/2010/05/18/how-to-convert-a-legacy-site-over-to-zend-famework-1-favour-refactoring-over-rewriting/165/#comment-18264</guid>
					<description>Hi Ulrich,
Thanks for your comment.

Big in Germany eh! I seem to have 'done a Hasselhoff'.

1. It was about 800,000 lines of code. Not all of it was converted to ZF. Some was concreted over with an anti-corruption layer. Its an ongoing process - but the hard work was spread over about 2 years to turn it from 'shanty town' to 'manageable'. (I spent a long time doing wrong things and made every mistake you could imagine - so it was a major learning experience!)

2. The svn comment was to acknowledge the fact that version control techniques (tag, branch, merge) are useful for tying small rewrites back into the fold with continuous integration.

I'm glad to hear that you are building a business on this topic. I think there is a lot PHP code out there needing some love and attention. Its probably due to the ability for anyone, like myself, to make a PHP application with little computer science/programming experience and a dangerous amount of enthusiasm.

</description>
		<content:encoded><![CDATA[<p>Hi Ulrich,<br />
Thanks for your comment.</p>
<p>Big in Germany eh! I seem to have &#8216;done a Hasselhoff&#8217;.</p>
<p>1. It was about 800,000 lines of code. Not all of it was converted to ZF. Some was concreted over with an anti-corruption layer. Its an ongoing process - but the hard work was spread over about 2 years to turn it from &#8217;shanty town&#8217; to &#8216;manageable&#8217;. (I spent a long time doing wrong things and made every mistake you could imagine - so it was a major learning experience!)</p>
<p>2. The svn comment was to acknowledge the fact that version control techniques (tag, branch, merge) are useful for tying small rewrites back into the fold with continuous integration.</p>
<p>I&#8217;m glad to hear that you are building a business on this topic. I think there is a lot PHP code out there needing some love and attention. Its probably due to the ability for anyone, like myself, to make a PHP application with little computer science/programming experience and a dangerous amount of enthusiasm.</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Ulrich</title>
		<link>http://www.eatmybusiness.com/food/2010/05/18/how-to-convert-a-legacy-site-over-to-zend-famework-1-favour-refactoring-over-rewriting/165/#comment-18293</link>
		<author>Ulrich</author>
		<pubDate>Wed, 15 Sep 2010 10:30:57 +0000</pubDate>
		<guid>http://www.eatmybusiness.com/food/2010/05/18/how-to-convert-a-legacy-site-over-to-zend-famework-1-favour-refactoring-over-rewriting/165/#comment-18293</guid>
					<description>Thanks for the reply John.

2 years to turn it into 'manageable'? Pew.

&#62;dangerous amount of enthusiasm
:))

&#62;(I spent a long time doing wrong things and made every mistake you could imagine - so it was a major learning experience!)

I'd love to read about the biggest lessons you learned. And how you would approch the same problem now. What would you focus on now? Which were the biggest mistakes that should to be avoided and why? Which best practices would you suggest and why?

Are you interested in writing a guest post on my future website about the whole experience? The project's home will be: http://www.refactorphp.com/. I'll be presenting material about refactoring php apps, probably including a blog, also with related guest articles.

Please let me know if you are interested. Maybe you would like to revisit the URL occasionally until there is some actual content ... which will be hopefully very soon ;-)</description>
		<content:encoded><![CDATA[<p>Thanks for the reply John.</p>
<p>2 years to turn it into &#8216;manageable&#8217;? Pew.</p>
<p>&gt;dangerous amount of enthusiasm<br />
:))</p>
<p>&gt;(I spent a long time doing wrong things and made every mistake you could imagine - so it was a major learning experience!)</p>
<p>I&#8217;d love to read about the biggest lessons you learned. And how you would approch the same problem now. What would you focus on now? Which were the biggest mistakes that should to be avoided and why? Which best practices would you suggest and why?</p>
<p>Are you interested in writing a guest post on my future website about the whole experience? The project&#8217;s home will be: <a href="http://www.refactorphp.com/." rel="nofollow">http://www.refactorphp.com/.</a> I&#8217;ll be presenting material about refactoring php apps, probably including a blog, also with related guest articles.</p>
<p>Please let me know if you are interested. Maybe you would like to revisit the URL occasionally until there is some actual content &#8230; which will be hopefully very soon ;-)</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: John</title>
		<link>http://www.eatmybusiness.com/food/2010/05/18/how-to-convert-a-legacy-site-over-to-zend-famework-1-favour-refactoring-over-rewriting/165/#comment-18299</link>
		<author>John</author>
		<pubDate>Thu, 16 Sep 2010 18:09:05 +0000</pubDate>
		<guid>http://www.eatmybusiness.com/food/2010/05/18/how-to-convert-a-legacy-site-over-to-zend-famework-1-favour-refactoring-over-rewriting/165/#comment-18299</guid>
					<description>Hi Ulrich, 
Yes - it took ages. The task was not just about converting a legacy site to ZF. More accurately, it was also a conversion from 'procedural PHP' into 'OOP PHP + Zend Framework'.

I suppose one of the most important things that I have learned is that...I am a 'computer programmer'. 

If you study to become a programmer it is no surprise when you become one. 

I *used* programming  techniques to add a bit of dynamism to an existing, flat, web site, then a bit more, then a bit more. One day I discovered that this thing that I was doing had a name - 'programming'.

Then, the next lesson I learned was to 'keep on learning' - the more I learned, the more I realised how little I knew.

I learnt so much from books like 'PHP 5 Objects, Patterns, and Practice - Zandstra', 'Design Patterns - GoF', 'POEAA, Fowler', 'DDD - Evans'.

They were really good at providing answers to many of the problems that I was facing. But, sometimes they opened up many more questions. Often these teachings did not square with my own requirements.

So, the next thing I learned was to have 'enough strength of my own convictions to challenge the Gospel'. 

The POEAA book, for example, is a really useful pattern catalogue for designing 'Enterprise Applications'. But, an Enterprise Application is not exactly a 'web site' as we know of it today. I cannot remember seeing the phrase 'SEO' in that book, yet SEO is an important aspect of web design. 

There came a point where I was confident that I understood a lot of what the 'Small-talk-school' was advocating (with its years of experience in designing desk-top and enterprise applications). But, I had to mix this &lt;em&gt;gospel&lt;/em&gt; with my own 'web scripting' experience. 

If you throw yourself into the MVC pattern, for example, you'd be forgiven for thinking that a web interface was simply a replaceable View of a Model. But, if you take SEO seriously, you have to think of the 'web imprint' of your web site as a model in itself. Not just any model. Its a &lt;em&gt;published model&lt;/em&gt;, an API that you gave to the World, and the World cares about every change that you make to it. So, in essence if you treat a website like a 'lonesome desktop app'  and try to squeeze it into one Model , one Controller and one View you'll end up getting a bit stuck. 

anyway....I'm going to cut myself short cos i am starting to write an essay.</description>
		<content:encoded><![CDATA[<p>Hi Ulrich,<br />
Yes - it took ages. The task was not just about converting a legacy site to ZF. More accurately, it was also a conversion from &#8216;procedural PHP&#8217; into &#8216;OOP PHP + Zend Framework&#8217;.</p>
<p>I suppose one of the most important things that I have learned is that&#8230;I am a &#8216;computer programmer&#8217;. </p>
<p>If you study to become a programmer it is no surprise when you become one. </p>
<p>I *used* programming  techniques to add a bit of dynamism to an existing, flat, web site, then a bit more, then a bit more. One day I discovered that this thing that I was doing had a name - &#8216;programming&#8217;.</p>
<p>Then, the next lesson I learned was to &#8216;keep on learning&#8217; - the more I learned, the more I realised how little I knew.</p>
<p>I learnt so much from books like &#8216;PHP 5 Objects, Patterns, and Practice - Zandstra&#8217;, &#8216;Design Patterns - GoF&#8217;, &#8216;POEAA, Fowler&#8217;, &#8216;DDD - Evans&#8217;.</p>
<p>They were really good at providing answers to many of the problems that I was facing. But, sometimes they opened up many more questions. Often these teachings did not square with my own requirements.</p>
<p>So, the next thing I learned was to have &#8216;enough strength of my own convictions to challenge the Gospel&#8217;. </p>
<p>The POEAA book, for example, is a really useful pattern catalogue for designing &#8216;Enterprise Applications&#8217;. But, an Enterprise Application is not exactly a &#8216;web site&#8217; as we know of it today. I cannot remember seeing the phrase &#8216;SEO&#8217; in that book, yet SEO is an important aspect of web design. </p>
<p>There came a point where I was confident that I understood a lot of what the &#8216;Small-talk-school&#8217; was advocating (with its years of experience in designing desk-top and enterprise applications). But, I had to mix this <em>gospel</em> with my own &#8216;web scripting&#8217; experience. </p>
<p>If you throw yourself into the MVC pattern, for example, you&#8217;d be forgiven for thinking that a web interface was simply a replaceable View of a Model. But, if you take SEO seriously, you have to think of the &#8216;web imprint&#8217; of your web site as a model in itself. Not just any model. Its a <em>published model</em>, an API that you gave to the World, and the World cares about every change that you make to it. So, in essence if you treat a website like a &#8216;lonesome desktop app&#8217;  and try to squeeze it into one Model , one Controller and one View you&#8217;ll end up getting a bit stuck. </p>
<p>anyway&#8230;.I&#8217;m going to cut myself short cos i am starting to write an essay.</p>
]]></content:encoded>
				</item>
</channel>
</rss>

