General

Jeans & Development 電子ブロック工房 三日坊主 フロントページ

テンプレート [General]

2007年12月26日

member.phpのログイン部分は完成。こちらの方は、Nucleus SHA encryption edition で経験済みだったので、それほど時間はかからず。特筆する点はそれほど無い(Nucleusとほとんど代わらない)が、一つの特徴は、メンバーログイン用のデータベースは、他のものから独立していること。これはセキュリティーを考えてのことで、仮にどこかでSQLインジェクションがあっても、パスワードやメールアドレスなどが洩れないようになっている。

また、skin.phpを少し改良し、parse_ifメソッドの中で呼び出しメソッド名の解決を行っていたのを、コンパイル時に解決しておくようにした。

次にテンプレート周りを完成させれば、あとはNucleusのスキン変数・テンプレート変数処理部分を次々と移植していくだけ。で、ここ2-3日、テンプレートの仕様を考えている。

skin.php [General]

2007年12月24日

スキンのパース部分がほぼ出来上がったので、メモ。

スキンの仕様としては、Nucleusのスキンのアッパーコンパチブルにすることをめざす。すなわち、<%skinvar%>の様な記述で書き上げるやり方をとる。

一方で、<?php … ?>のような、PHP直書きの表記も使えるようにする。したがって、スキンに特別な機能を入れたい場合に、PHPでガリガリ書くことも可能。

もう一つの特徴は…。これはもし完成した場合にJeans CMS の大きな特徴になると思うのだけれど…。スキンをコンパイルして、PHPファイルに変換できるようにしたい。つまり、コンパイルの結果、コアやプラグインの機能を直接呼び出すようなindex.phpが作成される。これをサーバーにおけば、ZAPAさんの改造のように、100倍とまでは行かないものの、かなりのスピードアップが期待できると思われる。

特徴 [General]

2007年12月23日

最初の記事でたいそうなことを書いたが、要するに開発するためのメモをするところを準備したというところ。まず、特徴となることをいくつか挙げると

1)言語としては、PHP5を利用。データベースエンジンは、SQLite。
2)ライセンスは、GPL(Nucleus のコードを幾分か移植して使うため)。
3)軽さを追求したツールにする。
4)グローバル変数とグローバル関数は利用しない。代わりに、定数もしくはクラスのスタティックプロパティとクラスのスタティックメソッドを用いる。
5)SQLインジェクション、XSS、リモートコードインサーションなどの脆弱性が出にくくなるような仕組みを、コア側で用意する。
6)スキンはデータベースに保存せず、ファイルとして保存する。
7)Nucleusのテンプレートの概念は使わず、かわりにスキンを多層化する。
8)管理画面もスキンで記述し、自由にカスタマイズできるようにする。

Jeans CMS製作開始 [General]

2007年12月23日

自分流のCMSを、ほぼスクラッチの状態から製作することにした。Nucleusに似たものになると思うけれど、Nucleusの良いと思うところは残し、そうではないところに改良を加えたものにしてみたいと思う。

このツールの名前であるが、Nucleusの考え方を受け継ぐようなものにした。お手本にするツールであるNucleusは、『核』という意味であるが、文字通りブログツールやCMSとしての核の部分だけを提供し、その他の多くの機能をプラグインで補おうという考え方である。ここで開発するツールは、核(細胞核)をさらに分解し、遺伝子のレベルまで細かくして扱っていこうという考え方を取りたい。コアに含まれる複数のクラスを遺伝子としてとらえるので、Genes。同じ発音でつづりを変えて、Jeansと命名した。
   後の記事>>