1Mojolicious::Guides(3)User Contributed Perl DocumentationMojolicious::Guides(3)
2
3
4

NAME

6       Mojolicious::Guides - The Mojolicious Guide to the Galaxy
7

DON'T PANIC!

9       The Mojolicious <https://mojolicious.org> documentation is structured
10       into three parts. The "TUTORIAL" everyone starts with, the "GUIDES"
11       that explain all major features in detail, and the class "REFERENCE"
12       listing all available APIs.
13
14       Some parts of the documentation only use the Mojolicious::Lite micro
15       web framework for examples, but that's merely a convenience for the
16       reader. Almost all features are exactly the same for full Mojolicious
17       applications.
18

BASICS

20       Learning Perl
21         If you are new to Perl, we recommend Learn Perl in 2 hours 30 minutes
22         <http://qntm.org/files/perl/perl.html> for a quick introduction, or
23         the Modern Perl book <https://pragprog.com/book/swperl/modern-perl-
24         fourth-edition>, freely available in many formats. Both are excellent
25         introductions to the language. For more books and documentation,
26         check out learn.perl.org <http://learn.perl.org/>.
27
28       Learning Web Technologies
29         All web development starts with HTML, CSS and JavaScript, to learn
30         the basics we recommend the Mozilla Developer Network
31         <https://developer.mozilla.org/en-US/docs/Web>. And if you want to
32         know more about how browsers and web servers actually communicate,
33         there's also a very nice introduction to HTTP
34         <https://developer.mozilla.org/en-US/docs/Web/HTTP>.
35

CONVENTIONS

37       Modern Perl
38         Mojolicious uses a modern subset of Perl exclusively, and therefore
39         all documentation assumes that strict, warnings, utf8 and Perl 5.16
40         features are enabled, even if examples don't specifically mention it.
41
42           use strict;
43           use warnings;
44           use utf8;
45           use feature ':5.16';
46
47         Some modules, like Mojo::Base and Mojolicious::Lite, will enable them
48         for you automatically, whenever they are used.
49
50       Variable names
51         For brevity and clarity, example variables will reflect the type of
52         data the API uses. For instance, $bytes or $chars to distinguish
53         whether it is encoded bytes or decoded characters in a Perl string,
54         $bool if the value just indicates true or false, $c to denote a
55         Mojolicious::Controller object, or $app to denote the application
56         object.
57

TUTORIAL

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

GUIDES

68       Mojolicious::Guides::Growing
69         Starting a Mojolicious::Lite prototype from scratch and growing it
70         into a well-structured Mojolicious application.
71
72       Mojolicious::Guides::Routing
73         Simple and fun introduction to the Mojolicious router.
74
75       Mojolicious::Guides::Rendering
76         Generating content with the Mojolicious renderer.
77
78       Mojolicious::Guides::Testing
79         Powerful yet elegant testing techniques and tools for Mojolicious and
80         other web applications.
81
82       Mojolicious::Guides::Cookbook
83         Cooking with Mojolicious, recipes for every taste.
84
85       Mojolicious::Guides::Contributing
86         Become a part of the ongoing Mojolicious development.
87
88       Mojolicious::Guides::FAQ
89         Answers to the most frequently asked questions.
90

HIGHLIGHTS

92       Mojolicious and Mojolicious::Lite are the sum of many parts, built on
93       top of the Mojo web development toolkit.  Small building blocks that
94       can be used independently for all kinds of applications, these are the
95       most prominent ones.
96
97       Mojo::UserAgent
98         Full featured non-blocking I/O HTTP and WebSocket user agent.
99
100       Mojo::DOM
101         Very fun and minimalistic HTML/XML DOM parser with CSS selector
102         support.
103
104       Mojo::JSON
105         Minimalistic JSON implementation that just works.
106
107       Mojo::Server::Daemon
108         Full featured, highly portable non-blocking I/O HTTP and WebSocket
109         server, with self-restart support through Mojo::Server::Morbo,
110         perfect for development and testing.
111
112       Mojo::Server::Prefork
113         Full featured, UNIX optimized, preforking non-blocking I/O HTTP and
114         WebSocket server with support for zero downtime software upgrades
115         (hot deployment) through Mojo::Server::Hypnotoad.
116
117       Mojo::Server::CGI, Mojo::Server::PSGI
118         Transparent CGI and PSGI support out of the box.
119
120       Mojo::IOLoop
121         A minimalistic event loop with support for multiple reactor backends.
122
123       Mojo::Template
124         Very Perl-ish and minimalistic template system.
125
126       Test::Mojo
127         Testing toolkit for web applications.
128
129       ojo
130         Fun one-liners using everything above.
131

SPIN-OFFS

133       These modules are not part of the Mojolicious distribution, but have
134       been designed to be used with it and are being developed under the same
135       umbrella.
136
137       Mojo::Pg
138         A tiny wrapper around DBD::Pg that makes PostgreSQL
139         <http://www.postgresql.org> a lot of fun to use with Mojolicious.
140         Perform queries blocking and non-blocking, use all SQL features
141         <https://www.postgresql.org/docs/current/static/sql.html> PostgreSQL
142         has to offer, generate CRUD queries from data structures, manage your
143         database schema with migrations and build scalable real-time web
144         applications with the publish/subscribe pattern.
145
146         Examples: The minimal chat <https://github.com/mojolicious/mojo-
147         pg/tree/master/examples/chat.pl> application will show you how to
148         scale WebSockets to multiple servers, and the well-structured blog
149         <https://github.com/mojolicious/mojo-pg/tree/master/examples/blog>
150         application how to apply the MVC design pattern in practice.
151
152       Minion
153         A full featured job queue for Mojolicious with support for multiple
154         backends (such as PostgreSQL <http://www.postgresql.org>). Job queues
155         allow you to process time and/or computationally intensive tasks in
156         background processes, outside of the request/response lifecycle.
157         Among those tasks you'll commonly find image resizing, spam
158         filtering, HTTP downloads, building tarballs, warming caches and
159         basically everything else you can imagine that's not super fast.
160
161         Examples: The link checker
162         <https://github.com/mojolicious/minion/tree/master/examples/linkcheck>
163         will show you how to integrate background jobs into well-structured
164         Mojolicious applications.
165

REFERENCE

167       This is the class hierarchy of the Mojolicious distribution.
168
169       · Mojo
170
171       · Mojo::Base
172
173         · Mojolicious
174
175           · Mojo::HelloWorld
176
177           · Mojolicious::Lite
178
179         · Mojo::Cache
180
181         · Mojo::Cookie
182
183           · Mojo::Cookie::Request
184
185           · Mojo::Cookie::Response
186
187         · Mojo::DOM::CSS
188
189         · Mojo::DOM::HTML
190
191         · Mojo::Date
192
193         · Mojo::EventEmitter
194
195           · Mojo::Asset
196
197             · Mojo::Asset::File
198
199             · Mojo::Asset::Memory
200
201           · Mojo::Content
202
203             · Mojo::Content::MultiPart
204
205             · Mojo::Content::Single
206
207           · Mojo::IOLoop
208
209           · Mojo::IOLoop::Client
210
211           · Mojo::IOLoop::Server
212
213           · Mojo::IOLoop::Stream
214
215           · Mojo::IOLoop::Subprocess
216
217           · Mojo::IOLoop::TLS
218
219           · Mojo::Log
220
221           · Mojo::Message
222
223             · Mojo::Message::Request
224
225             · Mojo::Message::Response
226
227           · Mojo::Reactor
228
229             · Mojo::Reactor::Poll
230
231               · Mojo::Reactor::EV
232
233           · Mojo::Server
234
235             · Mojo::Server::CGI
236
237             · Mojo::Server::Daemon
238
239               · Mojo::Server::Prefork
240
241             · Mojo::Server::PSGI
242
243           · Mojo::Transaction
244
245             · Mojo::Transaction::HTTP
246
247             · Mojo::Transaction::WebSocket
248
249           · Mojo::UserAgent
250
251           · Mojolicious::Plugins
252
253         · Mojo::Exception
254
255         · Mojo::Headers
256
257         · Mojo::JSON::Pointer
258
259         · Mojo::Parameters
260
261         · Mojo::Path
262
263         · Mojo::Promise
264
265           · Mojo::IOLoop::Delay
266
267         · Mojo::Server::Hypnotoad
268
269         · Mojo::Server::Morbo
270
271         · Mojo::Server::Morbo::Backend
272
273           · Mojo::Server::Morbo::Backend::Poll
274
275         · Mojo::Template
276
277         · Mojo::URL
278
279         · Mojo::Upload
280
281         · Mojo::UserAgent::CookieJar
282
283         · Mojo::UserAgent::Proxy
284
285         · Mojo::UserAgent::Server
286
287         · Mojo::UserAgent::Transactor
288
289         · Mojolicious::Command
290
291           · Mojolicious::Command::cgi
292
293           · Mojolicious::Command::daemon
294
295           · Mojolicious::Command::eval
296
297           · Mojolicious::Command::get
298
299           · Mojolicious::Command::prefork
300
301           · Mojolicious::Command::psgi
302
303           · Mojolicious::Command::routes
304
305           · Mojolicious::Command::version
306
307           · Mojolicious::Command::Author::cpanify
308
309           · Mojolicious::Command::Author::generate::app
310
311           · Mojolicious::Command::Author::generate::lite_app
312
313           · Mojolicious::Command::Author::generate::makefile
314
315           · Mojolicious::Command::Author::generate::plugin
316
317           · Mojolicious::Command::Author::inflate
318
319           · Mojolicious::Commands
320
321             · Mojolicious::Command::Author::generate
322
323         · Mojolicious::Controller
324
325         · Mojolicious::Plugin
326
327           · Mojolicious::Plugin::Config
328
329             · Mojolicious::Plugin::JSONConfig
330
331               · Mojolicious::Plugin::NotYAMLConfig
332
333           · Mojolicious::Plugin::DefaultHelpers
334
335           · Mojolicious::Plugin::EPLRenderer
336
337             · Mojolicious::Plugin::EPRenderer
338
339           · Mojolicious::Plugin::HeaderCondition
340
341           · Mojolicious::Plugin::Mount
342
343           · Mojolicious::Plugin::TagHelpers
344
345         · Mojolicious::Renderer
346
347         · Mojolicious::Routes::Match
348
349         · Mojolicious::Routes::Pattern
350
351         · Mojolicious::Routes::Route
352
353           · Mojolicious::Routes
354
355         · Mojolicious::Sessions
356
357         · Mojolicious::Static
358
359         · Mojolicious::Types
360
361         · Mojolicious::Validator
362
363         · Mojolicious::Validator::Validation
364
365         · Test::Mojo
366
367       · Mojo::ByteStream
368
369       · Mojo::Collection
370
371       · Mojo::DynamicMethods
372
373       · Mojo::DOM
374
375       · Mojo::File
376
377         · Mojo::Home
378
379       · Mojo::JSON
380
381       · Mojo::Loader
382
383       · Mojo::Util
384
385       · Mojo::WebSocket
386
387       · ojo
388

MORE

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

SUPPORT

395       If you have any questions the documentation might not yet answer, don't
396       hesitate to ask on the mailing list
397       <http://groups.google.com/group/mojolicious> or the official IRC
398       channel "#mojo" on "irc.freenode.net" (chat now!
399       <https://webchat.freenode.net/#mojo>).
400
401
402
403perl v5.32.0                      2020-07-28            Mojolicious::Guides(3)
Impressum