OSDN Git Service

Update project date from '2002 - 2009' to '2002 - 2010'.
[nucleus-jp/nucleus-jp-ancient.git] / utf8 / nucleus / documentation / devdocs / plugins.html
index da5ec0c..4350f52 100755 (executable)
@@ -4,7 +4,7 @@
 <head>\r
        <!--\r
                Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)\r
-               Copyright (C) 2002-2009 The Nucleus Group\r
+               Copyright (C) 2002-2010 The Nucleus Group\r
 \r
                This program is free software; you can redistribute it and/or\r
                modify it under the terms of the GNU General Public License\r
@@ -13,7 +13,7 @@
                (see nucleus/documentation/index.html#license for more info)\r
 \r
                @license http://nucleuscms.org/license.txt GNU General Public License\r
-               @copyright Copyright (C) 2002-2009 The Nucleus Group\r
+               @copyright Copyright (C) 2002-2010 The Nucleus Group\r
        -->\r
        <!-- $Id$ -->\r
        <!-- $NucleusJP: plugins.html,v 1.9 2007/02/04 06:28:45 kimitake Exp $ -->\r
 <!--    <li><a href="#parser">Using the <code>PARSER</code> class</a></li>\r
     <li><a href="#"></a></li>\r
     <li><a href="#"></a></li>\r
-    <li><a href="#"></a></li>\r
     <li><a href="#"></a></li>-->\r
 </ul>\r
 \r
@@ -207,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
@@ -1989,10 +1990,15 @@ $this-&gt;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