RIGHT:[[:t/解析]]

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

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


*継承 [#ob5f6848]
|lib\config.php(161)|class ConfigTable_Sequential|extends ConfigTable|
|lib\config.php(183)|class ConfigTable_Direct|extends ConfigTable|
|lib\convert_html.php(166)|class Inline|extends Element|
|lib\convert_html.php(201)|class Paragraph|extends Element|
|lib\convert_html.php(231)|class Heading|extends Element|
|lib\convert_html.php(267)|class HRule|extends Element|
|lib\convert_html.php(287)|class ListContainer|extends Element|
|lib\convert_html.php(362)|class ListElement|extends Element|
|lib\convert_html.php(385)|class UList|extends ListContainer|
|lib\convert_html.php(396)|class OList|extends ListContainer|
|lib\convert_html.php(407)|class DList|extends ListContainer|
|lib\convert_html.php(420)|class BQuote|extends Element|
|lib\convert_html.php(480)|class TableCell|extends Element|
|lib\convert_html.php(558)|class Table|extends Element|
|lib\convert_html.php(660)|class YTable|extends Element|
|lib\convert_html.php(723)|class Pre|extends Element|
|lib\convert_html.php(751)|class Div|extends Element|
|lib\convert_html.php(775)|class Align|extends Element|
|lib\convert_html.php(797)|class Body|extends Element|
|lib\convert_html.php(964)|class Contents_UList|extends ListContainer|
|lib\make_link.php(209)|class Link_plugin|extends Link|
|lib\make_link.php(281)|class Link_note|extends Link|
|lib\make_link.php(349)|class Link_url|extends Link|
|lib\make_link.php(395)|class Link_url_interwiki|extends Link|
|lib\make_link.php(433)|class Link_mailto|extends Link|
|lib\make_link.php(473)|class Link_interwikiname|extends Link|
|lib\make_link.php(544)|class Link_bracketname|extends Link|
|lib\make_link.php(608)|class Link_wikiname|extends Link|
|lib\make_link.php(645)|class Link_autolink|extends Link|
|lib\make_link.php(695)|class Link_autolink_a|extends Link_autolink|
|lib\make_link.php(709)|class Link_autoalias|extends Link|
|lib\make_link.php(762)|class Link_autoalias_a|extends Link_autoalias|
*抽象化 [#vcff0937]
サブクラスは無視して良い。
結局クラスは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