PHPで自作ブログ!!

このブログについて

このページは自作ブログの作成日記という形でブログを作りながらそのブログで日記を公開していくとうものです。
目指すはプラグイン形式のブログシステム。
ブログシステムのphpを配布することで、既存のブログ以外の普通のホームページをブログに変えちゃうことが出来るものを考えています。
もちろん前提条件としてそのサーバでphpが動くことですが、phpさえ動かせればプログラムをインクルードして使ってもらえたらと思います。
といっても私自身が使いたいから作るわけですが、、、、生暖かく見守ってください。

基本ファイルレイアウト

とりあえず、ファイルシステム部分を作りました。
<>で項目を区切ったレコードを基本ファイルレイアウトとします。
で、今はこれをphpで読んで出力しているわけです。
ちなみに、まだ管理画面なんて作っていないので、データファイル直打ちですw
今後はシステムの仕様を固めていきたいと思います。

今決まってることは、、
・データベースを使わないこと。
・phpで作成。
・少なくても月単位で記事を表示する機能を付ける(アーカーブ)
・出来ればカテゴリごとに表示(ry
ととりあえずはこれだけ。
・・・出来るかな?

2009年11月05日


やっぱりXML形式で

やっぱりタグで囲ったXMLでデータを保存するのがいいかなぁ。
その方があとからもデータが見やすそうだし。
というわけで、XMLを解析して、出力するプログラムを組みました。
あと、自動改行機能付き
2009年11月06日


viewシステム


最初に挙げた要件を実現するために「view」と言うシステムを考えました。

このブログでは記事(エントリー)へのアクセスはすべてviewを通して行います。

例えば
トップページの表示にはトップビュー(top.view)。
月ごとのページにはアーカイブビュー
個別記事の表示にはエントリービュー。
といった具合です。

具体的なビューの内容はただの記事への参照です。

今のところトップビューの形だけは作りました。
ブログサイトのルート(/blog/)とトップページビューを明示的に指定(/blog/topもしくは末尾に/あり)した場合にトップビューが使用されます。
同様に、アーカイブビューを実装した場合は(/blog/archive/)でアクセスできるようにする予定です。

あ、アーカイブビューは200901.viewになる可能性が高いので「/blog/200901/」かもしれないですね。

2009年11月08日


管理用画面作成

とりあえず管理用画面を作成しました。
見せられないのが残念(笑)

一応、記事を投稿する機能は作りました。
あと、トップビューへの書き込み。


次は、ビュー関係ですね。
アーカイブビューの作成とかとか。
トップビューの調整とか(トップページの表示は5件までなど)
2009年11月10日


個別記事(entry.view)実装 & スクリプトビュー

個別記事表示用のentry.view(エントリービュー)を実装しました。

で、エントリービューの実装や今後の拡張性も考えてノーマルビューとスクリプトビューの2種類でビュー機能を実現することにしました。

ノーマルビューは個別記事のデータファイル名が記述してありその情報を元に表示を行うもの。

スクリプトビューは、まあ普通のphpファイルですね。
そのスクリプトの中でデータファイルを探して表示と。

ちなみに、エントリービューはスクリプトビューです。
アドレス「/entry/200911001.html」にアクセスがあった場合。
entry.viewが呼ばれ、その後の200911001.htmlは引数としてスクリプトに渡されます。
後ろのhtmlをdatに変えた200911001.datがデータファイル名となり、表示を行います。


次はpingの送信に挑戦です!!
2009年11月11日


月別ビュー作成

とりあえず、月別ビューを作成しました。

実現方法は結構悩んだのですが、結局シンプルに力業w


例えば
11月30日の記事を書いた後に、11月20日の記事を書いた場合、記事を書いた順番ではなく、日付の順番で記事を表示したい訳ですがどうしたものかと。
まあ、結局、記事を1つ書くごとに再構成するとしたわけです。
うーん、記事が多くなったら大変ですねw

でも、ほとんど挿入ソートみたいなものだからそんなに重くないのかな?
phpの内部でどんなソートしてるか知らないけどw


とりあえず、現在「ルート/200911/」という形で11月の月別ビューにアクセスできます。

2009年11月13日


RSS機能追加

RSSの自動作成機能を追加しました。

これで念願の更新ping送信機能を実装できます!!

pingはブログの更新を伝えるための機能ですが、このping自体には記事の内容が含まれていないみたいです。(トラックバックpingで代用可能?)

なので、更新pingを送信すると、送信先のサーバで勝手にこちらのサイトのRSSを読みに来て更新記事の確認を行うようです。

てなわけで実装しました。
メニューに追加してありますので遠慮無く確認してくださいw

ちなみに、RSSはトップページビューを参照して作っています。
こういうことにもビューというシステムは役に立ちますね。
予想以上の柔軟性に私自身びっくりです。
2009年11月15日


LINKタグにRSSを追加

すっかり忘れていましたが、LINKタグにRSSの場所を記入しないとpingなどを送信しても、pingの送信先のサイトがRSSの場所を見つけてくれないんですよねw

というわけで追加と

書き方としては

<link rel="alternate" type="application/rss+xml" title="RSS" href="自分のRSSフィードのURL" />

とこんな感じ。


次はping送信機能だ!
2009年11月20日


更新ping送信!!!

pingoo!!への更新ping送信機能を追加しました。

次は
・複数のpingサイトへ送信できるようにする。
・トラックバック機能
・管理機能の充実
・viwe管理機能の充実

とこんなところかな。
2009年11月22日


PHPでブログ作成まとめ 要件編

このたび、PHPを使いブログのプログラムを作る事にしたわけです。
その目的と具体的にどういうものを目標にしているかというと、

まず具体的な要件(どういう機能、制約など)
1.DB(データベース)を使用しない
2.PHPで作成を行う(まあ、そうですよね)
3.将来的にプラグインなどの形で他のサイトに組込んで使える形式としたい。
4.ブログとして基本的な機能は欲しい。(月別、カテゴリ別の表示など)

大きくまとめるとこの4点です。
4.は出来れば、、、というところですが、今現在(2009/11/26)出来つつあります。


まず、
3.について、普通のサイトにもこのプログラムを埋め込んで一部の機能を組込みたいというものです。
具体的に一部の機能を組込んだサイトがこちら
お酒の市場

ブログの中核プログラムを対象サイトのブログを表示したい部分に
include("./blog/ブログプログラム.php");
?>
といった感じで組込んだだけです。
当然、該当サーバへソフトのインストール(必要ファイルのコピー)は必要ですし、該当サーバでPHPが動くことが大前提ですが。


次に1.について。
これは4.とも関わってくるのですが、他のサイトに組込むときにDBを使用する形式だと移植性が悪い為です。
普通のサイトに埋め込むには敷居が高くなるし、PHPは使えてもDBが使えないサイトは多いため。

2.についてはそのままです。
個人的にperlより簡単そうだしパフォーマンスもいいと思うため。


このような感じで、ブログを作成してきて現在そのほとんどが実現しつつあります。
2009年11月22日


次へ


お問い合わせはこちらより