忘记密码   免费注册 查看新帖 | 论坛精华区

ChinaUnix.net

  平台 论坛 博客 认证专区 大话IT HPC论坛 徽章 文库 沙龙 自测 下载 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
最近访问板块 发新帖
查看: 26079 | 回复: 78

Perl 的 Web 框架魔咒 (Mojolicious) 的中文网站-本帖回帖答疑 [复制链接]

论坛徽章:
1
辰龙
日期:2014-05-15 19:37:15
发表于 2012-11-07 00:32 |显示全部楼层
本帖最后由 iakuf 于 2014-09-05 10:35 编辑

兄弟们, 魔咒 ( Mojolicious ) 的中文网站来了.

http://mojo.php-oa.com

这个我是直接 git clone 原作者网站 http://www.mojolicio.us/ 的程序修改而成,并给其中的转换 POD 的模块小小修改了一下,在这个网站的当前路径下放上我译的中文的 POD 实现的。
原来我一直推 Dancer ,后来研究发现这个框架更加强大,另外这个的作者比 Dancer 更加关注自己的项目,本身作者就是 Catalyst 开发者,所以有着超级丰富的经验。这个框架是全异步事件支持的和 AnyEvent 可以无缝集成,所以注意一下自己的程序可以性能非常好。原生的模板技术非常不错, 基本语法和 Perl 一样,可以让你写模板的时候没学习时间上的成本.

以前我对它的可扩展表示怀疑,因为作者自己实现的东西感觉过多了。但现在发现其实非常非常不错,插件机制也很开放。非常建议大家重点关注.

我之所以后来选择这个是因为完整 Mojolicious 更加合适我当前的项目,所以花了些时间从 Dancer 转到魔咒这个新的框架。直到目前我都拿这个做了不下于 10 个项目了, 监控,设备管理之类都是使用这个, 从实践的经验上来讲越使用越舒服。

另外,我给这个小网站的设计是这样:
1. 当前目录有 pod 文件,会优先读取,所以我给中文 pod 按照路径放在这个下面(所以我会译完了直接会在这显示出来,也建议大家一起参与并给自己的 POD 放过来,我可能会做个中文的 CPAN  网站)。
2. 当前目录文件不存在,就去读 Perl 中 @INC 相关的路径是否有相关文件。
2. 都不存在就会连接到 cpan 的网站上去。

如果学习魔咒 ( Mojolicious ) 的话,只是想实现和 Dancer 的功能,基本上你只要看 Mojolicious::Lite  这个模块的使用就好了。
启动和帮助相关的命令,看看 Mojolicious::Commands 基本就完事了。整体所有功能都强大过 Dancer .

记录完成的大的部分,小的 POD 就不注明了,过程比较累啊。目前整个 Mojo 的基本 95% 以上的都中文化了,希望大家用得开心,有问题可以回复本帖子。

Mojolicious::Lite      单文件版 Web 应用,  类似 Dancer .
Mojolicious    全功能版本, 更好的支持路径选择和文件层次结构与分类
Mojolicious::Guides::Growing     怎么由 Mojolicious::Lite 成长成 Mojolicious 全功能
Mojolicious::Guides::Routing    在 Mojo 中是怎么样做路径的选择指向指定的子函数来处理
Mojolicious::Guides::Rendering    网页生成和相关的一些简单的内容
Mojolicious::Guides::Cookbook    一些常用的小技巧
Mojolicious::Controller     主函数
ojo 强大的单行 Mojo 客户端和工具

大家想学习,只要认真看看前二个文章,想用得好,在看下面的就行了。还有不得不提一下 Mojo::UserAgent 超级好用。。下面提到的有用的一些好东西中第一个就是相关的文档

Mojo 中其它常用的东西

提取网页时所需要使用到的
Mojo::UserAgent 我使用过的目前最好的抓网页提取分析,测试网页最好的工具之一
Mojo::DOM 最好用的东西之一.取到的网页怎么样解析就靠这个中提供的"方法"
Mojo::DOM::CSS  CSS 选择器, 上面 DOM 模块中取元素的语法, 基本和 JQuery 的 CSS 选择器的语法一样


网页相关
Mojo::Template 网页模板技术
Mojolicious::Plugin::DefaultHelpers  很多好用的帮助我们写网页的小功能


写 Controller 时可以用到的一些常用对象
Mojo::Headers 所有 HTTP 头相关的方法
Mojo::Message::Request  HTTP 的请求相关的方法
Mojo::Message::Response  HTTP 的响应相关的方法
Mojo::URL  在 Controller 和模板中都很好用,用于管理 URL 生成之类

Wiki 上一些资料
其它语言象 UTF8 怎么样显示?
字符集怎么修改
非阻塞异步数据库连接和使用


另外 Mojolicious  有 5 个教学的视频在 http://mojocasts.com 的网站,谁听力好,帮着给这个译成中文,然后我来提供 CDN 服务和帮助视频内嵌文字。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2012-11-07 01:02 |显示全部楼层
支持

论坛徽章:
1
天蝎座
日期:2013-10-28 19:28:43
发表于 2012-11-07 05:42 |显示全部楼层
支持楼主,使用Dancer就是从楼主那里听说的。。。

论坛徽章:
1
狮子座
日期:2013-12-16 16:09:24
发表于 2012-11-07 08:12 |显示全部楼层
有个疑问,这样的框架是适合个人开发还是企业使用?
我尝试去写个网站,但发现要自己搞定前后台实在太耗费时间了。
比如想搭建一个wiki, 结果发现要搞的东西太多了。数据库,前台,ajex,中文兼容性,跨浏览器支持。。。

LZ有何好的建议?

论坛徽章:
0
发表于 2012-11-07 08:49 |显示全部楼层
同问

ttcn_cu 发表于 2012-11-07 08:12
有个疑问,这样的框架是适合个人开发还是企业使用?
我尝试去写个网站,但发现要自己搞定前后台实在太耗费 ...


论坛徽章:
1
辰龙
日期:2014-05-15 19:37:15
发表于 2012-11-07 09:50 |显示全部楼层
ttcn_cu 发表于 2012-11-07 08:12
有个疑问,这样的框架是适合个人开发还是企业使用?
我尝试去写个网站,但发现要自己搞定前后台实在太耗费 ...


小项目使用 Mojolicious::Lite 或 Dancer ,大项目使用全功能的  Mojolicious。如果感觉 html,js,div 之类难搞定,就直接让别人写这部分,自己只做后台。后台程序都使用面向接口编程。这样你只要写逻辑,返回象 json 和 xml 之类的结构,然后在 HTML 中使用 js 来给内容展示出来,所以一个普通的逻辑处理都在  15 行以内。因为所有基本操作只有增删改查。如下:

  1. sub show {
  2.     my $c = shift;
  3.     my @resultset = $c->db->resultset('ServerIsp')->by_id_or_name($c->param('name'));
  4.     my @json = map {{
  5.         id          => $_->id,
  6.         name        => $_->name,
  7.         description => $_->description
  8.     }} @resultset;
  9.     $c->render( json => { isp => \@json } );
  10. }
复制代码

论坛徽章:
45
15-16赛季CBA联赛之广夏
日期:2017-06-02 21:46:59天蝎座
日期:2015-03-25 16:56:49双鱼座
日期:2015-03-25 16:56:30摩羯座
日期:2015-03-25 16:56:09巳蛇
日期:2015-03-25 16:55:30卯兔
日期:2015-03-25 16:54:29子鼠
日期:2015-03-25 16:53:59申猴
日期:2015-03-25 16:53:29寅虎
日期:2015-03-25 16:52:29羊年新春福章
日期:2015-03-25 16:51:212015年亚洲杯之沙特阿拉伯
日期:2015-04-11 17:31:452015亚冠之布里斯班狮吼
日期:2015-07-13 10:44:56
发表于 2012-11-07 12:11 |显示全部楼层
我喜欢这个 ojo 模块,很好玩

论坛徽章:
0
发表于 2012-11-07 14:26 |显示全部楼层
新人膜拜了

论坛徽章:
1
天蝎座
日期:2013-10-28 19:28:43
发表于 2012-11-07 15:51 |显示全部楼层
回复 6# iakuf


    js接收json数据进行显示,是不是模板里的变量用的少了?

论坛徽章:
1
未羊
日期:2014-09-08 22:47:27
发表于 2012-11-07 15:55 |显示全部楼层
支持楼主为Perl语言做贡献。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP