5 ms·
Tell HN: HeavyMetal for PHP released
We've open sourced most of the framework we used to build massify.com to the world. We're still working on the release, but there's a usable version available on GitHub.
Three years of development on this framework. Designed for scale, designed by people who hate PHP but have to work with it everyday. It's been in active production for 2+ years now and smooth sailing the entire way.
This isn't an official release, just a notice to any HN hackers who might be interested in a PHP framework designed by a bunch of python, .NET and Java hackers.
You can get it here:
http://getheavy.info
Or the NSFW link:
http://heavyfuckingmetal.com/
Would love feedback.
Cheers!
Your friends at Massify.
- wvenable 17y agoInteresting thoughts on autoloading: http://wiki.getheavy.info/index.php/A_Note_About_Auto-Loading http://wiki.getheavy.info/index.php/A_Note_About_Auto-Loadin... I'm disappointed more frameworks don't autoload. I much prefer it to manually loading everything and I've used both styles over the years. There is also the small performance benefit of only loading classes I need at runtime rather than loading every possible class at parse time. But really, requiring everything manually seems redundant to me.
- jawngee 17y agoHeavyMetal uses something similar that provides similar functionality, but maintains the explicit declarations to keep your codebase organized as well as directory portable: uses('system.app.view'); This includes the View class from the /sys/app/view.php Alternately, you can also do: $obj=instance('sys.app.view'); either way the goal is to maintain clarity which php's autoload stuff makes a mess of. Sorry typing on my iPhone is a bitch.
- wvenable 17y agoI've been doing that since the PHP3 days (before require_once existed, and you had to track repeated requires yourself). Since moving to autoload with PHP5, I don't find any loss of clarity. I'm curious what mess you get from autoloading?
- yannis 17y agoSpend a few minutes on it. Got an error: Call to undefined function syck_load() Loading classes when you need them only is a good principle. Question, did you ever consider extending a public framework rather than your own? CodeIgniter comes to mind. What motivated you to start from scratch? As a sideline I am currently in Qatar heavyfuckingmetal.com got censored!
- pyman2 17y agoIt sucks dude! Stick to Symfony, Django and Rails. When are these ASP.NET and PHP developers going to learn? eh?