From: Arnold C. <arn...@ya...> - 2003-01-07 23:26:56
|
Hi Everyone, I would just like to start by saying thanks to those that have posted ideas and are interested in getting a community formed around Phrame. Phrame started as a solution to the problem of developing/maintaining a large PHP project at work. I would like to start by addressing some things I have come across in reading comments about Phrame on various PHP websites. 1. Phrame was initially "based" on the "design" of Struts but was never intended to be a direct port. PHP and Java are like apples and oranges. 2. I intend for Phrame's evolution to be guided by the Phrame community, not necessarily the Struts community. 3. The Struts "design" was sound and seemed like a good starting place for Phrame's development. Whew... that said, I would like to start a discussion on some ideas I have for the future. These are just ideas at this point meant to spark some conversation for future development. 1. All subsequent versions of Phrame will be released under the LGPL license instead of the GPL (thanks Kaede Rokawa). 2. I am not sure I want to keep the "utils" classes. They are very Java-ish and I don't intend on trying to recreate the Java Class Library. Perhaps utilizing an existing class library such as Eclipse (http://www.students.cs.uu.nl/people/voostind/eclipse/) would be a better idea? 3. The current design is not as efficient as it could be because every request into the controller results in an additional request via HTTP redirect via a call to the PHP header() method (thanks Ross Keatinge). I modified a local copy of Phrame to output the view directly as part of the original HTTP request. This change resulted in a new ActionView class that contained a display() method. From an Action's perform() method I would return an ActionView object to the ActionController. Then in the index.php file I would get a reference to the ActionView object from the ActionController and call it's display() method. This change shouldn't affect Phrame's ability to use various display technologies such as Smarty, XSLT, Flash, etc. 4. I also wanted to point out an easier way of handling the mappings array. The current example uses the following structure: ... _ACTION_FORMS => array( 'form' => array( _TYPE => 'HelloForm' ) ), ... This could be simplified into the following structurally equivalent syntax: ... $mappings[_ACTION_FORMS]['form'][_TYPE] = 'HelloForm'; ... 5. I would also like to deprecate the Xml::marshal() method in favor of PHP's WDDX serialize/deserialize methods. Well, thats all I can remember for now but I'm sure there is enough to get a conversation started. :) Thanks, Arnold __________________________________________________ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com |