Note: This documentation is for Moodle 2.7. For up-to-date documentation see NEWMODULE Tutorial.

Development:NEWMODULE Tutorial: Difference between revisions

From MoodleDocs
No edit summary
m (→‎Some Basic Regulation for the Beginner PHP Developer: Added formatting to clarify instructions)
Line 23: Line 23:


Take in mind the difference between them.<br />
Take in mind the difference between them.<br />
The difference between require and include is: require produces a fatal E_ERROR level error which halts execution if the specified file cannot be accessed while include produces a warning E_WARNING which does not halt execution if the specified file cannot be accessed<br />
The difference between require and include is: '''require''' produces a fatal E_ERROR level error which halts execution if the specified file cannot be accessed, while '''include''' produces a warning (E_WARNING) which does not halt execution if the specified file cannot be accessed<br />
The difference between require and require_once is: require_once checks if the file has been included and does not include it again if it has<br />
The difference between '''require''' and '''require_once''' is: '''require_once''' checks if the file has been included and does not include it again if it has<br />
The difference between include and include_once is: include_once checks if the file has been included and does not include it again if it has<br />
The difference between '''include''' and '''include_once''' is: '''include_once''' checks if the file has been included and does not include it again if it has<br />
Use only xxx to call libraries and use only xxx to include snippets of code written to different files.<br />
Use only xxx to call libraries and use only xxx to include snippets of code written to different files.<br />


Line 32: Line 32:
* '''include''' requires the name of the called file "clean", without "?id=$cm->id", for instance, and the target file is executed as it were written in the place of the calling row.
* '''include''' requires the name of the called file "clean", without "?id=$cm->id", for instance, and the target file is executed as it were written in the place of the calling row.


You need these two informations to correctly include library files into target files called through redirect or include.
You need this information to correctly include library files into target files called through '''redirect''' or '''include'''.


== See also: ==
== See also: ==

Revision as of 19:08, 1 August 2010

Note: This page is a work-in-progress. Feedback and suggested improvements are welcome. Please join the discussion on moodle.org or use the page comments.


Template:New Module

How to Begin the Creation of a New Module

  1. Choose a name for your module. Take care: no capital letter and no numbers in the name. In this example it will be choosen: "widget".
  2. Find/replace all the occorrences of newmodule in each file with the name of your own module.
  3. Change the name of the folder containing you new created module to "widget".
  4. Change the name of the file in widget/lang/en_utf8/newmodule.php to "widget.php".
  5. Put your just born widget folder in moodle/mod/.
  6. Visit "notification" page of moodle->Site Administration block.
  7. Follow the instruction on the screen.

widget.gif

Some Basic Regulation for the Beginner PHP Developer

You will probably want to use this set of basic commands:

  • require
  • require_once
  • include
  • include_once

Take in mind the difference between them.
The difference between require and include is: require produces a fatal E_ERROR level error which halts execution if the specified file cannot be accessed, while include produces a warning (E_WARNING) which does not halt execution if the specified file cannot be accessed
The difference between require and require_once is: require_once checks if the file has been included and does not include it again if it has
The difference between include and include_once is: include_once checks if the file has been included and does not include it again if it has
Use only xxx to call libraries and use only xxx to include snippets of code written to different files.

Remember:

  • redirect moves the execution of the code to the target file and you are allowed to call the target file passing it some parameters, for instance: redirect("./come_modello/edit.php?id=$cm->id");
  • include requires the name of the called file "clean", without "?id=$cm->id", for instance, and the target file is executed as it were written in the place of the calling row.

You need this information to correctly include library files into target files called through redirect or include.

See also: