Mojolicious перші кроки

Починається найцікавіше!

Сьогодні ми встановимо Mojo, розглянемо основи роботи з ним та напишемо «Hello World!».

Перш ніж переходити до установки, подивимося, що таке Mojo взагалі і навіщо він потрібний. Mojo — не просто фреймворк, наприклад Codeigniter або Kohana для PHP. Mojo — це набір бібліотек для створення свого фреймворку, тобто. фреймворк для фреймворку (як би дивно це не звучало). У стандартне постачання Mojo входить два «готові» фреймворки, які можна використовувати для написання програми/сайту — Mojolicious та Mojolicious::Lite. З першим з них ми і сьогодні знайомитимемося.

Для початку наведу кілька посилань, де можна отримати корисну інформацію про Mojo:

mojolicious.org/ - офіційний сайт фреймворку - містить короткий опис основних можливостей і кілька прикладів коду на Mojo.

github.com/kraih/mojo – основний репозиторій Mojo, якщо необхідна найсвіжіша версія фреймворку та документації – шукайте її саме тут.

З матеріалів українською мовою можна відзначити такі ресурси:

twitter.com/sharifulin - твіттер Анатлоія Шаріфуліна - часто пише на Mojo і про Mojo

sharifulin.livejournal.com/ — ЖЖ Анатолія — статті про Mojo та Perl

Для встановлення Mojo, необхідно запустити вікно терміналу – cmd.exe (нагадаю, що я працюю у Windows Vista). У вікні вводимо команду:

cpanp install Mojo

Після цього отримаємо висновок деякої інформації, нас цікавитиме закінчення, що має приблизно такий вигляд:

Module 'Mojo' налагоджено успішно No errors installing all modules

Якщо Ви це отримали – значить Mojo встановлений та готовий до використання. Ось так усе просто!

Як можна замінити, ми не встановлювалиніякого Web-сервера (Apache і т.д.), в цьому просто немає необхідності, оскільки Mojo включає сервер, який чудово підходить для розробки.

Як і всі сучасні фреймвокри, Mojo має командний інтерфейс (його іноді називають "кодо-генератором") для виконання таких завдань як: - генерація структури каталогів нового проекту - запуск автоматичних тестів - запуск девелопер-сервера

Для початку нам потрібно створити новий проект. Для цього у складі Mojolicius є дуже зручна команда «generate app». І так переходимо в каталог, де будуть розміщуватися наші Mojo проекти, запускаємо термінал (cmd.exe) і вводимо наступну команду:

mojolicious generate app HelloMojo

У цій команді HelloMojo - назва нашого нового додатка, можна замінити його, скажімо на MyFirstMojoApp або щось подібне.

В результаті виконання цієї команди отримаємо приблизно такий висновок:

[mkdir] C:\mojoApps\hello_mojo\script [write] C:\mojoApps\hello_mojo\script\hello_mojo [chmod] hello_mojo/script/hello_mojo 744 [mkdir] C: \mojoApps\hello_mojo\lib [write] C:\mojoApps\hello_mojo\lib\HelloMojo.pm [mkdir] C:\mojoApps\hello_mojo\lib\HelloMojo [write] C:\mojoApps \hello_mojo\lib\HelloMojo\Example.pm [mkdir] C:\mojoApps\hello_mojo\t [write] C:\mojoApps\hello_mojo\t\basic.t [mkdir] C: \mojoApps\hello_mojo\log [mkdir] C:\mojoApps\hello_mojo\public [write] C:\mojoApps\hello_mojo\public\index.html [mkdir] C:\mojoApps\hello_mojo \templates [write] C:\mojoApps\hello_mojo\templates\not_found.html.ep [exist] C:\mojoApps\hello_mojo\templates [write] C:\mojoApps\hello_mojo\templates \exception.html.ep [mkdir] C:\mojoApps\hello_mojo\templates\layouts [write]C:\mojoApps\hello_mojo\templates\layouts\default.html.ep [mkdir] C:\mojoApps\hello_mojo\templates\example [write] C:\mojoApps\hello_mojo\templates\example\welcome .html.ep

Тепер ми можемо запустити наш девелопмент-сервер і переконатись, що все працює. Для цього переходимо до каталогу з нашим новим Mojolicious-проектом та виконуємо наступну команду:

perl script\hello_mojo daemon --reload

Параметр "--reload" повідомляє додатку, що необхідно автоматично перезавантажити вихідний код, за його зміни, тобто. немає необхідності перезапускати web-сервер після внесення будь-яких змін до коду.

В результаті виконання отримаємо наступний висновок:

Не такий сигнал: SIGWINCH at C:/strawberry/perl/site/lib/Mojo/Server.pm line 92. Server available at « localhost :3000».

Попередження (warning) "No such signal: SIGWINCH на C:/strawberry/perl/site/lib/Mojo/Server.pm line 92." з'являється тільки при роботі в Windows, у Linux - все пройшло гладко.

Welcome to the Molicious Web Framework!

Ця сторінка була створена з мітки «templates/example/welcome.html.ep» і клацання «templates/layouts/default.html.ep», клацніть на цю сторінку або натисніть на статичну сторінку.

Якщо це сталося - можна зітхнути з полегшенням і рухатися далі =)

Структура нашого проекту має такий вигляд:

mojolicious

Коротко розглянемо призначення основних каталогів: —lib— містить бібліотеки (контролери та сторонні модулі) необхідні додатку —log— містить файли журналів (лог-файли) —public— містить «статичні» файли, такі як css, js, html —script— містить один єдиний файл для взаємодії з поточним Mojolicious-проектом —t— всім, напевно, зрозуміло… каталог містить автоматичні тести —templates— файли шаблонів (подання у термінах MVC)

І так. Що ми вже зробили: - встановили фреймворк Mojo - створили новий проект - запустили сервер розробки - переконалися, що все працює - дуже коротко розглянули структуру проекту

На сьогодні це все!