Hi Michael,

I have been working on a blog post recently about dealing with globals
in large legacy code bases and my approach to it. I have just
published it and I think it might be of some use to you
http://blog.simonholywell.com/post/2072272471/logging-global-php-objects-lazy-loading-proxy

Basically I have put a proxy object in place that is best described as
a lazy loading proxy, which can also be used to better understand what
your legacy application is doing with global objects through logging.

I am in the process of doing something similar to yourself where I am
slowly swapping out various parts of the application as I go. I am not
swapping in Agavi though on this one.

Thanks,
Simon

On 2 December 2010 06:56, Michael McHugh <[email protected]> wrote:
> Hi Folks,
>
> Company I work for licenses the source code of a legacy system that has been 
> drip feeding updates over the last few years and I have finally been given 
> approval to migrate it to the Agavi framework (license allows us to change 
> any code).
>
> I'm curious on any advice, tips, tricks or thoughts any others may have from 
> experience doing a similar thing. A couple of my ideas on this are below..
>
> 1/ The idea is to initially wrap the application in the framework and slowly 
> refactor/extract parts of the original code into Agavi. I was thinking of 
> using a default route that passed to a module/action pair of something like 
> Legacy/Default that simply called the appropriate legacy script.
>
> 2/ Legacy code has significant use of globals and $_POST, $_GET, $_REQUEST 
> and $_COOKIE variables...<shudders> so in factories.xml would need to set the 
> 'unset_input' parameter to false on the AgaviWebRequest object. Until this 
> was addressed anyway.
>
> And just to vent because I am the only coder on this project - this legacy 
> beast uses include('someFunction.inc') as if it were equivalent to 
> someFunction()  ;)
>
> Regards,
> Michael (@AlchemyCS)
> _______________________________________________
> users mailing list
> [email protected]
> http://lists.agavi.org/mailman/listinfo/users
>



-- 
Simon Holywell
simonholywell.com

_______________________________________________
users mailing list
[email protected]
http://lists.agavi.org/mailman/listinfo/users

Reply via email to