Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Mojolicious::Guides(3)User Contributed Perl DocumentatioMojolicious::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/master/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/master/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/master/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::IOLoop::Delay

	 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 the
       official	IRC channel "#mojo" on "irc.freenode.net" (chat	now!
       <https://webchat.freenode.net/#mojo>).

perl v5.32.1			  2020-12-27		Mojolicious::Guides(3)

NAME | DON'T PANIC! | BASICS | CONVENTIONS | TUTORIAL | GUIDES | HIGHLIGHTS | FULL-STACK | API | MORE | SUPPORT

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Mojolicious::Guides&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help