Skip to content

Latest commit

 

History

History
59 lines (37 loc) · 1.42 KB

key-classes.md

File metadata and controls

59 lines (37 loc) · 1.42 KB

Key Classes/Objects API

Key Classes/Objects API

Using Xoops API

In addition to the Xoops API documentation http://api.xoops.org/ here we also need guidelines for module writers as to what classes to use when, why, and how, etc. For example:

  • XoopsObject Data Access classes

If you create a module class (in the class folder of your module) called Myclass that extends XoopsObject:

<?php

namespace XoopsModules\Mymodule;

class Myclass extends \XoopsObject
{
    /**
    * Constructor
    **/
    public function __construct() // Constructor
    {
    $this->initVar('my_variable', XOBJ_DTYPE_INT, NULL);
    }
}

In a separate file we create a handler called MyclassHandler that extends XoopsPersistableObjectHandler:

<?php

namespace XoopsModules\Mymodule;

class MyclassHandler extends \XoopsPersistableObjectHandler
   {
   }

you can then obtain a reference to an instance of the handler class like this: In /modules/module/index.php:

<?php

namespace XoopsModules\Mymodule;

$myclassHandler = new Mymodule\MyclassHandler();

Built in data object handlers can be obtained via xoops_gethandler(''). Search for the use of this idiom in other modules for an idea of how these classes let you build data access objects to interface with corresponding database tables.