Now that PHP has support for named parameters, and we can use them in Moodle, we should ditch `$options` arrays and use first-class, documented, parameters. Whilst this may seem scary, dumb, overwhelming, please note that you do not need to supply all args, for example, to change the last parameter of `format_text` you no longer need to do this: return \core\container::get(\core\formatting::class)->format_text( $text, FORMAT_MOODLE, $context, false, null, true, true, true, false, false, true, ); Instead you can do: return \core\container::get(\core\formatting::class)->format_text( $text, FORMAT_MOODLE, $context, allowid: true, ); Or better still: return \core\container::get(\core\formatting::class)->format_text( text: $text, format: FORMAT_MOODLE, context: $context, allowid: true, ); This means that we can get defaults in the function signature, improves our typing, and allows for deprecation and changes to options. It also sets us up for success in the future.
Moodle
Moodle is the World's Open Source Learning Platform, widely used around the world by countless universities, schools, companies, and all manner of organisations and individuals.
Moodle is designed to allow educators, administrators and learners to create personalised learning environments with a single robust, secure and integrated system.
Documentation
- Read our User documentation
- Discover our developer documentation
- Take a look at our demo site
Community
moodle.org is the central hub for the Moodle Community, with spaces for educators, administrators and developers to meet and work together.
You may also be interested in:
- attending a Moodle Moot
- our regular series of developer meetings
- the Moodle User Association
Installation and hosting
Moodle is Free, and Open Source software. You can easily download Moodle and run it on your own web server, however you may prefer to work with one of our experienced Moodle Partners.
Moodle also offers hosting through both MoodleCloud, and our partner network.
License
Moodle is provided freely as open source software, under version 3 of the GNU General Public License. For more information on our license see