「WordPressで学ぶPHP(2)データ構造(配列・オブジェクト)編」を発売しました。
本書は「WordPressで学ぶPHP(1)変数・制御構造編」の続編にあたり、PHPの「データ構造」(配列とオブジェクト)について解説します。
配列やオブジェクトは、頭の中で考えるだけでは、イメージがつかみにくいです。本書では図を多用して、配列やオブジェクトをなるべく分かりやすく解説することを心がけました。
Kindle本で、定価250円です。
Perl版ダイナミックパブリッシング(MT5用・その2)
Perl版ダイナミックパブリッシング(MT5用)の使い方の解説の後半として、ウェブサイト/ブログ毎の設定手順を解説します。
1.ダイナミックパブリッシングにするテンプレートを選ぶ
まず、ダイナミックパブリッシングにするテンプレートを選びます
ウェブサイトまたはブログの管理画面で、「デザイン」→「テンプレート」メニューを選び、テンプレート一覧を表示します。
そして、インデックステンプレートまたはアーカイブテンプレートの中で、ダイナミックパブリッシングにしたいテンプレートを編集する状態にします。
このページの中に「テンプレートの設定」という部分がありますので、そこをクリックして開きます。
そして、「公開」の箇所を「ダイナミック」に変えて、テンプレートを保存して再構築します。
なお、アーカイブテンプレートの場合、アーカイブマッピングごとに「公開」の設定を行うことができます。
2.Perl版ダイナミックパブリッシングの初期化
次に、Perl版ダイナミックパブリッシングを初期化します。
ダイナミックパブリッシングにしたいウェブサイト/ブログで、「ツール」→「プラグイン」メニューを選び、プラグイン一覧のページを開きます。
そして、「Dynamic Publishing by Perl」のところで「設定を表示」をクリックします。
すると、「初期化する」というリンクが表示されますので、それをクリックします。
初期化が終わると、以下のようなメッセージが表示されます。
なお、初期化では以下のような処理が自動的に行われます。
- .htaccessファイルの書き換え
- mt-dynamic.phpテンプレートの作成と再構築
- SQL用テンプレート(sqlsub_mysql.phpまたはsqlsub_pgsql.php)の作成と再構築
3. .htaccessファイルの確認
環境によっては、Movable Typeのダイナミック・パブリッシングの機能をオンにした際に、.htaccessファイルが正しく出力されないことがあるようです。
その場合、上記の手順での.htaccessの書き換えが正しく行われません。
初期化の際に「.htaccessファイルの書き換えに失敗しました。」のメッセージが表示された場合は、ウェブサイト/ブログの出力先ディレクトリに、以下の内容の.htaccessファイルを手動で作成します。
また、ウェブサイト/ブログのサイトパスとアーカイブパスを別にしている場合は、アーカイブの出力先ディレクトリにも同じ内容の.htaccessを作成します。
ただし、リスト中の赤字の部分(4か所)は、ウェブサイト/ブログのトップページがサイトのルートにある場合のものです。
ルート以外のディレクトリにブログがある場合、赤字の部分を書き換える必要があります。
例えば、ウェブサイト/ブログのトップページのアドレスが「http://www.foo.com/blog/」の場合、赤字の部分を「/blog/mt-dynamic.php」にします。
## %%%%%%% Movable Type generated this part; don't remove this line! %%%%%%% # Disable fancy indexes, so mtview.php gets a chance... Options -Indexes +SymLinksIfOwnerMatch <IfModule mod_rewrite.c> # The mod_rewrite solution is the preferred way to invoke # dynamic pages, because of its flexibility. # Add mtview.php to the list of DirectoryIndex options, listing it last, # so it is invoked only if the common choices aren't present... <IfModule mod_dir.c> DirectoryIndex index.php index.html index.htm default.htm default.html default.asp /mt-dynamic.php </IfModule> RewriteEngine on # don't serve mtview.php if the request is for a real directory # (allows the DirectoryIndex lookup to function) RewriteCond %{REQUEST_FILENAME} !-d # don't serve mtview.php if the request is for a real file # (allows the actual file to be served) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !\.(cgi|css|gif|jp*g|png)$ # anything else is handed to mtview.php for resolution # passthrough query parameters RewriteRule ^(.*)(\?.*)?$ /mt-dynamic.php$2 [L,QSA] </IfModule> <IfModule !mod_rewrite.c> # if mod_rewrite is unavailable, we forward any missing page # or unresolved directory index requests to mtview # if mtview.php can resolve the request, it returns a 200 # result code which prevents any 4xx error code from going # to the server's access logs. However, an error will be # reported in the error log file. If this is your only choice, # and you want to suppress these messages, adding a "LogLevel crit" # directive within your VirtualHost or root configuration for # Apache will turn them off. ErrorDocument 404 /mt-dynamic.php ErrorDocument 403 /mt-dynamic.php </IfModule> ## ******* Movable Type generated this part; don't remove this line! *******
4.Perl版ダイナミック・パブリッシングの設定
次に、Perl版ダイナミック・パブリッシングを設定します。
初期化完了のページで、「このリンクをクリックして、設定を続けてください。」をクリックすると、設定ページに移動します。
また、ブログの「設定」ページの「プラグイン」でPerl版ダイナミック・パブリッシングの「設定を表示」をクリックし、その中の「設定を行う」のリンクをクリックしても、設定ページを開くことができます。
設定ページでは、以下の点を設定します。そして、設定が終わったら、「設定を保存」のボタンをクリックします。
設定項目 | 設定内容 |
---|---|
インデックスページのファイル名 |
メインページとアーカイブページのファイル名を指定します。 初期値は「index.html」ですが、BlogをPHP化している方は「index.php」に変えてください。 |
ページが見つからないときの移動先のURL |
間違ったアドレスのページに接続されたときには、エラーページに転送することができます。 その機能を使いたい場合は、この欄にエラーページのURLを入力します。 なお、この欄を空欄にした場合、間違ったアドレスに接続されたときには、「ご指定のアドレスのページは見つかりませんでした。」というメッセージが表示されます。 |
キャッシュの設定 |
Movable TypeのデータをMySQLかPostgreSQLに保存している場合、ページのキャッシュ機能を使うことができます。 キャッシュ機能を使いたい場合は、「キャッシュを使う」のチェックをオンにします。 また、キャッシュをオンにする場合、「キャッシュの容量」の欄で容量も指定することができます。 |
5.ウェブサイト/ブログ全体を再構築する
ここまでが終わったら、ウェブサイト/ブログ全体を再構築します。
これ以後は、ダイナミックパブリッシングに設定した各ページは、再構築なしに出力されます。
なお、再構築後にウェブサイト/ブログの出力先ディレクトリを見ると、「~.static」という名前のファイルができています。これらのファイルは、これまでの静的再構築で作られていたファイルです。
これらのファイルは不要になりますので、サーバーから削除することができます。
6.テンプレートの先頭にXML宣言がある場合
小粋空間のテンプレートなど、テンプレートの先頭にXML宣言が入っている場合、そのXML宣言を以下のようにPHPで出力するように書き換える必要があります。
<?php print('XML宣言' . "\n"); ?>
たとえば、テンプレートに以下のようなXML宣言が入っているとします。
<?xml version="1.0" encoding="<$MTPublishCharset$>" ?>
この場合、以下のように書き換えます。
<?php print('<?xml version="1.0" encoding="<$MTPublishCharset$>" ?>' . "\n"); ?>