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
