継承されているもの Edit

  • ConfigTable
    Wiki上で設定できるものの設定値集。
  • Element
    記法→HTMLのルール。
    サブクラスのBodyのみが記法を解釈できる。
    lib\convert_html.phpのみで使用。
    &tip;HTML生成はDecoratorパターン。
    「BodyがElement系クラスを構築する」のはBuilderパターンとも言える。
  • Link
    lib\make_link.phpで使用。
    インライン要素を同一視したもの。
    一部のインライン要素を1つの正規表現に結びつけるために利用している。
  • ListContainer
    Elementのサブクラス。

&tip;結局、使っているクラスはユーザー定義のもののみ。
配布されているファイルで完結している。

継承 Edit

lib\config.php(161)class ConfigTable_Sequentialextends ConfigTable
lib\config.php(183)class ConfigTable_Directextends ConfigTable
lib\convert_html.php(166)class Inlineextends Element
lib\convert_html.php(201)class Paragraphextends Element
lib\convert_html.php(231)class Headingextends Element
lib\convert_html.php(267)class HRuleextends Element
lib\convert_html.php(287)class ListContainerextends Element
lib\convert_html.php(362)class ListElementextends Element
lib\convert_html.php(385)class UListextends ListContainer
lib\convert_html.php(396)class OListextends ListContainer
lib\convert_html.php(407)class DListextends ListContainer
lib\convert_html.php(420)class BQuoteextends Element
lib\convert_html.php(480)class TableCellextends Element
lib\convert_html.php(558)class Tableextends Element
lib\convert_html.php(660)class YTableextends Element
lib\convert_html.php(723)class Preextends Element
lib\convert_html.php(751)class Divextends Element
lib\convert_html.php(775)class Alignextends Element
lib\convert_html.php(797)class Bodyextends Element
lib\convert_html.php(964)class Contents_UListextends ListContainer
lib\make_link.php(209)class Link_pluginextends Link
lib\make_link.php(281)class Link_noteextends Link
lib\make_link.php(349)class Link_urlextends Link
lib\make_link.php(395)class Link_url_interwikiextends Link
lib\make_link.php(433)class Link_mailtoextends Link
lib\make_link.php(473)class Link_interwikinameextends Link
lib\make_link.php(544)class Link_bracketnameextends Link
lib\make_link.php(608)class Link_wikinameextends Link
lib\make_link.php(645)class Link_autolinkextends Link
lib\make_link.php(695)class Link_autolink_aextends Link_autolink
lib\make_link.php(709)class Link_autoaliasextends Link
lib\make_link.php(762)class Link_autoalias_aextends Link_autoalias

抽象化 Edit

サブクラスは無視して良い。
結局クラスは4つ。それとサブクラス2つさえ押さえておけばいい。

  • ConfigTable
  • Element
    • Body
    • Div
  • Link
  • ListContainer

最も主要なクラスはElementで、これがWikiEngineの機能とプラグイン呼び出しを実現するクラス。
他のクラスは枝葉。重要ではない。

スーパークラス
	サブクラス
	サブクラス
		サブクラスのサブクラス
	サブクラス
	…

ConfigTable
	ConfigTable_Direct
	ConfigTable_Sequential

Element
	Align
	Body
	BQuote
	Div
	Heading
	HRule
	Inline
	ListContainer
	ListElement
	Paragraph
	Pre
	Table
	TableCell
	YTable

Link
	Link_autoalias
		Link_autoalias_a
	Link_autolink
		Link_autolink_a
	Link_bracketname
	Link_interwikiname
	Link_mailto
	Link_note
	Link_plugin
	Link_url
	Link_url_interwiki
	Link_wikiname

ListContainer
	Contents_UList
	DList
	OList
	UList