使用Vapor创建一个 路由-控制器-视图的简单例子 2017-03-06

在Laravel里面, 路由-控制器-视图的绑定是非常简洁和流畅的。

//在 app/Http/Routes.php里面 (Laravel-5.1-LTS版本)

Route::get("goods","GoodsController@index");

这里定义了一个路由 goods 对应的控制器处理函数为:GoodsController 里面的index函数

在Vapor里面定义路由也非常简单

//导入Vapor库
import Vapor
//定义drop常量
let drop = Droplet()
//定义控制器
let hc = IndexController()
//绑定路由到控制处理函数
drop.get("abc", handler: hc.home)

和Laravel非常相似,指定了路由 abc 指向控制 IndexController里面的函数 home

我们再来看看控制器IndexController

swift里面所有的代码结束都不需要写分号,这个和PHP有很大的不同。一开始很不习惯:)

这里把对路由的访问,最终指向了模板 home.leaf,并且给模板赋值了3个变量:

message title  navs

我们再来看看模板的部分

//模板的放置位置和Laravel也基本一致
//Vapor的模板引擎为leaf,模板文件的扩展名为leaf

Resources/Views/home.leaf

引用模板标题

#(title)

循环显示变量

这里基本上和Laravel的blade模板引擎差不多。

最终我们来编译运行下

vapor build
vapor run serve

我们可以打开看看效果

可以看到效果


用Laravel可以轻松完成的web开发,为啥要折腾成swift版本的?

如果web端和ios端都可以用swift搞定,何乐而不为呢?

本文章为 LaraMall官网原创 转载请注明出处。谢谢合作!

扫描二维码,关注LaraMall系统