Introduction to Solar
by Paul M. Jones
(2006-07-26)
The Solar library and application framework can make your development efforts faster, easier, more secure, and more structurally predictable. This article, by Solar's creator Paul M. Jones, talks about the foundational concepts underpinning the technical aspects of the Solar project.
Solar (http://solarphp.com) is a library and framework for developing PHP 5 applications. While it takes many cues from PEAR for organization and coding standards, Solar is a unified library instead of a collection of separate packages, and provides an example implementation for how to build your own applications and libraries in a predictable and well-structured way.
Background
Solar does not enjoy the popular mindshare or committed corporate resources of the Zend Framework. However, Solar offers significant advantages for even moderately experienced developers:
- Solar is more mature and has more fundamental capabilities built into it than Zend Framework does. These fundamentals include authentication, access control, roles, form processing, a more consistent and extensible view helper system, automated discovery of views and layouts from the page controller, localization of text strings, and much more.
- Solar comes with a reference implementation, Solar_App_Bookmarks, to show how all the pieces tie together in a real working application.
- Development occurs at a more rapid pace, even though Solar has only one part-time committer; releases are smaller and more-frequent, and project response time to feature requests and bug reports is much faster.
- The mailing list traffic is centered more on how to use Solar rather than on discussions of package proposals and administrative trivia; some of the other original Zend Framework authors (of which I am one ;-) contribute regularly to the list.
This article will take you through some of the underlying concepts of how Solar works. Later articles will show how to use Solar as a library system, and how to use it as a framework for application development.