Even with intense concentration, I wasn't able to read the text on the page. It's the lowest-contrast thing there; the YELLOW logo and "1.0" thing (and the social bookmark links) try very hard to pull your eyes away from the text... and they succeed. I am going to have nightmares about this site tonight, I swear.
Also, PHP really needs something like Plack/PSGI/Rack so that you don't have to manually reconfigure the web server for every library you want to use.
Also, PHP really needs something like Plack/PSGI/Rack so that you don't have to manually reconfigure the web server for every library you want to use.
The Apache configuration mentioned in this article is pretty generic.
PHP has a standard HTTP interface, unlike the other languages before WSGI/Rack/JSGI/PSGI came around. Of course, PHP's interface isn't function-based, so you don't have the advantages of stackable middleware.
It actually works pretty well, no apache required! It's pretty fast too.. all the init stuff you normally have to do every single request can be done once on server startup.
Yeah, it's probably going to have memory leak issues. It's pretty much inevitable unfortunately. I've thought about having the server monitor the memory usage and periodically respawn processes. I believe apache uses a similar technique.
I don't actually think it is better, just different and works for me. Some other attempts try to make PHP act like ruby or python with ugly results. What I've tried to do here is embrace PHP 'classic' style.
This is exactly what I intended for my "personal framework" when I began writing it's first version about three years ago: unintrusive (all main functions as static methods of a single class to keep the global namespace clean; no enforced directory structure) and lightweight (few files, few bytes).
Too bad mine grew to become a monster, pretty much like all other popular PHP frameworks out there. I guess simplicity really is one of the hardest features to implement.
the license gpl v3 for base framework is pretty limiting ... it could be a show stopper... something like MIT or BSD would encourage people to try out...
I can't see the requirement to share code with users on request anywhere in the GPLv3. It explicitly excludes interaction over a network in section 0:
"To “convey” a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying."
Are you sure you're not thinking of the Affero GPL?
Another framework based on MVC.
But MVC is just not possible in PHP. Maybe with Ajax it is, but mostly it is a hype people don't understand.
Let Apache (or any webserver) be the controller and you have the most lightweight framework there is.
You can, but it will not update the view directly as MVC does. You always need to refresh the page for that.
In Java or Flex (or with Ajax) the view is updated by the model. That is MVC. In PHP this is just not possible. So imho it is a hype word people don't understand.
Most (PHP) frameworks that use 'MVC' are just more bloated than Apache + PHP (a single handler with .htaccess could be nice!).
MVC is a descriptive point of view, not a prescriptive implementation plan. It's one of the only software idioms that's actually an Alexanderian Pattern, unlike the vast majority of the GoF that's just reflective of language warts/features.
There are tons of completely different ways you could describe the web as MVC:
Model View Controller
URL Response Request
DB Response Request
Response Hypermedia Sub-Requests
LocalStorage DOM Javascript
data:// JavaScript DOM Events
...
I agree. But that's not the case with this PHP framework (as far as I can tell). They use 'MVC' as structure for there code (or as you call it: prescriptive). And then suddenly a lightweight framework is not that lightweight anymore. So again I agree with your descriptions of the web as MVC, but MVC in a PHP framework only... I still believe that's just a hype word.
BTW I don't want to start a flame war about MVC. I just got some question marks about using a PHP 'MVC' framework.
Am I right in saying you think it's bloated because it's superfluous? If that is the case, may I draw your attention to one of the most important reasons for doing request handling within PHP: testability.
Were it not for that I would be in complete agreement with you; I have absolutely no time for any framework that does not allow you to construct a mock request object, throw it into the controller, and verify correctness of the response object produced.
I think that the confusion comes from the fact that the original MVC was a prescriptive design pattern, but use of the term has expanded way, way beyond its original intent.
For instance, events between M and V are pretty much required if you're doing it the "old way," but people tend to ignore that and just explicitly route messages through the C. The expression carries a lot less meaning now than it used to.
Also, PHP really needs something like Plack/PSGI/Rack so that you don't have to manually reconfigure the web server for every library you want to use.