Solar 0.14.0 Released

Second release in two days! Amazing how “employed” I am, after having quit Zend. πŸ˜‰

Solar is a simple object library and application repository for PHP5. It is framework-and-library for web-application development, with an emphasis on distribution, localization, and database portability. You can download it via a PEAR channel and browse the Subversion repository.

Here are some highlights from the change notes:

  • The PEAR installer is still the recommended means of installing and upgrading Solar, but it is no longer required. You can now download the pearball directly, place the files manually, and they’ll work just fine.
  • Solar/Layouts has moved to Solar/App/Layouts.
  • There are no more app-specific Public/ directories; instead, all public resources for Solar apps are in Solar/App/Public/, and are broken down by images/, scripts/, and styles/.
  • Solar_Filter has more methods, and the names have changed (see the change notes for full details).
  • Solar_Valid has changed some method names (see the change notes for full details)
  • Solar_Controller_Front::_setup() no longer registers sql, user, and content objects; these registrations have been moved down to the Solar_App page controller to lazy-load them as late as possible.

Of particular note, the Solar_Form form processor, and the related Solar_View_Helper_Form class, combined with the new default.css file, now highlight the feedback messages differently based on the form status (i.e., validation “success” or “failure”).

I have also updated the solarphp.com site with the new documentation, and the new doc-reading infrastructure. It’s mostly technical API documentation, but there are some actual tutorial pieces in place. Also, for now, this means no more user-comments on the site, but I’ll keep the existing ones and put them back once I build a new commenting app.

The next major tasks are to refine the Solar_Sql_Select column deconfliction logic, and/or add Solar_Sql_TableRow and _TableRowset classes, perhaps to replace Solar_Sql_Result.

After that, I’ll be ready to move Solar out of “development” to an alpha or even beta status. That will be a happy day. πŸ™‚

Differences Between Solar and Zend Framework

(This is an edited and collated version of an email thread from the solar-talk list.)

Even though (or perhaps because) the Solar project pre-dates the newly-released Zend Framework by about a year, I’ve had a couple of private emails asking me if I will discontinue Solar, or rewrite Solar on top of the Zend Framework. The short answer to both of these, at least for now, is “No — Solar is not going away.” Especially now that I’m not at Zend any more. πŸ˜‰

The long answer is, “Even though Solar and Zend Framework share a similar underlying architecture, Solar has implementation goals that are quite different than Zend Framework; these differences make it reasonable to continue Solar as a separate project.”

Continue reading

Resigned from Zend

As my family and a few close friends already know, I have quit Zend. While unfortunate, it was necessary.

My sister Amy once told me that, sometimes, “people don’t quit their jobs, they quit their managers” and that is definitely the case here. The people I worked with are some of the best I’ve ever known (Mike, Matthew, Lucas, and everyone else). The work itself was great; although I got to develop some portions of the new Zend Framework, most of my work was internal-only, and I’m happy I was able to be of service to them. Unfortunately, my manager and I just did not work well together. I thought I could adapt myself to his style, but after three months of back-and-forth it wasn’t happening. In the end, there was no reasonable solution other than to tender my resignation, which I did last Tuesday, and my last full day was last Wednesday.

So what’s next? I’ve got enough saved to live on comfortably for the next few months, longer if I go into austerity measures. I think I’m going to take some “me” time for the next few weeks. I can catch up on my reading, work on bringing the core of Solar to a full stable release, drive around and see some friends and family, even start blogging more. After that I can start looking for work again; I think I’ve earned a bit of vacation time. πŸ™‚

Update (next day) … I don’t know what to say; the flood of support and good will from everyone has been amazing. I had no idea. I think I’ve replied personally to everyone who posted a comment or sent an email; if I have not, please accept my apologies, and my thanks for your good wishes. Thank you all so much. πŸ™‚

Savant2 Bugfix Release

David Mytton of Olate noted a typo related to setting __autoload() usage in the Savant2 constructor; I have rolled a new release (version 2.4.3) with that fix in place. Thanks, David!

(Savant is a template system for PHP; it uses PHP itself for the template markup, and provides object-oriented plugins and filters. Savant2 is for PHP4 and PHP5, while Savant3 is the PHP5-only and E_STRICT compliant.)