- 论坛徽章:
- 1
|
Mojolicious是当前最流行也是最先进的Perl web框架(不是之一)。
我不想把这篇文章写的很长,这是一篇非常基础的Mojolicious介绍性文章,保证所有人5分钟学会用Mojolicious自己搭网站。
首先,Mojolicious是一个Perl模块,你可以用你知道的任何一种方式把这个模块安装在你的系统当中。Mojolicious要求Perl版本v5.10.1或以上,官方网址是http://mojolicio.us/,上面有所有文档和举例代码。
1. 创建一个Mojolicious web应用- [阿斯卡拉亲王@www.goodgoodbadbad.com ~]# mojo generate app Webapp
- [mkdir] /root/webapp/script
- [write] /root/webapp/script/webapp
- [chmod] webapp/script/webapp 744
- [mkdir] /root/webapp/lib
- [write] /root/webapp/lib/Webapp.pm
- [mkdir] /root/webapp/lib/Webapp
- [write] /root/webapp/lib/Webapp/Example.pm
- [mkdir] /root/webapp/t
- [write] /root/webapp/t/basic.t
- [mkdir] /root/webapp/log
- [mkdir] /root/webapp/public
- [write] /root/webapp/public/index.html
- [mkdir] /root/webapp/templates/layouts
- [write] /root/webapp/templates/layouts/default.html.ep
- [mkdir] /root/webapp/templates/example
- [write] /root/webapp/templates/example/welcome.html.ep
- [阿斯卡拉亲王@www.goodgoodbadbad.com ~]# cd webapp/
- [阿斯卡拉亲王@www.goodgoodbadbad.com webapp]# ls -F
- lib/ log/ public/ script/ t/ templates/
- [阿斯卡拉亲王@www.goodgoodbadbad.com ~]#
复制代码 创建应用的命令会在你当前目录下创建一个新目录(Webapp),这个目录会包含一些子目录和举例代码文件。
看着文件和目录很多,其实非常简单。以后你给自己应用写的所有代码都放在lib目录中,
1. lib/目录中是你给自己应用写的所有代码
2. public/目录中是所有静态文件,包括css,js,html和所有图片文件等
3. templates/目录中存放所有的模板文件
好了,基本上就需要这么多了。
2. 配置Mojolicious应用
在上面的例子中,Mojolicious的配置文件是/root/webapp/lib/Webapp.pm
说是“配置文件”,实际上也是perl代码,用户做各种设置和加载各种插件。另外,也是最重要的一部分,所有的路由都会写在这个文件里。
拿上面刚创建的应用为例,如果希望用户在访问http://www.goodgoodbadbad.com/helloworld的时候显示一个欢迎页,可以如下修改lib/Webapp.pm- $r->get('/helloworld')->to('example#welcome');
复制代码 这样一行的语义是:对访问http://www.goodgoodbadbad.com/helloworld的get请求,使用lib/Webapp/Example.pm中的welcome方法(函数)处理。
如果你打开lib/Webapp/Example.pm,会看到有个perl函数“welcome”,最后一行大概是$self->render(msg => '****');这个"$self->render"在lib/Webapp/Example.pm中被调用,默认就会使用templates/example/welcome.html.ep作为模板,输出html信息。
档需要有变量输出给模板的时候,就用如下语法:- $self->render(firstName => 'Y', lastName => 'P');
复制代码 在模板文件templates/example/welcome.html.ep中就可以输出$firstName,$lastName这两个变量的内容了
Mojolicious提供的模板语言非常简单,对于Perl程序员来说是不需要学习的,模板语言就是Perl语言,你可以像写ASP, PHP, JSP那样写模板本件(虽然不推荐),看一眼默认的模板文件templates/example/welcome.html.ep就能学个大概了,更多的关于模板的信息在这里可以找到:http://mojolicio.us/perldoc/Mojo/Template
3. 运行Mojolicious程序- [阿斯卡拉亲王@www.goodgoodbadbad.com ~]# pwd
- /root/webapp
- [阿斯卡拉亲王@www.goodgoodbadbad.com ~]# morbo -l "http://*:8080" -w ./ script/webapp
- Server available at http://127.0.0.1:8080.
复制代码 morbo是Mojolicious内置的一个web server,更多关于morbo的信息可以man morbb,更多关于运行Mojolicious程序的信息看这里:http://mojolicio.us/perldoc/Mojo ... Cookbook#DEPLOYMENT
最后。介绍一个Mojolicious的QQ群248073371,应该是在国内唯一的一个Mojolicious的群了。
群主是扶凯,里面还有很多大家熟悉的ID,包括flw。群主有言在先,不希望群里都是些不看文档专门问初级问题的小白。所以希望大家入群之前是已经仔细看过Mojolicious文档的,尽量不要问些小白问题,面斥不雅。
|
|