Some issues discovered with linkinfo module, and update the doco about using object modules in addons; as there were a couple of surprises.

This commit is contained in:
redmatrix
2016-04-21 22:16:57 -07:00
parent 5a427dcee3
commit a3ce194bf5
2 changed files with 31 additions and 23 deletions

View File

@@ -208,10 +208,16 @@ Sometimes your plugins want to provide a range of new functionality which isn't
There are two ways to accomplish this. To create a module object use the following model:
[code]
<?php /* file: addon/randplace/Mod_Randplace.php */
namespace Zotlabs\Module;
// Your module will consist of the name of your addon with an uppercase first character, within the Zotlabs\Module namespace
class Zotlabs\Module\Randplace extends Zotlabs\Web\Controller {
// To avoid namespace conflicts with your plugin, the convention we're using is to name the module file Mod_Addonname.php
// In this case 'Mod_Randplace.php' and then include it from within your main plugin file 'randplace.php' with the line:
//
// require_once('addon/randplace/Mod_Randplace.php');
class Randplace extends \Zotlabs\Web\Controller {
function init() {
// init method is always called first if it exists
}
@@ -226,7 +232,9 @@ There are two ways to accomplish this. To create a module object use the followi
[/code]
The other option is to use a procedural interface. The $a argument to these function is obsolete, but must be present.
The key to this is to create a simple function named pluginname_module() which does nothing.
The key to this is to create a simple function named pluginname_module() which does nothing. These lines and this interface
can be used inside your addon file without causing a namespace conflict, as the object method will.
[code]
function randplace_module() { return; }
[/code]