OSDN Git Service

chnge:$nucleus['version'] v3.5SVN to v3.50SVN
[nucleus-jp/nucleus-jp-ancient.git] / utf8 / nucleus / documentation / devdocs / plugins.html
index b5d90c9..9168804 100755 (executable)
@@ -206,6 +206,8 @@ class NP_HelloWorld extends NucleusPlugin
         {\r
             case 'SqlTablePrefix':\r
                 return 1;\r
+                       case 'SqlApi':\r
+                               return 1;\r
             default:\r
                 return 0;\r
         }\r
@@ -1988,10 +1990,15 @@ $this->createOption('FooBar', 'foobar', 'textarea', 'This textarea is readonl
 <h2>Nucleusテーブルへのアクセス</h2>\r
 \r
 <p>v2.0まで、Nucleusテーブルへのアクセスは単に<code>nucleus_</code>と名づけられたテーブルに対してSQL命令を実行するだけのものでした。Nucleusのバージョン2.2以降はカスタム・テーブル名を利用できるようになったため、プラグイン開発に若干注意する必要があります。</p>\r
+<p>v3.5でNucleusはPDO等MySQL以外のデータベースハンドラのサポートをするようになりました。この機能はベータ実装ではありますが、プラグイン開発者はデータベースの呼び出しに使用する関数の「sql_*」への書き換えを始めてください。\r
+基本的に、使用している全ての「mysql_*」関数を「sql_*」に置き換える必要があります。たとえば<code>mysql_fetch_assoc($result)</code>は<code>sql_fetch_assoc($result)</code> に置き換えになります。\r
+全ての関数を書き換えたら、Sql APIが無い古いバージョンのNucleusインストールできないように、次に示すコードをプラグイン内に記述して、インストールに必要な最低バージョンを350に指定する必要があります。<br />\r
+<code>function getMinNucleusVersion( return '350';)</code></p>\r
 \r
 <ol>\r
     <li><code>nucleus_item</code> などの固定されたテーブル名の代わりに、テーブル名のプレフィックスを生成するために <code>sql_table('item') </code>というグローバルファンクションを利用します。</li>\r
     <li><code>supportsFeature('SqlTablePrefix')</code> が呼ばれたときにプラグインが1(真)を返すようにします。これがないと、カスタムプレフィックスがセットされている場合でバージョンが2.0より大きいNucleusではプラグインをロードできません(用心のため)。</li>\r
+    <li>3.5以降:<code>supportsFeature('SqlApi')</code> が呼ばれたときにプラグインが1(真)を返すようにします。3.5以降のバージョンでは、データベースのバックエンドにmysqlでないものを使用している場合にプラグインをロードできなくなります(用心のため)。</li>\r
 </ol>\r
 \r
 <p class="note">v2.0までのNucleusではグローバルファンクション <code>sql_table</code> は利用できないことに注意してください。もしこのメソッドを用いつつ、プラグインをv2.0以下のNucleusで動作させたい場合は、以下のコードをプラグインクラスの前に追加してください。</p>\r