GSoC/GCI Archive
Google Summer of Code 2009

PHP

Web Page: http://wiki.php.net/gsoc/2009

Mailing List: internals@lists.php.net

PHP is a widely-used general-purpose scripting language that is especially suited for Web development and can be embedded into HTML. If you are new to PHP and want to get some idea of how it works, try the introductory tutorial. After that, check out the online manual, and the example archive sites and some of the other resources available in the links section.

Projects

  • Abstract Extension API and Dependency Interface The objective of this project is to develop functionality for PHP that will allow extensions to register a set of functions as a versioned API, since PHP does not currently handle interdependencies among PHP extensions well, which leads to various problems. This would also solve the current problem of extension load order.
  • Benchmark creation I'm an 20 year old male, studying for a masters degree in computer science. I see this as a great chance to get involved in a bigger open source projects - something which I've always been intersted in. I got interested in the creation of the new php benchmark suite because of my earlier experiences of benchmarking, as I did a javascript benchmarking test to compare the 5 most popular web browsers during a school work this year. I would like to make the most of this and I'm willing to work hard for it. I have lots of coding experience from my own projects which is producing websites for companies as well as running a free web host for Swedish people. This have given me knowledge about planning and I know that its not a good idea to start coding too late. I believe I have some good thoughts about this benchmark suite and I have a goal to achieve.
  • PhD Improvements (Plugin System) Today, Phd is centric in php.net projects and needs some improvements to be useful to others projects. In Google Summer of Code 2008 was added output formats/themes and other things, however these formats/themes are very attached to the main code of the PhD and is impossible to develop a new theme without changing the main code. The aim of my proposal is develop a Plugin System to manage Themes and Formats, to enable other projects writing their own themes without modify the main code of PhD.
  • PhD O.E. - Online editor for the PHP Manual Currently, the documentation work is synchronized by cvs. But still, there are potential conflicts due to redundant work. Besides, it's not that easy to share the works or even pipelining the works in a distributed environment. Therefore, a centralized environment is introduced. The editor is still under development and the source can be found by http://cvs.php.net/viewvc.cgi/doc-editor/ To checkout: cvs -d :pserver:cvsread@cvs.php.net:/repository checkout doc-editor
  • run-tests.php improvements The current version of the script is used to run more than 8000 tests which takes an unacceptably long time. The main goal of this project is to convert the existing code in a in modern object-orientated structure. A multi-process-architecture makes it possible to run the test-cases parallel instead of passing them through sequentially which will improve the performance considerably. Another focus is to offer a rich variant of reporting-features and the possibility to store and compare results.