WordPress本体直下のindex.phpについて

このカテゴリ(read-the-wordpress-core)は、Wordpress本体の実装をコード単位で読み解いて理解、尚且つその理解の水準を向上させ、自身の技術進歩を図るものである。

また一見WordPressの本体を読み解くという行為は、非常に難しいイメージを想像させるが、読む順番を誤らなければ相当難しいということでは無い。

その道筋(WordPress本体を読み解く順番)も何れ記事が増えた際にロードマップとして書き記したいと考えている。

この記事では筆者がWordPress本体を読み解く事になった起因やその末の展望をまずは話していく。

WordPress本体を読み解く目的やその末の展望

起因

私は、現在20歳だがプログラミングは12歳の頃より8年以上行っている。

歴こそは長く、学習スピードが非常に遅かったが、ほぼ全て独学で日々学びを得ていたため、課題解決力は相当あると自負している。

また近頃、私自身のスキルが現在の学び方だと頭打ちしそうな予感がしたため、「オープンソースは神だ!」という教えの元で新たな姿勢でプログラミングを勉強していきたいと感じたからだ。

展望

現在記事執筆時点のWordopress Ver 5.2.1では既に多くの有志の方の貢献により、日々新しくなるPHPのバージョン毎にコードの信頼性の担保やその他コアな活動が毎日のように議論されている。

筆者もつい先日Wordpressのコアな活動に貢献するためにSlackに参画した。

「オープンソースなプロジェクトに貢献した」というものが自信の価値を引き立てるものになると感じるが本質はそこではない。

「オープンソースなプロジェクトに貢献した」ことによる、自信の技術レベルの水準を上げることが大前提だと感じている。

リーダブルなコード(可読性の高いコード)を書くことや現在2000になろうとするファイル数から具体的にどのような実装を施すことにより現在のパフォーマンスを担保しているかを具体的に学びたいのである。

その学びの末故の自身の展望としては、紛れもなく「未だ自信では読み解くことの困難なリーダブルすぎる(美しすぎる)コードや扱ったことの無い実装」を学びたいからである。

以上の理由から、このカテゴリを開設し、以後も書き記していきたい。

index.phpについて

なぜindex.phpから読み解くのか

WordPressでは、index.phpにコントローラーを集約させている。

それは以下のようによく目にする.htaccessファイルで確認できる。

.htaccess
<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

RewriteRule ^index\.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

</IfModule>

MVCモデルのC部分(コントローラー)であるというわけだ。

MVCの概念については、有志の記事によるここを参照すると良い。

上記.htaccessファイルでは”./index.php”所謂Wordpress本体直下のindex.phpにURLを書き換えている。

以上よりまずはindex.phpから読み解くとする。

index.phpを読む

index.phpでは”WP_USE_THEMES”をtrueで定義し、Wordpress本体直下の”wp-blog-header.php”を読み込んでいる。

何もまだ目新しいものは無い。

次回の記事では”wp-blog-header.php“を読み解いていきたい。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です