go-fastwebGo的MVC框架

联合创作 · 2023-09-20 16:04

go-fastweb 是 Go 语言实现的一个 MVC 框架。

使用案例:

package main

import (
       
"fastweb"
       
"os"
)

type
Products struct {
        fastweb
.Controller
       
Name string
       
Brand string
       
Features []string
       
Specifications []string
       
Image string
}

func
(p *Products) View(id string) os.Error {
       
if id == "ah64" {
                p
.Name = "RC Apache AH64 4-Channel Electric Helicoper"
                p
.Brand = "Colco"
                p
.Features = []string{
                       
"4 channel radio control duel propeller system",
                       
"Full movement controll: forward, backward, left, right, up and down",
                       
"Replica design",
                       
"Revolutionary co-axial rotor technology",
               
}
                p
.Specifications = []string{
                       
"Dimensions: L 16 Inches X W 5.5 Inches x H 6.5 Inches",
                       
"Battery Duration: 10 min",
                       
"Range: 120 Feet",
               
}
                p
.Image = "/img/ah64.jpg"
       
}
       
return nil
}

func main
() {
        a
:= fastweb.NewApplication()
        a
.RegisterController(&Products{})
        a
.Run(":12345")
}

and the template of the page body (example/views/products/view.tpl):

{.section Name}
Name: {Name}<br/>
Manufacturer: {Brand}<br/>
{.section Image}
<img src="{Image}"><br/>
{.end}
{.section Features}
Features:<br/>
<ul>
{.repeated section @}
<li>{@}</li>
{.end}
</ul>
{.end}
{.section specifications}
Specifications:<br/
>
<ul>
{.repeated section @}
<li>{@}</li>
{.end}
</ul>
{.end}
{.or}
No product was found.
{.end}

Sample Lighttpd Config

$HTTP["host"] =~ "" {
        server
.document-root = "/home/ivan/go-fastweb/example/htdocs/"
        server
.error-handler-404 = "/dispatch.fcgi"
        fastcgi
.server = (
               
".fcgi" => ( "localhost" => (
                       
"host" => "127.0.0.1",
                       
"port" => 12345,
                       
"check-local" => "disable",
                 
)))
}

Sample Apache Config

<VirtualHost *:80>
        ServerName      fastweb
        DocumentRoot    /home/ivan/go-fastweb/example/htdocs/

        ErrorLog /var/log/apache2/fastweb.error.log
        LogLevel warn
        CustomLog /var/log/apache2/fastweb.access.log combined
        ServerSignature On

        AddHandler fastcgi-script .fcgi
        FastCgiExternalServer /home/ivan/go-fastweb/example/htdocs/dispatch.fcgi -host 127.0.0.1:12345
        RewriteEngine On
        RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f
        RewriteRule ^(.*)$ /dispatch.fcgi [QSA,L]
</VirtualHost>
浏览 12
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报