Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re^4: I LOVE PLACK!!!!

by davido (Archbishop)
on Sep 03, 2011 at 02:25 UTC ( #923957=note: print w/ replies, xml ) Need Help??


in reply to Re^3: I LOVE PLACK!!!!
in thread I LOVE PLACK!!!!

Now just for fun install Mojolicious, and play around with Mojolicious::Lite. It can sit on top of Plack. Don't worry about its templating; it provides a means of layering in whatever system you prefer. Just see how much fun things like the stash and routes are.

I don't guarantee you will like it. But I do guarantee it will be interesting to fiddle with for awhile.

From the docs:

# Using Mojolicious::Lite will enable "strict" and "warnings" use Mojolicious::Lite; # Route with placeholder get '/:foo' => sub { my $self = shift; my $foo = $self->param('foo'); $self->render(text => "Hello from $foo!"); }; # Start the Mojolicious command system app->start;

It's not for everyone. And it's maybe not as flexible as Catalyst. But for rapid development of a web application it's fun.

...and as I mentioned, it can use Plack as its back-end, which means you can still have the Plack love.


Dave


Comment on Re^4: I LOVE PLACK!!!!
Download Code
Re^5: I LOVE PLACK!!!!
by Logicus on Sep 03, 2011 at 14:08 UTC

    Yeh, I had a play with mojolicious::lite a few weeks ago, just before I wrote Slang. It seems pretty funky, but one question I had was what if there are dozens or hundreds of routes?

    Typically the way I organise things my routes are laid out using the filesystem;

    default
    usercp
    usercp/password
    usercp/password/forgotten
    usercp/password/reset
    etc...

    It appears that under mojo you have to create a route in the program for each one and I can see that becoming quite unwieldy quite quickly for the size of apps I tend to build.

    Is there a way around that? I haven't looked into it enough to be sure.

      Routes can have wildcards at any position. So userca/password and usercb/password and usercd/password could all be one route with different users. What you do with the portion of the route that fills the wildcard is up to you. You could, for example, let your program logic deal with wildcards at the /forgotten and /reset level, or you could let routes send them to different models. In other words, you do have control over whether the routes lead to a destination or to logic. I'm sure I'm not being clear (have a cold that seems to put my head in a fog), but look at Mojolicious::Guides::Routing for examples.


      Dave

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://923957]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (8)
As of 2014-10-31 23:11 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    For retirement, I am banking on:










    Results (225 votes), past polls