トップページphp
1001コメント391KB

【商用?】OpenPNE その3【GPL?】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/05/31(水) 03:11:45ID:???
板橋区の手嶋さんが、丹精こめて作り上げた、
SNSシステム「OpenPNE」について語るスレ。
0103逆襲のニート ◆OWVAgSWYwE 2006/06/16(金) 01:03:43ID:???
>>102
Version2.0を見てますか?
基本的には、MVCモデルで作られているようですね。

OpenPNEは、PHPフレームワーク「mojavi」を利用していたようです。
http://snsoft.jp/archives/2005/04/snsoft_4.html
今はどうしているのか知りませんが、既存のフレームワークを独自にカスタマイズして使っているんかな?

大雑把には、
(1) MVCモデルでいうところのController(+Action)、Model、Viewのファイルがどこにあるか?
(2) URLのクエリー文字列を見て、どんなふうにして処理を割り振っているか
を追跡すれば、各機能の処理の流れが見えてくると思います。
0104逆襲のニート ◆OWVAgSWYwE 2006/06/16(金) 01:11:20ID:???
>>102
ユーザーの立場で、どんなふうにWebアプリケーション内をたらいまわしにされるか見ていきましょう。

※以下、ディレクトリ&ファイルの位置表現について、OpenPNE2.0をダウンロードして
解凍した直後の状態にある「OpenPNE」というフォルダを、便宜的にルート「/」とします。

「OpenPNE」フォルダ(=「/」)内には、
/bin
/lib
/public_html
/setup
/var
/webapp
/webappext
という7つのフォルダがありますよね?
0105逆襲のニート ◆OWVAgSWYwE 2006/06/16(金) 01:15:04ID:???
>>102
まずはユーザーが最初にアクセスする
/public_html/index.php
ファイルの中身を見てください。

require_once './config.inc.php';
require_once OPENPNE_WEBAPP_DIR . '/init.inc';
openpne_execute();

↑たったこれだけすね!
0106nobodyさん2006/06/16(金) 01:20:09ID:???
なんか語り口調がうざいな
0107逆襲のニート ◆OWVAgSWYwE 2006/06/16(金) 01:21:31ID:???
>>102
/public_html/index.php では、

まず、
/public_html/config.inc.php
/webapp/init.inc
というWebアプリケーションの初期化に関するファイルを読み込んでいます。
ここの設定によって、アプリケーションの挙動を変えることができるようになっています。

2つめの初期化設定情報ファイル /webapp/init.inc 内を見てください。

// ライブラリ読み込み
require_once 'util.inc.php';
require_once 'db.inc.php';
require_once 'controller.php'; ←コントローラーの呼び出し
require_once 'OpenPNE/Smarty.php';
require_once 'OpenPNE/Auth.php';
require_once 'OpenPNE/Config.php';

という部分で、Controllerを呼び出します。
0108逆襲のニート ◆OWVAgSWYwE 2006/06/16(金) 01:26:08ID:???
>>102
コントローラーはこれです。
/webapp/lib/controller.php

中身を見てみましょう。

/**
* 初期実行 index.php から呼ばれる
*/
function openpne_execute()
{
・・・(中略)・・・
}

このopenpne_execute()が処理の割振りを決めているところです。
0109逆襲のニート ◆OWVAgSWYwE 2006/06/16(金) 01:32:56ID:???
>>102
OpnePNEのURLをみると、クエリー文字がズラズラ並んでいますね!?
http://openpne.jp/?m=pc&a=page_o_login の「?m=pc&a=page_o_login」という文字列です。

openpne_execute()で、受け取ったクエリー文字列から、

$module = '';
$type = '';
$action = '';

という3つの変数、パラメータを決定し、それらに基づいて、
openpne_forward($module, $type, $action);
の部分で、実際の処理に飛んでいきます。

この後もゴチャゴチャ続きますが、大きな流れはこれだけです。
0110逆襲のニート ◆OWVAgSWYwE 2006/06/16(金) 01:37:09ID:???
>>106
m(_~_)m …ツッコミありがとうございます。w

それでは良い子のみなさん♪オヤスミナサイ☆
■ このスレッドは過去ログ倉庫に格納されています