ぴいたんとは世界最軽量のレガシーASP用MVCフレームワークです。
最近は、PHPで開発することが多かったのですが、たまに昔のASP(レガシーASP)のシステムをさわらないといけない時があります。 しかし、レガシーASPの時代には、MVCフレームワークが広まっておらず、これといったフレームワークはありませんでした。
このギャップをなんとかしたいと思い、PHPのフレームワークをASPに移植することを考えました。 しかし、どのフレームワークも高機能なのですが、移植するにはアーキテクチャーが複雑でした。 でも神様は見放しませんでした。
「ちいたん」という素晴らしいフレームワークが世の中にはあったのです。
「ちいたん」は、CakePHPを意識して開発された最軽量のPHPフレームワークです。 この「ちいたん」をレガシーASPに移植することができました。 (レガシーASPでオブジェクト指向っぽく作るのにかなり苦労しましたが・・・)
名前を「ぴいたん」と呼びます。 (たまごのピータンではありませんよ)
ライセンスはMITです。
バージョン 0.7.2公開。
ダウンロードページからダウンロードできます。
最小ソースコードはこれだけです。
ソースコードはこれだけでも動きます。
<!--#include file="../peetan/peetan.asp"-->
<%
Function action(ByRef c)
c.setv "msg", "Hello, World!"
End Function
%>
<html>
<body>
<h1><%=data("msg")%></h1>
</body>
</html>
----hello.asp----
<!--#include file="../peetan/peetan.asp"-->
<%
Function action(ByRef c)
c.setv "msg", "Hello, World!"
End Function
%>
----hello.html----
<html>
<body>
<h1><%=data("msg")%></h1>
</body>
</html>
テンプレートも使えます。
全てのページで同じテンプレートを使いたい時
----temp.html----
<html>
<body>
<%=view.content%>
</body>
</html>
----hello.asp----
<!--#include file="../peetan/peetan.asp"-->
<%
Function action(ByRef c)
c.template = "temp.html"
c.setv "msg", "Hello, World!"
End Function
%>
----hello.html----
<h1><%=data("msg")%></h1>
モデルも完備。
データベースへの保存もこれだけ。
----config.asp----
<%
Sub config_database(ByRef db)
db.add "default", "dsn=db;uid=user;pwd=pass;", DB_TYPE_MYSQL
End Sub
Sub config_models(ByRef c)
c.AddModel "user.asp", "User", "user", null, null
End Sub
%>
----user.asp----
Class User
Public parent
Public Sub Class_Initialize()
Set Me.parent = New Model
With Me.parent
.SetChild Me
End With
End Sub
End Class
----test.asp----
<!--#include file="./config.asp"-->
<!--#include file="../peetan/peetan.asp"-->
<%
Function action(ByRef c)
If c.post.Count > 0 Then
c.m("user").insert(c.data("user"))
End If
End Function
%>
<html>
<body>
<form method="post" action="test.asp">
名前<br>
<input type="text" name="user/name"><br>
メールアドレス<br>
<input type="text" name="user/email">
</form>
</body>
</html>