manpagez: man pages & more
man Mojolicious::Guides(3)
Home | html | info | man
Mojolicious::Guides(3)                     User Contributed Perl Documentation


NAME

     Mojolicious::Guides - The Mojolicious Guide to the Galaxy


DON'T PANIC!

     The Mojolicious <https://mojolicious.org> documentation is structured
     into three parts. The "TUTORIAL" everyone starts with, the "GUIDES" that
     explain all major features in detail, and the "API" reference listing all
     available classes.

     Some parts of the documentation only use the Mojolicious::Lite micro web
     framework for examples, but that's merely a convenience for the reader.
     Almost all features are exactly the same for full Mojolicious
     applications.


BASICS

   Learning Perl
     If you are new to Perl, we recommend Learn Perl in 2 hours 30 minutes
     <https://qntm.org/perl_en> for a quick introduction, or the Modern Perl
     book <https://pragprog.com/book/swperl/modern-perl-fourth-edition>,
     freely available in many formats. Both are excellent introductions to the
     language. For more books and documentation, check out learn.perl.org
     <https://learn.perl.org/>.

   Learning Web Technologies
     All web development starts with HTML, CSS and JavaScript, to learn the
     basics we recommend the Mozilla Developer Network
     <https://developer.mozilla.org/en-US/docs/Web>. And if you want to know
     more about how browsers and web servers actually communicate, there's
     also a very nice introduction to HTTP <https://developer.mozilla.org/en-
     US/docs/Web/HTTP>.


CONVENTIONS

   Modern Perl
     Mojolicious uses a modern subset of Perl exclusively, and therefore all
     documentation assumes that strict, warnings, utf8 and Perl 5.16 features
     are enabled, even if examples don't specifically mention it.

       use strict;
       use warnings;
       use utf8;
       use feature ':5.16';

     Some modules, like Mojo::Base and Mojolicious::Lite, will enable them for
     you automatically, whenever they are used.

   Signatures
     On Perl 5.20+ you can also use the "-signatures" flag with Mojo::Base to
     enable support for subroutine signatures. Signatures are used in all
     examples for clarity, even when "-signatures" is omitted for brevity.

   Variable names
     For brevity and clarity, example variables will reflect the type of data
     the API uses. For instance, $bytes or $chars to distinguish whether it is
     encoded bytes or decoded characters in a Perl string, $bool if the value
     just indicates true or false, $c to denote a Mojolicious::Controller
     object, or $app to denote the application object.

     When the return value of a method is the object it was called on, this
     will be represented by using the same variable name in the example. This
     does not mean the return value needs to be assigned back to it, but
     indicates that further methods can be called in a chain.


TUTORIAL

     Mojolicious::Guides::Tutorial
       A fast and fun way to get started developing web applications with
       Mojolicious. The tutorial introduces the Mojolicious::Lite micro web
       framework, which is only a thin wrapper around the full web framework.
       The simplified notation introduced in the tutorial is commonly used
       throughout the guides and is therefore considered a prerequisite, you
       should definitely take a look!


GUIDES

     Mojolicious::Guides::Growing
       Starting a Mojolicious::Lite prototype from scratch and growing it into
       a well-structured Mojolicious application.

     Mojolicious::Guides::Routing
       Simple and fun introduction to the Mojolicious router.

     Mojolicious::Guides::Rendering
       Generating content with the Mojolicious renderer.

     Mojolicious::Guides::Testing
       Powerful yet elegant testing techniques and tools for Mojolicious and
       other web applications.

     Mojolicious::Guides::Cookbook
       Cooking with Mojolicious, recipes for every taste.

     Mojolicious::Guides::Contributing
       Become a part of the ongoing Mojolicious development.

     Mojolicious::Guides::FAQ
       Answers to the most frequently asked questions.


HIGHLIGHTS

     Mojolicious and Mojolicious::Lite are the sum of many parts, built on top
     of the Mojo web development toolkit.  Small building blocks that can be
     used independently for all kinds of applications, these are the most
     prominent ones.

     Mojo::UserAgent
       Full featured non-blocking I/O HTTP and WebSocket user agent.

     Mojo::DOM
       Very fun and minimalistic HTML/XML DOM parser with CSS selector
       support.

     Mojo::JSON
       Minimalistic JSON implementation that just works.

     Mojo::Server::Daemon
       Full featured, highly portable non-blocking I/O HTTP and WebSocket
       server, with self-restart support through Mojo::Server::Morbo, perfect
       for development and testing.

     Mojo::Server::Prefork
       Full featured, UNIX optimized, preforking non-blocking I/O HTTP and
       WebSocket server with support for zero downtime software upgrades (hot
       deployment) through Mojo::Server::Hypnotoad.

     Mojo::Server::CGI, Mojo::Server::PSGI
       Transparent CGI and PSGI support out of the box.

     Mojo::IOLoop
       A minimalistic event loop with support for multiple reactor backends.

     Mojo::Template
       Very Perl-ish and minimalistic template system.

     Test::Mojo
       Testing toolkit for web applications.

     ojo
       Fun one-liners using everything above.


FULL-STACK

     These modules are not part of the Mojolicious distribution, but have been
     designed to be used with it and are being developed under the same
     umbrella.

     Mojo::Pg
       A tiny wrapper around DBD::Pg that makes PostgreSQL
       <https://www.postgresql.org> a lot of fun to use with Mojolicious.
       Perform queries blocking and non-blocking, use all SQL features
       <https://www.postgresql.org/docs/current/static/sql.html> PostgreSQL
       has to offer, generate CRUD queries from data structures, manage your
       database schema with migrations and build scalable real-time web
       applications with the publish/subscribe pattern.

       Examples: The minimal chat <https://github.com/mojolicious/mojo-
       pg/tree/main/examples/chat.pl> application will show you how to scale
       WebSockets to multiple servers, and the well-structured blog
       <https://github.com/mojolicious/mojo-pg/tree/main/examples/blog>
       application how to apply the MVC design pattern in practice.

     Minion
       A full featured job queue for Mojolicious with support for multiple
       backends (such as PostgreSQL <https://www.postgresql.org>). Job queues
       allow you to process time and/or computationally intensive tasks in
       background processes, outside of the request/response lifecycle. Among
       those tasks you'll commonly find image resizing, spam filtering, HTTP
       downloads, building tarballs, warming caches and basically everything
       else you can imagine that's not super fast.

       Examples: The link checker
       <https://github.com/mojolicious/minion/tree/main/examples/linkcheck>
       will show you how to integrate background jobs into well-structured
       Mojolicious applications.


API

     This is the class hierarchy of the Mojolicious distribution.

     o Mojo

     o Mojo::Base

       o Mojolicious

         o Mojo::HelloWorld

         o Mojolicious::Lite

       o Mojo::Cache

       o Mojo::Cookie

         o Mojo::Cookie::Request

         o Mojo::Cookie::Response

       o Mojo::DOM::CSS

       o Mojo::DOM::HTML

       o Mojo::Date

       o Mojo::EventEmitter

         o Mojo::Asset

           o Mojo::Asset::File

           o Mojo::Asset::Memory

         o Mojo::Content

           o Mojo::Content::MultiPart

           o Mojo::Content::Single

         o Mojo::IOLoop

         o Mojo::IOLoop::Client

         o Mojo::IOLoop::Server

         o Mojo::IOLoop::Stream

         o Mojo::IOLoop::Subprocess

         o Mojo::IOLoop::TLS

         o Mojo::Log

         o Mojo::Message

           o Mojo::Message::Request

           o Mojo::Message::Response

         o Mojo::Reactor

           o Mojo::Reactor::Poll

             o Mojo::Reactor::EV

         o Mojo::Server

           o Mojo::Server::CGI

           o Mojo::Server::Daemon

             o Mojo::Server::Prefork

           o Mojo::Server::PSGI

         o Mojo::Transaction

           o Mojo::Transaction::HTTP

           o Mojo::Transaction::WebSocket

         o Mojo::UserAgent

         o Mojolicious::Plugins

       o Mojo::Exception

       o Mojo::Headers

       o Mojo::JSON::Pointer

       o Mojo::Parameters

       o Mojo::Path

       o Mojo::Promise

       o Mojo::Server::Hypnotoad

       o Mojo::Server::Morbo

       o Mojo::Server::Morbo::Backend

         o Mojo::Server::Morbo::Backend::Poll

       o Mojo::Template

       o Mojo::URL

       o Mojo::Upload

       o Mojo::UserAgent::CookieJar

       o Mojo::UserAgent::Proxy

       o Mojo::UserAgent::Server

       o Mojo::UserAgent::Transactor

       o Mojolicious::Command

         o Mojolicious::Command::cgi

         o Mojolicious::Command::daemon

         o Mojolicious::Command::eval

         o Mojolicious::Command::get

         o Mojolicious::Command::prefork

         o Mojolicious::Command::psgi

         o Mojolicious::Command::routes

         o Mojolicious::Command::version

         o Mojolicious::Command::Author::cpanify

         o Mojolicious::Command::Author::generate::app

         o Mojolicious::Command::Author::generate::dockerfile

         o Mojolicious::Command::Author::generate::lite_app

         o Mojolicious::Command::Author::generate::makefile

         o Mojolicious::Command::Author::generate::plugin

         o Mojolicious::Command::Author::inflate

         o Mojolicious::Commands

           o Mojolicious::Command::Author::generate

       o Mojolicious::Controller

       o Mojolicious::Plugin

         o Mojolicious::Plugin::Config

           o Mojolicious::Plugin::JSONConfig

             o Mojolicious::Plugin::NotYAMLConfig

         o Mojolicious::Plugin::DefaultHelpers

         o Mojolicious::Plugin::EPLRenderer

           o Mojolicious::Plugin::EPRenderer

         o Mojolicious::Plugin::HeaderCondition

         o Mojolicious::Plugin::Mount

         o Mojolicious::Plugin::TagHelpers

       o Mojolicious::Renderer

       o Mojolicious::Routes::Match

       o Mojolicious::Routes::Pattern

       o Mojolicious::Routes::Route

         o Mojolicious::Routes

       o Mojolicious::Sessions

       o Mojolicious::Static

       o Mojolicious::Types

       o Mojolicious::Validator

       o Mojolicious::Validator::Validation

       o Test::Mojo

     o Mojo::ByteStream

     o Mojo::Collection

     o Mojo::DynamicMethods

     o Mojo::DOM

     o Mojo::File

       o Mojo::Home

     o Mojo::JSON

     o Mojo::Loader

     o Mojo::Util

     o Mojo::WebSocket

     o ojo


MORE

     A lot more documentation and examples by many different authors can be
     found in the Mojolicious wiki <https://github.com/mojolicious/mojo/wiki>.


SUPPORT

     If you have any questions the documentation might not yet answer, don't
     hesitate to ask in the Forum <https://forum.mojolicious.org>, or on IRC
     <https://web.libera.chat/#mojo>.

perl v5.34.3                      2026-10-19            Mojolicious::Guides(3)

mojolicious 9.510.0 - Generated Sat Oct 24 13:05:29 CDT 2026
© manpagez.com 2000-2026
Individual documents may contain additional copyright information.