

Tell HN: HeavyMetal for PHP released - jawngee

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.<p>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.<p>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.<p>You can get it here:<p>http://getheavy.info<p>Or the NSFW link:<p>http://heavyfuckingmetal.com/<p>Would love feedback.<p>Cheers!<p>Your friends at Massify.
======
wvenable
Interesting thoughts on autoloading:
[http://wiki.getheavy.info/index.php/A_Note_About_Auto-
Loadin...](http://wiki.getheavy.info/index.php/A_Note_About_Auto-Loading)

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
HeavyMetal 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
I'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
Spend 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!

~~~
smokinn
You need _why's syck library:

<http://github.com/why/syck/tree/master>

<http://pecl.php.net/package/syck>

~~~
yannis
Thanks!

------
pyman2
It sucks dude! Stick to Symfony, Django and Rails. When are these ASP.NET and
PHP developers going to learn? eh?

