Moodle 3.9 マニュアル - frankenstyle


原文

Frankenstyle

'Frankenstyle コンポーネント名' は、Moodle プラグインをプラグインとその名前で識別するための命名規則です。Moodle コード全体で(顕著な例外はテーマの css クラス名です)使用されています。

Martin Dougiamas が Petr Škoda が発明した 'frankenstyle' というを単語を命名システムとして記述することを発明しました。

内容

1 フォーマット
2 プラグインタイプ
3 コアサブシステム
4 使用方法
4.1 関数名
4.2 クラス名
4.3 定数
4.4 テーブル名
4.5 プラグイン設定テーブル
4.6 ケーパビリティ
4.7 言語ファイル
4.8 レンダラー
4.9 モジュールサブプラグイン
4.10 その他の場所(TODO)
5 テーマ命名の変形
6 関連項目

1 フォーマット

Frankenstyle コンポーネント名は接頭辞とアンダースコアで分離されたフォルダ名を持ちます。

  • 接頭辞はプラグインのタイプ(翻訳準備中)により決定されます。例えば activity モジュールの接頭辞は mod です。
  • 名前はプラグインのフォルダ名で常に小文字です。たとえば、Quiz の名前は quiz です。

したがって、quiz モジュールの frankenstyle コンポーネント名は mod_quiz となります。

2 プラグインタイプ

Moodle においてサポートされるプラグインのタイプとそれらの rankenstyle 接頭辞の全てのリストはプラグインのタイプ(翻訳準備中)を見てください。

あなたの Moodle 2.x のバージョンの決定的なリストを得るには print_object(get_plugin_types()); という小さな Moodle スクリプトを使用してみてください。

3 コアサブシステム

Moodle におけるサブシステムはそれ自体がプラグインではないが core_xxx として言及され xxx がサブシステム名として get_core_subsystems() において定義されるものです。

あなたはこれらが使用されているのを phpdocs の @package パラメータにおいてまたは webservice function names において見る事ができます。 コアなサブシステムは、lang/en/{subsystemname}.php にあるファイル経由で自身の文字列を提供することができます。いくつかのものはライブラリ、自動ロードされるクラス群とその他のリソース専用の場所を持っています。

コアサブシステム Frankenstyle コンポーネント名 場所
Access core_access
Administration core_admin /admin
Antivirus core_antivirus /lib/antivirus
Authentication core_auth /auth
Conditional availability core_availability /availability
Backup and restore core_backup /backup/util/ui
Badges core_badges /badges
Blocks core_block /blocks
Blogging core_blog /blog
Bulk users operations core_bulkusers
Caching core_cache /cache
Calendar core_calendar /calendar
Cohorts core_cohort /cohort
Comment core_comment /comment
Competency based education core_competency /competency
Completion core_completion /completion
Countries core_countries
Course core_course /course
Currencies core_currencies
Database transfer core_dbtransfer
Debugging core_debug
Text editors core_editor /lib/editor
Education fields core_edufields
Enrol core_enrol /enrol
Error reporting core_error
Favourites core_favourites /favourites
File picker core_filepicker
Files management core_files /files
User filtering core_filters
Forms core_form /lib/form
Grades core_grades /grade
Advanced grading core_grading /grade/grading
Groups core_group /group
Help core_help
Hub core_hub
IMS CC core_imscc
Installer core_install
ISO 6392 core_iso6392
Language pack configuration core_langconfig
License core_license
Maths library core_mathslib
Media core_media
Messaging core_message /message
MIME types core_mimetypes
MNet core_mnet /mnet
Dashboard core_my /my
User notes core_notes /notes
Page types core_pagetype
Pictures and icons core_pix
Plagiarism core_plagiarism /plagiarism
Plugins management core_plugin
Portfolio core_portfolio /portfolio
Privacy core_privacy /privacy
Course publishing core_publish /course/publish
Question bank engine core_question /question
Ratings core_rating /rating
Site registration core_register /admin/registration
Repository core_repository /repository
RSS core_rss /rss
Roles core_role /admin/roles
Global search core_search /search
Tabular data display/download (deprecated) core_table
Tagging core_tag /tag
Timezones core_timezones
User core_user /user
User key core_userkey
Web service core_webservice /webservice

4 使用方法

Frankenstyle コンポーネント名は以下において使用されます。

4.1 関数名

すべてのプラグインの関数はフル frankenstyle 接頭辞で始まらなければなりません。後方互換性モジュールのためにモジュールは modulename_ も接頭辞として使用することが可能です。

4.2 クラス名

すべてのプラグインのクラスは frankenstyle 接頭辞で始まらなければなりません。
一例:mod_forum_some_class

4.3 定数

すべてのプラグインの定数は大文字の frankenstyle 接頭辞で始まらなければなりません。
一例:MOD_FORUM_XXXX

4.4 テーブル名

すべてのプラグインのテーブル名はその frankenstyle 名で始まらなければなりません(標準的な Moodle テーブル接頭辞以降)。

(この規則の例外は Moodle activities が(その歴史的な理由から)そのプラグイン名の先頭に mod_ を持っていません。)

一例:mdl_local_coolreport, mdl_local_coolreport_users

4.5 プラグイン設定テーブル

config_plugins テーブルには、plugin という列があり、frankenstyle 名が使用されています。

4.6 ケーパビリテイ

プラグインのためのすべてのケーパビリティには _ の代わりに / が 使用されうことを除いて frankenstyle 名が使用されています。

一例:mod/quiz:viewattempt

4.7 言語ファイル

それぞれのプラグイン(特徴的には activity モジュールは例外なのですが)のための主要な言語ファイルは frankenstyle コンポーネント名を持っています。

一例: /blocks/participants/lang/en/block_participants.php

4.8 レンダラー

4.9 モジュールサブプラグイン

基礎となるモジュールのコードを変更することなしにモジュールを拡張することが可能です。詳細は Subplugins を見てください。

4.10 その他の場所(TODO)

  • phpdocs における @package 宣言は Coding_style#PHPDoc(翻訳準備中)を参照してください。
  • web サービスの関数名
  • Moodle プラグインデータべース

出現してきたらもっと加えてください。

5 テーマ命名の変形

テーマは主にその他のテーマの派生であり、アップグレードではなく、その親テーマの派生であるのがわかるようにように明確に命名されるべきです。名前のフォーマットは標準コンポーネントのネーミングフォーマットに従いかつ拡張すべきです。例えば Boost に基づいたテーマは、bootst をコンポーネント名に言及したければ、以下のように名づけられるべきです。

theme_boost_something

例えば、theme_boost_spring, theme_boost_summer, theme_boost_shiny その他のように。もちろん親の名前を繰り返す必要はないため(例えば、theme_spring, theme_summer, theme_shiny)それらはただ以下のように名づけることもできます。

theme_something

この背景におけるポイントと理由は混乱を避けるためです - 例えば theme_boost2 は正式な Boost の新しいバージョンに見え、貢献されたテーマのためのよい名前とはならないためです。

6 関連項目

カテゴリプラグイン