polished.
This commit is contained in:
+1
-1
@@ -30,7 +30,7 @@ $string['configdbsessions'] = '
|
||||
$string['configdebug'] = 'この設定を「Yes」にした場合、PHPのerror_reportingが増加し、より多くの警告が表示されるようになります。これは、開発者のみに便利な設定です。';
|
||||
$string['configdefaultallowedmodules'] = '上位カテゴリに分類される<b>コースが作成される場合</b>、デフォルトでどのモジュールを許可しますか?';
|
||||
$string['configdefaultrequestedcategory'] = 'リクエストされたコースが認証された場合、コースが設置されるデフォルトカテゴリです。';
|
||||
$string['configdeleteunconfirmed'] = 'メールによる承認を利用している場合、この値はユーザからの返答を受け付ける期間を指します。この期間の終了後、古い未承認のアカウントは削除されます。';
|
||||
$string['configdeleteunconfirmed'] = 'メールによる承認を利用している場合、この値はユーザからの返答を受け付ける期間を指します。この期間終了後、古い未承認のアカウントは削除されます。';
|
||||
$string['configdenyemailaddresses'] = '特定ドメインから新しいメールアドレスを拒否したい場合は、この欄にスペースで区切って入力してください。他のドメインは全て認められます。例 <strong>hotmail.com yahoo.co.uk</strong> ';
|
||||
$string['configdigestmailtime'] = 'メール送信する選択をしたユーザに、投稿内容を要約したメールが毎日送信されます。ここでは1日の内で何時に要約メールを送信するか設定します ( 次のcronがここで設定した時間の後に実行されます )。';
|
||||
$string['configdisplayloginfailures'] = 'ここで選択したユーザに前回のログイン失敗情報を表示します。';
|
||||
|
||||
+14
-15
@@ -9,7 +9,7 @@
|
||||
<body>
|
||||
<h1>Moodleコーディングガイドライン</h1>
|
||||
<p class="normaltext">協力的なプロジェクトを堅牢にするためには、一貫性および安定性が必要です。</p>
|
||||
<p class="normaltext">このガイドラインでは、Moodleコードが目指すゴールを提示するためにあります。
|
||||
<p class="normaltext">このガイドラインは、Moodleコードが目指すゴールを提示するためにあります。
|
||||
間違いなく、いくつかの古いコードは少数の場所で目標基準に達していませんが、最終的に修正します。
|
||||
全ての新しいコードは、これらの基準を可能な限り確実に順守してください。</p>
|
||||
<h2>一般ルール</h2>
|
||||
@@ -19,9 +19,9 @@
|
||||
<li class="spaced">全てのテキストファイルは、Unixスタイルのテキストフォーマットを使用してください。 ( ほとんどのテキストエディタには、このオプションがあります。 )</li>
|
||||
<li class="spaced">全てのphpタグは、<font color="#339900"><?php ?></font> のように「フルタグ」を使用してください ... <font color="#339900"><? ?></font> のように「ショートタグ」では無く。</li>
|
||||
<li class="spaced">全ての著作権情報は保持してください。必要であれば、あなた独自の情報を追加することができます。</li>
|
||||
<li class="spaced">各ファイルには、config.phpをインクルードしてください。</li>
|
||||
<li class="spaced">各ファイルでは、config.phpをインクルードしてください。</li>
|
||||
<li class="spaced">各ファイルでは、require_login() および isadmin()、isteacher()、iscreator() または isstudent() を使用してユーザが正しく認証されているか確認してください。</li>
|
||||
<li class="spaced">データベースへのアクセスは、可能な場合は常に関数 lib/datalib.php を使用してください - この関数により幅広いデータベースの互換性を実現します。この関数を使用することによりほとんどのことが実現できることに気付くでしょう。SQLコードを書く必要がある場合、次のことを確認してください: クロスプラットフォームであること、あなたのコードが特定の関数 ( 通常、lib.phpファイル ) に限定されていること、明確に注釈がなされていること。</li>
|
||||
<li class="spaced">データベースへのアクセスは、可能な場合は常に関数 lib/datalib.php を使用してください - この関数により幅広いデータベースの互換性を実現します。この関数を使用することにより、ほとんどのことが実現できることに気付くでしょう。SQLコードを書く必要がある場合、次のことを確認してください: クロスプラットフォームであること、あなたのコードが特定の関数 ( 通常、lib.phpファイル ) に限定されていること、明確に注釈がなされていること。</li>
|
||||
<li class="spaced">$CFG、$SESSION、$THEME および $USER のような標準的なもの以外、グローバル変数を作成または使用しないでください。</li>
|
||||
<li class="spaced">全ての変数は使用する前に初期化するか、少なくとも isset() または empty() を使用して存在チェックを行ってください。</li>
|
||||
<li class="spaced">全てのストリングは翻訳できるようにしてください - 「lang/en」内のファイルに新しい簡潔な英語の小文字でテキストを作成して、あなたのコードから get_string() または print_string() を使用して取り出してください。</li>
|
||||
@@ -33,12 +33,12 @@
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
<li class="spaced">ブラウザから ( GET または POST 経由で ) 入ってくるデータは、(PHPの設定に関わらず ) 安全にデータベースにインサートできるよう、自動的に magic_quotes が適用されます。他の全ての生データ ( ファイルまたはデータベース ) は、データベースにインサートする前に <font color="#339900">addslashes()</font> でエスケープしてください。</li>
|
||||
<li class="spaced">ブラウザから ( GET または POST 経由で ) 入ってくるデータは、( PHPの設定に関わらず ) 安全にデータベースにインサートできるよう、自動的に magic_quotes が適用されます。他の全ての生データ ( ファイルまたはデータベース ) は、データベースにインサートする前に <font color="#339900">addslashes()</font> でエスケープしてください。</li>
|
||||
<li class="spaced">重要: Moodle内の全てのテキスト、特にユーザによって入力されるものは format_text() 関数を使用してプリントしてください。これによりテキストは、正確にフィルタおよびクリーニングされます。</li>
|
||||
</ol>
|
||||
<p> </p>
|
||||
<h2>コーディングスタイル</h2>
|
||||
<p class="normaltext">他のスタイルを使用してきた場合、あなたのスタイルを変更することは少々面倒なことであると私は理解しています。しかし、後で人々が雑多なスタイルが使用されたMoodleコードの意味を理解する面倒さと、この面倒さのバランスを取る必要があります。人々が使用するスタイルには、明らかに良い部分もありますが、現在のスタイルは<strong>これ</strong>ですので、どうか従ってください。</p>
|
||||
<p class="normaltext">他のスタイルを使用してきた場合、あなたのスタイルを変更することは少々面倒なことであると私は理解しています。しかし、後で人々が雑多なスタイルが使用されたMoodleコードの意味を理解する面倒さと、この面倒さのバランスを取る必要があります。人々が使用するスタイルには、明らかに良い部分もありますが、現在のスタイルは<strong>このスタイル</strong>ですので、どうか従ってください。</p>
|
||||
<ol class="normaltext">
|
||||
<li class="spaced"><strong>インデント</strong> は連続した4つのスペースにしてください。タブは使用しないでください。</li>
|
||||
<li class="spaced"><strong>変数名</strong> は常に読みやすく、意味のある英語小文字にしてください。本当に1語以上の単語が必要な場合、単語を連結して可能な限り短くしてください。配列オブジェクト名には、複数形を使用してください。
|
||||
@@ -51,12 +51,12 @@
|
||||
悪い: $aReallyLongVariableNameWithoutAGoodReason<br />
|
||||
悪い: $error_string</font></p>
|
||||
</li>
|
||||
<li class="spaced"><strong>定数</strong> は常に大文字を使用して、常にモジュール名で始めてください。単語は、アンダースコア ( _ ) で別けてください。
|
||||
<li class="spaced"><strong>定数</strong> は常に大文字を使用して、常にモジュール名で始めてください。単語はアンダースコア ( _ ) で別けてください。
|
||||
<p class="examplecode"><font color="#006600">define("FORUM_MODE_FLATOLDEST",
|
||||
1);</font></p>
|
||||
</li>
|
||||
<li class="spaced"><strong>関数名</strong> は単純な英語の小文字の単語を使用して、モジュール間のコンフリクトを避けるため、モジュール名で始めてください。
|
||||
単語は、アンダースコア ( _ ) で別けてください。可能でしたら、パラメータは常に適切なデフォルト値を持つようにしてください。
|
||||
単語はアンダースコア ( _ ) で別けてください。可能でしたら、パラメータは常に適切なデフォルト値を持つようにしてください。
|
||||
関数名および続く ( 大括弧 ) の間にはスペースを入れないことに注意してください。
|
||||
<br />
|
||||
<p class="examplecode"> <font color="#007700">function </font><font color="#0000BB">forum_set_display_mode</font><font color="#007700">(</font><font color="#0000BB">$mode</font><font color="#007700">=</font><font color="#0000BB">0</font><font color="#007700">)
|
||||
@@ -162,8 +162,7 @@
|
||||
<h2>データベース構造</h2>
|
||||
<ol class="normaltext">
|
||||
<li class="spaced">全てのテーブルは、プライマリインデックスとして auto-incrementing <strong>id</strong> フィールド ( INT10 ) を持つ必要があります。</li>
|
||||
<li class="spaced">各モジュールのインスタンスを含むメインテーブルは、モジュールと同じ名前を持ち ( 例 <strong>widget</strong> )、次の最小限のフィールドを
|
||||
含む必要があります:
|
||||
<li class="spaced">各モジュールのインスタンスを含むメインテーブルは、モジュールと同じ名称を持ち ( 例 <strong>widget</strong> )、次の最小限のフィールドを含む必要があります:
|
||||
<ul>
|
||||
<li><strong>id</strong> - 上記で説明</li>
|
||||
<li><strong>course</strong> - 各インスタンスが属するコースID</li>
|
||||
@@ -173,7 +172,7 @@
|
||||
<li class="spaced">モジュールと関連する他のテーブルで「things」に関する情報を含むものは <strong>widget_things</strong> という名称を付けてください ( 複数形に注意してください )。</li>
|
||||
<li class="spaced">カラムの名称は、変数名と同じルールに従って簡単かつ短くつけてください。</li>
|
||||
<li class="spaced">可能であれば、他のテーブルのidフィールドへの参照を含むカラム ( 例 <strong>widget</strong> ) は、<strong>widgetid</strong>と呼ばれるべきです。( この仕様は、やや新しいもので、他のいくつかの古いテーブルには適用されていないことに注意してください。)</li>
|
||||
<li class="spaced">論理値 ( Boolean ) フィールドは、必要に応じて後で値を拡張できるように、0または1を含む整数フィールド ( 例 INT4 ) を使用してください。</li>
|
||||
<li class="spaced">論理値 ( Boolean ) フィールドは、必要に応じて後で値を拡張できるよう、0または1を含む整数フィールド ( 例 INT4 ) を使用してください。</li>
|
||||
<li class="spaced">ほとんどのフィールドは、PHP <strong>time</strong>() 関数から現在のタイムスタンプで更新される <strong>timemodified</strong> フィールド ( INT10 ) を持つ必要があります。</li>
|
||||
</ol>
|
||||
<p> </p>
|
||||
@@ -186,17 +185,17 @@
|
||||
<li class="spaced">気をつけて <code>data_submitted()</code> を使用してください。データは使用される前に、更にきれいにする必要があります。</li>
|
||||
<li class="spaced"><code>$_GET</code>、<code>$_POST</code> または <code>$_REQUEST</code> を使用しないでください。必要に応じて、適切な <code>required_param()</code> または <code>optional_param()</code> を使用してください。</li>
|
||||
<li class="spaced"><code>if (isset($_GET['something']))</code> のようなものを使用して動作をチェックしないでください。例えば <code>$something = optional_param( 'something',-1,PARAM_INT )</code> を使用して、適切な値の幅に入っているかテストしてください。例 <code>if ($something>=0) {...</code></li>
|
||||
<li class="spaced">簡単に探すことができるように、可能な限り全ての <code>required_param()</code>、<code>optional_param()</code> および他の変数を各ファイルの最初に初期化してください。</li>
|
||||
<li class="spaced">簡単に探すことができるよう、可能な限り全ての <code>required_param()</code>、<code>optional_param()</code> および他の変数を各ファイルの最初で初期化してください。</li>
|
||||
<li class="spaced">フォーム処理ルーチンをアタックから保護するために「sesskey」メカニズムを使用してください。基本的な使用例: フォームが生成される時に、
|
||||
include <code><input type="hidden" name="sesskey" value="<?php echo sesskey(); ?>" /></code> と使用します。フォームの処理を行う時は、 <code>if (!confirm_sesskey()) {error('Bad Session Key');}</code> でチェックしてください。</li>
|
||||
<li class="spaced"><code>required_param()</code> または <code>optional_param()</code> の適切な使用により「きれいにされていない」場合は、全てのファイルは <code>clean_filename()</code> 関数を使用して「きれいにする」必要があります。</li>
|
||||
<li class="spaced"><code>required_param()</code> または <code>optional_param()</code> の適切な使用で「きれいにされていない」場合、全てのファイルは <code>clean_filename()</code> 関数を使用して「きれいにする」必要があります。</li>
|
||||
<li class="spaced">データベースから読み込んだデータは、更新する前に <code>addslashes()</code> を適用してください。データオブジェクト全体は、<code>addslashes_object()</code> で一度に処理することができます。</li>
|
||||
<li class="spaced">可能な限り、データベースに保存するデータは、<code>GET</code> data ( 例 URLラインからのデータ ) とは対照的な <code>POST</code> データ ( <code>method="POST"</code> によるフォームデータ ) を使用してください。</li>
|
||||
<li class="spaced">可能な限り、データベースに保存するデータは、<code>GET</code>データ ( 例 URLラインからのデータ ) とは対照的な <code>POST</code>データ ( <code>method="POST"</code> によるフォームデータ ) を使用してください。</li>
|
||||
<li class="spaced">避けることができるなら <code>$_SERVER</code> からのデータを使用しないでください。これは移植性に問題があります。</li>
|
||||
<li class="spaced">他で行っていない場合は、データベースに書き込む全てのデータを適切なデータタイプのPARAM_XXXXを使用して <code>clean_param()</code> 関数に通してください。</li>
|
||||
<li class="spaced">他で行っていない場合、データベースに書き込む全てのデータを適切なデータタイプのPARAM_XXXXを使用して <code>clean_param()</code> 関数に通してください。</li>
|
||||
<li class="spaced">あなたがカスタムSQLコードを記述する場合、間違いなく正しいことを確認してください。特に値の周囲のクォート漏れに気をつけてください。SQLインジェクションの脆弱性 ( exploit ) となる可能性があります。</li>
|
||||
<li class="spaced"><strong>全ての</strong>ファイルで使用される全てのデータ ( 特にデータベースに書き込む部分) をチェックしてください。他でチェックされることを期待したり、信頼しないでください。</li>
|
||||
<li class="spaced">インクルードされるコードのブロックは、明確なPHP構造を含むべきです ( 例 クラス宣言、関数定義等 ) - 連続したコードのブロックは、初期化無しの変数の使用を進めてしまいます。</li>
|
||||
<li class="spaced">インクルードされるコードのブロックは、明確なPHP構造を含むべきです ( 例 クラス宣言、関数定義等 ) - 連続したコードのブロックは、初期化無しの変数使用を奨励してしまいます。</li>
|
||||
</ol>
|
||||
<hr />
|
||||
<p align="center"><font size="1"><a href="." target="_top">Moodleドキュメンテーション</a></font></p>
|
||||
|
||||
@@ -30,7 +30,7 @@ $string['configdbsessions'] = 'この設定を「Yes」にした場合、現在
|
||||
$string['configdebug'] = 'この設定を「Yes」にした場合、PHPのerror_reportingが増加し、より多くの警告が表示されるようになります。これは、開発者のみに便利な設定です。';
|
||||
$string['configdefaultallowedmodules'] = '上位カテゴリに分類される<b>コースが作成される場合</b>、デフォルトでどのモジュールを許可しますか?';
|
||||
$string['configdefaultrequestedcategory'] = 'リクエストされたコースが認証された場合、コースが設置されるデフォルトカテゴリです。';
|
||||
$string['configdeleteunconfirmed'] = 'メールによる承認を利用している場合、この値はユーザからの返答を受け付ける期間を指します。この期間の終了後、古い未承認のアカウントは削除されます。';
|
||||
$string['configdeleteunconfirmed'] = 'メールによる承認を利用している場合、この値はユーザからの返答を受け付ける期間を指します。この期間終了後、古い未承認のアカウントは削除されます。';
|
||||
$string['configdenyemailaddresses'] = '特定ドメインから新しいメールアドレスを拒否したい場合は、この欄にスペースで区切って入力してください。他のドメインは全て認められます。例 <strong>hotmail.com yahoo.co.uk</strong> ';
|
||||
$string['configdigestmailtime'] = 'メール送信する選択をしたユーザに、投稿内容を要約したメールが毎日送信されます。ここでは1日の内で何時に要約メールを送信するか設定します ( 次のcronがここで設定した時間の後に実行されます )。';
|
||||
$string['configdisplayloginfailures'] = 'ここで選択したユーザに前回のログイン失敗情報を表示します。';
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<body>
|
||||
<h1>Moodleコーディングガイドライン</h1>
|
||||
<p class="normaltext">協力的なプロジェクトを堅牢にするためには、一貫性および安定性が必要です。</p>
|
||||
<p class="normaltext">このガイドラインでは、Moodleコードが目指すゴールを提示するためにあります。
|
||||
<p class="normaltext">このガイドラインは、Moodleコードが目指すゴールを提示するためにあります。
|
||||
間違いなく、いくつかの古いコードは少数の場所で目標基準に達していませんが、最終的に修正します。
|
||||
全ての新しいコードは、これらの基準を可能な限り確実に順守してください。</p>
|
||||
<h2>一般ルール</h2>
|
||||
@@ -19,9 +19,9 @@
|
||||
<li class="spaced">全てのテキストファイルは、Unixスタイルのテキストフォーマットを使用してください。 ( ほとんどのテキストエディタには、このオプションがあります。 )</li>
|
||||
<li class="spaced">全てのphpタグは、<font color="#339900"><?php ?></font> のように「フルタグ」を使用してください ... <font color="#339900"><? ?></font> のように「ショートタグ」では無く。</li>
|
||||
<li class="spaced">全ての著作権情報は保持してください。必要であれば、あなた独自の情報を追加することができます。</li>
|
||||
<li class="spaced">各ファイルには、config.phpをインクルードしてください。</li>
|
||||
<li class="spaced">各ファイルでは、config.phpをインクルードしてください。</li>
|
||||
<li class="spaced">各ファイルでは、require_login() および isadmin()、isteacher()、iscreator() または isstudent() を使用してユーザが正しく認証されているか確認してください。</li>
|
||||
<li class="spaced">データベースへのアクセスは、可能な場合は常に関数 lib/datalib.php を使用してください - この関数により幅広いデータベースの互換性を実現します。この関数を使用することによりほとんどのことが実現できることに気付くでしょう。SQLコードを書く必要がある場合、次のことを確認してください: クロスプラットフォームであること、あなたのコードが特定の関数 ( 通常、lib.phpファイル ) に限定されていること、明確に注釈がなされていること。</li>
|
||||
<li class="spaced">データベースへのアクセスは、可能な場合は常に関数 lib/datalib.php を使用してください - この関数により幅広いデータベースの互換性を実現します。この関数を使用することにより、ほとんどのことが実現できることに気付くでしょう。SQLコードを書く必要がある場合、次のことを確認してください: クロスプラットフォームであること、あなたのコードが特定の関数 ( 通常、lib.phpファイル ) に限定されていること、明確に注釈がなされていること。</li>
|
||||
<li class="spaced">$CFG、$SESSION、$THEME および $USER のような標準的なもの以外、グローバル変数を作成または使用しないでください。</li>
|
||||
<li class="spaced">全ての変数は使用する前に初期化するか、少なくとも isset() または empty() を使用して存在チェックを行ってください。</li>
|
||||
<li class="spaced">全てのストリングは翻訳できるようにしてください - 「lang/en」内のファイルに新しい簡潔な英語の小文字でテキストを作成して、あなたのコードから get_string() または print_string() を使用して取り出してください。</li>
|
||||
@@ -33,12 +33,12 @@
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
<li class="spaced">ブラウザから ( GET または POST 経由で ) 入ってくるデータは、(PHPの設定に関わらず ) 安全にデータベースにインサートできるよう、自動的に magic_quotes が適用されます。他の全ての生データ ( ファイルまたはデータベース ) は、データベースにインサートする前に <font color="#339900">addslashes()</font> でエスケープしてください。</li>
|
||||
<li class="spaced">ブラウザから ( GET または POST 経由で ) 入ってくるデータは、( PHPの設定に関わらず ) 安全にデータベースにインサートできるよう、自動的に magic_quotes が適用されます。他の全ての生データ ( ファイルまたはデータベース ) は、データベースにインサートする前に <font color="#339900">addslashes()</font> でエスケープしてください。</li>
|
||||
<li class="spaced">重要: Moodle内の全てのテキスト、特にユーザによって入力されるものは format_text() 関数を使用してプリントしてください。これによりテキストは、正確にフィルタおよびクリーニングされます。</li>
|
||||
</ol>
|
||||
<p> </p>
|
||||
<h2>コーディングスタイル</h2>
|
||||
<p class="normaltext">他のスタイルを使用してきた場合、あなたのスタイルを変更することは少々面倒なことであると私は理解しています。しかし、後で人々が雑多なスタイルが使用されたMoodleコードの意味を理解する面倒さと、この面倒さのバランスを取る必要があります。人々が使用するスタイルには、明らかに良い部分もありますが、現在のスタイルは<strong>これ</strong>ですので、どうか従ってください。</p>
|
||||
<p class="normaltext">他のスタイルを使用してきた場合、あなたのスタイルを変更することは少々面倒なことであると私は理解しています。しかし、後で人々が雑多なスタイルが使用されたMoodleコードの意味を理解する面倒さと、この面倒さのバランスを取る必要があります。人々が使用するスタイルには、明らかに良い部分もありますが、現在のスタイルは<strong>このスタイル</strong>ですので、どうか従ってください。</p>
|
||||
<ol class="normaltext">
|
||||
<li class="spaced"><strong>インデント</strong> は連続した4つのスペースにしてください。タブは使用しないでください。</li>
|
||||
<li class="spaced"><strong>変数名</strong> は常に読みやすく、意味のある英語小文字にしてください。本当に1語以上の単語が必要な場合、単語を連結して可能な限り短くしてください。配列オブジェクト名には、複数形を使用してください。
|
||||
@@ -51,12 +51,12 @@
|
||||
悪い: $aReallyLongVariableNameWithoutAGoodReason<br />
|
||||
悪い: $error_string</font></p>
|
||||
</li>
|
||||
<li class="spaced"><strong>定数</strong> は常に大文字を使用して、常にモジュール名で始めてください。単語は、アンダースコア ( _ ) で別けてください。
|
||||
<li class="spaced"><strong>定数</strong> は常に大文字を使用して、常にモジュール名で始めてください。単語はアンダースコア ( _ ) で別けてください。
|
||||
<p class="examplecode"><font color="#006600">define("FORUM_MODE_FLATOLDEST",
|
||||
1);</font></p>
|
||||
</li>
|
||||
<li class="spaced"><strong>関数名</strong> は単純な英語の小文字の単語を使用して、モジュール間のコンフリクトを避けるため、モジュール名で始めてください。
|
||||
単語は、アンダースコア ( _ ) で別けてください。可能でしたら、パラメータは常に適切なデフォルト値を持つようにしてください。
|
||||
単語はアンダースコア ( _ ) で別けてください。可能でしたら、パラメータは常に適切なデフォルト値を持つようにしてください。
|
||||
関数名および続く ( 大括弧 ) の間にはスペースを入れないことに注意してください。
|
||||
<br />
|
||||
<p class="examplecode"> <font color="#007700">function </font><font color="#0000BB">forum_set_display_mode</font><font color="#007700">(</font><font color="#0000BB">$mode</font><font color="#007700">=</font><font color="#0000BB">0</font><font color="#007700">)
|
||||
@@ -162,8 +162,7 @@
|
||||
<h2>データベース構造</h2>
|
||||
<ol class="normaltext">
|
||||
<li class="spaced">全てのテーブルは、プライマリインデックスとして auto-incrementing <strong>id</strong> フィールド ( INT10 ) を持つ必要があります。</li>
|
||||
<li class="spaced">各モジュールのインスタンスを含むメインテーブルは、モジュールと同じ名前を持ち ( 例 <strong>widget</strong> )、次の最小限のフィールドを
|
||||
含む必要があります:
|
||||
<li class="spaced">各モジュールのインスタンスを含むメインテーブルは、モジュールと同じ名称を持ち ( 例 <strong>widget</strong> )、次の最小限のフィールドを含む必要があります:
|
||||
<ul>
|
||||
<li><strong>id</strong> - 上記で説明</li>
|
||||
<li><strong>course</strong> - 各インスタンスが属するコースID</li>
|
||||
@@ -173,7 +172,7 @@
|
||||
<li class="spaced">モジュールと関連する他のテーブルで「things」に関する情報を含むものは <strong>widget_things</strong> という名称を付けてください ( 複数形に注意してください )。</li>
|
||||
<li class="spaced">カラムの名称は、変数名と同じルールに従って簡単かつ短くつけてください。</li>
|
||||
<li class="spaced">可能であれば、他のテーブルのidフィールドへの参照を含むカラム ( 例 <strong>widget</strong> ) は、<strong>widgetid</strong>と呼ばれるべきです。( この仕様は、やや新しいもので、他のいくつかの古いテーブルには適用されていないことに注意してください。)</li>
|
||||
<li class="spaced">論理値 ( Boolean ) フィールドは、必要に応じて後で値を拡張できるように、0または1を含む整数フィールド ( 例 INT4 ) を使用してください。</li>
|
||||
<li class="spaced">論理値 ( Boolean ) フィールドは、必要に応じて後で値を拡張できるよう、0または1を含む整数フィールド ( 例 INT4 ) を使用してください。</li>
|
||||
<li class="spaced">ほとんどのフィールドは、PHP <strong>time</strong>() 関数から現在のタイムスタンプで更新される <strong>timemodified</strong> フィールド ( INT10 ) を持つ必要があります。</li>
|
||||
</ol>
|
||||
<p> </p>
|
||||
@@ -186,17 +185,17 @@
|
||||
<li class="spaced">気をつけて <code>data_submitted()</code> を使用してください。データは使用される前に、更にきれいにする必要があります。</li>
|
||||
<li class="spaced"><code>$_GET</code>、<code>$_POST</code> または <code>$_REQUEST</code> を使用しないでください。必要に応じて、適切な <code>required_param()</code> または <code>optional_param()</code> を使用してください。</li>
|
||||
<li class="spaced"><code>if (isset($_GET['something']))</code> のようなものを使用して動作をチェックしないでください。例えば <code>$something = optional_param( 'something',-1,PARAM_INT )</code> を使用して、適切な値の幅に入っているかテストしてください。例 <code>if ($something>=0) {...</code></li>
|
||||
<li class="spaced">簡単に探すことができるように、可能な限り全ての <code>required_param()</code>、<code>optional_param()</code> および他の変数を各ファイルの最初に初期化してください。</li>
|
||||
<li class="spaced">簡単に探すことができるよう、可能な限り全ての <code>required_param()</code>、<code>optional_param()</code> および他の変数を各ファイルの最初で初期化してください。</li>
|
||||
<li class="spaced">フォーム処理ルーチンをアタックから保護するために「sesskey」メカニズムを使用してください。基本的な使用例: フォームが生成される時に、
|
||||
include <code><input type="hidden" name="sesskey" value="<?php echo sesskey(); ?>" /></code> と使用します。フォームの処理を行う時は、 <code>if (!confirm_sesskey()) {error('Bad Session Key');}</code> でチェックしてください。</li>
|
||||
<li class="spaced"><code>required_param()</code> または <code>optional_param()</code> の適切な使用により「きれいにされていない」場合は、全てのファイルは <code>clean_filename()</code> 関数を使用して「きれいにする」必要があります。</li>
|
||||
<li class="spaced"><code>required_param()</code> または <code>optional_param()</code> の適切な使用で「きれいにされていない」場合、全てのファイルは <code>clean_filename()</code> 関数を使用して「きれいにする」必要があります。</li>
|
||||
<li class="spaced">データベースから読み込んだデータは、更新する前に <code>addslashes()</code> を適用してください。データオブジェクト全体は、<code>addslashes_object()</code> で一度に処理することができます。</li>
|
||||
<li class="spaced">可能な限り、データベースに保存するデータは、<code>GET</code> data ( 例 URLラインからのデータ ) とは対照的な <code>POST</code> データ ( <code>method="POST"</code> によるフォームデータ ) を使用してください。</li>
|
||||
<li class="spaced">可能な限り、データベースに保存するデータは、<code>GET</code>データ ( 例 URLラインからのデータ ) とは対照的な <code>POST</code>データ ( <code>method="POST"</code> によるフォームデータ ) を使用してください。</li>
|
||||
<li class="spaced">避けることができるなら <code>$_SERVER</code> からのデータを使用しないでください。これは移植性に問題があります。</li>
|
||||
<li class="spaced">他で行っていない場合は、データベースに書き込む全てのデータを適切なデータタイプのPARAM_XXXXを使用して <code>clean_param()</code> 関数に通してください。</li>
|
||||
<li class="spaced">他で行っていない場合、データベースに書き込む全てのデータを適切なデータタイプのPARAM_XXXXを使用して <code>clean_param()</code> 関数に通してください。</li>
|
||||
<li class="spaced">あなたがカスタムSQLコードを記述する場合、間違いなく正しいことを確認してください。特に値の周囲のクォート漏れに気をつけてください。SQLインジェクションの脆弱性 ( exploit ) となる可能性があります。</li>
|
||||
<li class="spaced"><strong>全ての</strong>ファイルで使用される全てのデータ ( 特にデータベースに書き込む部分) をチェックしてください。他でチェックされることを期待したり、信頼しないでください。</li>
|
||||
<li class="spaced">インクルードされるコードのブロックは、明確なPHP構造を含むべきです ( 例 クラス宣言、関数定義等 ) - 連続したコードのブロックは、初期化無しの変数の使用を進めてしまいます。</li>
|
||||
<li class="spaced">インクルードされるコードのブロックは、明確なPHP構造を含むべきです ( 例 クラス宣言、関数定義等 ) - 連続したコードのブロックは、初期化無しの変数使用を奨励してしまいます。</li>
|
||||
</ol>
|
||||
<hr />
|
||||
<p align="center"><font size="1"><a href="." target="_top">Moodleドキュメンテーション</a></font></p>
|
||||
|
||||
Reference in New Issue
Block a user