requireのパスチェックを修正してほしい(pukiwiki.phpと他のファイルの分離)

  • 元タイトル: requireのパスチェックを修正してほしい。(LANG.lngファイル)
  • ページ: BugTrack
  • 投稿者: しげ♪
  • 優先順位: 低
  • 状態: 完了
  • カテゴリー: 本体新機能
  • 投稿日: 2002-09-11 (水) 00:02:18
  • バージョン: 1.4

メッセージ

ディレクトリ構成を変えたとき、requireのチェックがカレントディレクトリだけなのは制限がきつい。

しげ:メモ/PukiWikiコンフィギュレーションに書いてるんですが、標準の構成じゃないとき、requireのチェックがカレントディレクトリだけでなくrequireしているファイルのカレントディレクトリもチェックしてほしいです。

というか、requireの前でチェックするより、requireの解釈にまかせてエラーハンドラで処理した方がスマートかもしれません。


  • ご要望のものとは少々異なるかもしれませんが、pukiwiki.php を標準とは異なるディレクトリに設置可能にしてみました。 -- 三浦克介 2003-06-29 (日) 18:37:00

pukiwiki.php の最初に

define('PUKIWIKI_DIR', './');

というのを追加し、require で他のソースを読み込んだり、スキンや画像ファイル等を読んだりしている所に、片っ端から PUKIWIKI_DIR を付けました。例えば、pukiwiki.php のみをサーバーのトップディレクトリ / に置き、他のファイルは /pukiwiki/ の下に置きたい場合、

define('PUKIWIKI_DIR', './pukiwiki/');

とすれば大丈夫なはずです。

スキンやプラグインなど、変更点は多岐にわたります。まだ、忘れているところがあるかもしれません。適用は慎重に。自作のプラグイン等があり、ファイルを参照している場合は、その変更も忘れずに。


  • BugTrack/509 にて、func.php などに SUB_DIR というdefineを割り当てることができました。後は DATA_DIR, DIFF_DIR, *.lng など、一本のPukiWikiに必要なデータ一揃いのためのdefine (上で言う PUKIWIKI_DIRですが、ユーザーが管理するPukiWikiが一本限定である必要はないので、もう少し抽象的な表現を探しています) を用意し、SKIN_DIR に外部から参照されるべきファイルとそうでないファイルが混在している問題をどうにかすれば、解決すると思います。 -- henoheno 2004-06-27 (日) 12:44:48
  // Webサーバーの外部には必要最小限のファイルのみ露出する
  htdocs/index.html      <= 案内でも何でも
  htdocs/foo.php         <= PukiWikiの入り口
  htdocs/bar.php         <= 別のPukiWikiへの入り口
  htdocs/images/                   <= 共有データ
  htdocs/skin/ (*.css, *.js)       <= 共有データ
  htdocs/hoge/index.php  <= さらに別のPukiWikiへの入り口
  htdocs/hoge/images/              <= 専用のデータ
  htdocs/hoge/skin/ (*.css, *.js)  <= 専用のデータ
  
  // SUB_DIR: 複数のWikiで同じライブラリを共有(してもよい)
  pukiwiki/*.php (func, make_link, ...)
  pukiwiki/skin/*.skin.*.php
  
  // SUB_DIR: PukiWikiのグループごとに別のライブラリを共有(してもよい)
  pukiwiki_test/*.php (func, make_link, ...)
  pukiwiki_test/skin/*.skin.*.php
   
  // DATA_HOME for foo.php
  data/foo/*.ini.php
  data/foo/*.lng
  data/foo/wiki/
  data/foo/diff/
  data/foo/backup/
  data/foo/cache/
  data/foo/trackback/
  data/foo/plugin/
  
  // DATA_HOME for bar.php
  data/bar/(略)
  
  // DATA_HOME for hoge.php
  data/hoge/(略)
  • このような配置が将来的に可能であればと思っています。現状の実装をベースにしているため、ご提案のものと多少異なるのはご了承ください。 -- henoheno 2004-06-27 (日) 12:50:19
  • (SKIN_DIRはもう少し大変かもしれないなぁ・・・) -- henoheno 2004-06-27 (日) 13:04:58
  • PukiWiki/WikiFarm って議論があります。最近、議論が止まってますけど。fileBugTrack-147a.diff は、かなり以前のバージョンをベースにしていますので、現在では、たぶん、使い物にならないでしょう。オブジェクティブな PukiWiki/WikiFarm ができたら、汎用的で良いのかなーと思ってます。つまり、DATA, SKIN, PLUGINなど任意の項目を継承 or オーバーライドして、新たなWikiを作れるという感じ。って、作る暇がぁ・・・。 -- 三浦克介 2004-06-27 (日) 13:05:10
  • DATAHOME_DIR、略してDATA_HOMEというのは良さそうですね。 -- henoheno 2004-06-27 (日) 13:23:40
  • ちょっとたたき台になりそうな物を作って、PukiWiki/WikiFarmに載せてみました。 -- 三浦克介 2004-07-04 (日) 15:41:29
  • 1.4にDATA_HOMEの定義を実装しました。 (開発日記/2004-07-05) -- henoheno 2004-07-05 (月) 20:30:38

添付ファイル: fileBugTrack-147a.diff 1127件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2004-07-05 (月) 20:35:45
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.247 sec.

OSDN