Frankenstyle (Dev docs)

提供:MoodleDocs
移動先:案内検索
重要:

このページの内容は更新され、新しいMoodle Developer Resourcesに移行されました。このページに含まれる情報は、もはや最新であるとみなされるべきではありません。

このページを新サイトで閲覧する そして より多くのコンテンツを新サイトに移行するために協力する というのはいかがでしょうか!


(このページは現在翻訳中です。)

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

Martin Dougiamas は、Petr Škoda が考案したこの命名法を表す言葉として 'Frankenstyle' を考案しました。

フォーマット

Frankenstyleのコンポーネント名は、プレフィックス、そしてアンダースコアで区切られたフォルダ名を持っています。

  1. 接頭辞は、プラグインの種類によって決まります。例えば、活動モジュールの接頭辞は mod です。
  2. 名前は、プラグインのフォルダ名で、常に小文字です。例えば、Quiz (小テスト) の場合は quiz という名前になります。

つまり、小テストモジュールのFrankenstyleコンポーネント名は mod_quiz です。

プラグインタイプ

MoodleでサポートされているすべてのプラグインタイプとそのFrankenstyle接頭辞のリストについては、プラグインタイプページをご覧ください。

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

コアサブシステム

Moodleのサブシステムは、プラグインそのものではなく、core_xxx を使用して参照することができます。ここで、xxx は get_core_subsystems() で定義されるサブシステム名です。

これらは phpdocs の @package パラメータや、 ウェブサービスの関数名で使用されているのを確認できます。コアサブシステムは、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

使用方法

Frankenstyleのコンポーネント名が使用されています:

関数名

すべてのプラグイン関数は、完全な Frankenstyle のプレフィックスで始まる必要があります。後方互換性のために、モジュールはプレフィックスとして modulename_ を使用することもできます。

クラス名

  • すべてのコンポーネントクラスは、クラス (自動読み込み) ディレクトリの下に置かれ、そのFrankenstyleの名前空間に属し、自然な名前を持っている必要があります。例: \mod_forum\example
  • Frankenstyle接頭辞を使ったクラス名の使用は非推奨になりました (コーディングスタイル を参照)。例: mod_forum_example

定数

すべてのプラグイン定数は、MOD_FORUM_XXXXのように、大文字のFrankenstyleのプレフィックスで始まる必要があります。

テーブル名

プラグインのすべてのテーブル名は、そのFrankenstyle名 (標準的なMoodleテーブルプレフィックスの後) で始まる必要があります。

(このルールの例外は、Moodle活動で、(歴史的な理由により) プラグイン名の前にmod_がありません。)

例: mdl_local_coolreport, mdl_local_coolreport_users

プラグイン設定テーブル

config_plugins テーブルのカラム プラグイン では、Frankenstyle名が使用されます。

ケイパビリティ

プラグインのすべての機能は、_ の代わりに / が付く以外は、Frankenstyleの名前を使用します。

例: mod/quiz:viewattempt

言語ファイル

各プラグイン(活動モジュールを除く)のメイン言語ファイルは、Frankenstyleのコンポーネント名です。

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

レンダラ

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

基本モジュールのコードを変更することなく、モジュールを拡張することが可能です。詳しくはサブプラグインを参照してください。

その他の場所 (TODO)


出てきたら追加してください。

テーマバリアントの命名

他のテーマの派生品であるテーマには、親テーマのアップグレードではなく、派生品であることを明確に示唆するような名前を付ける必要があります。名前の形式は、標準的なコンポーネントの命名形式に従い、それを拡張する必要があります。つまり、例えばBoost(ブースト)をベースにしたテーマで、コンポーネント名に "boost"という単語を使いたい場合は、次のような名前にする必要があります。

theme_boost_something

例えば、 theme_boost_spring、theme_boost_summer、theme_boost_shiny など。確かに、同じように名前をつけることができます。

theme_something

のように、親名称を繰り返す必要がないためです(例: theme_spring、theme_summer、theme_shiny)。例えば、theme_boost2 は公式 Boost(ブースト) テーマの新バージョンのように見え、投稿テーマの名前としてはふさわしくありません。

関連項目