manpagez: man pages & more
man Mojolicious::Guides(3)
Home | html | info | man
Mojolicious::Guides(3)



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.


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(3)

       o Mojo::Base(3)

         o Mojolicious(3)

           o Mojo::HelloWorld(3)

           o Mojolicious::Lite(3)

         o Mojo::Cache(3)

         o Mojo::Cookie(3)

           o Mojo::Cookie::Request(3)

           o Mojo::Cookie::Response(3)

         o Mojo::DOM::CSS(3)

         o Mojo::DOM::HTML(3)

         o Mojo::Date(3)

         o Mojo::EventEmitter(3)

           o Mojo::Asset(3)

             o Mojo::Asset::File(3)

             o Mojo::Asset::Memory(3)

           o Mojo::Content(3)

             o Mojo::Content::MultiPart(3)

             o Mojo::Content::Single(3)

           o Mojo::IOLoop(3)

           o Mojo::IOLoop::Client(3)

           o Mojo::IOLoop::Server(3)

           o Mojo::IOLoop::Stream(3)

           o Mojo::IOLoop::Subprocess(3)

           o Mojo::IOLoop::TLS(3)

           o Mojo::Log(3)

           o Mojo::Message(3)

             o Mojo::Message::Request(3)

             o Mojo::Message::Response(3)

           o Mojo::Reactor(3)

             o Mojo::Reactor::Poll(3)

               o Mojo::Reactor::EV(3)

           o Mojo::Server(3)

             o Mojo::Server::CGI(3)

             o Mojo::Server::Daemon(3)

               o Mojo::Server::Prefork(3)

             o Mojo::Server::PSGI(3)

           o Mojo::Transaction(3)

             o Mojo::Transaction::HTTP(3)

             o Mojo::Transaction::WebSocket(3)

           o Mojo::UserAgent(3)

           o Mojolicious::Plugins(3)

         o Mojo::Exception(3)

         o Mojo::Headers(3)

         o Mojo::JSON::Pointer(3)

         o Mojo::Parameters(3)

         o Mojo::Path(3)

         o Mojo::Promise(3)

         o Mojo::Server::Hypnotoad(3)

         o Mojo::Server::Morbo(3)

         o Mojo::Server::Morbo::Backend(3)

           o Mojo::Server::Morbo::Backend::Poll(3)

         o Mojo::Template(3)

         o Mojo::URL(3)

         o Mojo::Upload(3)

         o Mojo::UserAgent::CookieJar(3)

         o Mojo::UserAgent::Proxy(3)

         o Mojo::UserAgent::Server(3)

         o Mojo::UserAgent::Transactor(3)

         o Mojolicious::Command(3)

           o Mojolicious::Command::cgi(3)

           o Mojolicious::Command::daemon(3)

           o Mojolicious::Command::eval(3)

           o Mojolicious::Command::get(3)

           o Mojolicious::Command::prefork(3)

           o Mojolicious::Command::psgi(3)

           o Mojolicious::Command::routes(3)

           o Mojolicious::Command::version(3)

           o Mojolicious::Command::Author::cpanify(3)

           o Mojolicious::Command::Author::generate::app(3)

           o Mojolicious::Command::Author::generate::dockerfile(3)

           o Mojolicious::Command::Author::generate::lite_app(3)

           o Mojolicious::Command::Author::generate::makefile(3)

           o Mojolicious::Command::Author::generate::plugin(3)

           o Mojolicious::Command::Author::inflate(3)

           o Mojolicious::Commands(3)

             o Mojolicious::Command::Author::generate(3)

         o Mojolicious::Controller(3)

         o Mojolicious::Plugin(3)

           o Mojolicious::Plugin::Config(3)

             o Mojolicious::Plugin::JSONConfig(3)

               o Mojolicious::Plugin::NotYAMLConfig(3)

           o Mojolicious::Plugin::DefaultHelpers(3)

           o Mojolicious::Plugin::EPLRenderer(3)

             o Mojolicious::Plugin::EPRenderer(3)

           o Mojolicious::Plugin::HeaderCondition(3)

           o Mojolicious::Plugin::Mount(3)

           o Mojolicious::Plugin::TagHelpers(3)

         o Mojolicious::Renderer(3)

         o Mojolicious::Routes::Match(3)

         o Mojolicious::Routes::Pattern(3)

         o Mojolicious::Routes::Route(3)

           o Mojolicious::Routes(3)

         o Mojolicious::Sessions(3)

         o Mojolicious::Static(3)

         o Mojolicious::Types(3)

         o Mojolicious::Validator(3)

         o Mojolicious::Validator::Validation(3)

         o Test::Mojo(3)

       o Mojo::ByteStream(3)

       o Mojo::Collection(3)

       o Mojo::DynamicMethods(3)

       o Mojo::DOM(3)

       o Mojo::File(3)

         o Mojo::Home(3)

       o Mojo::JSON(3)

       o Mojo::Loader(3)

       o Mojo::Util(3)

       o Mojo::WebSocket(3)

       o ojo(3)


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>, on Matrix
       <https://matrix.to/#/#mojo:matrix.org>, or IRC
       <https://web.libera.chat/#mojo>.



perl v5.32.1                      2022-04-25            Mojolicious::Guides(3)

mojolicious 9.260.0 - Generated Thu May 26 08:10:07 CDT 2022
© manpagez.com 2000-2024
Individual documents may contain additional copyright information.