friendica_2021.01_tupambae_.../src/Module
..
Admin
WellKnown
AccountManagementControlDocument.php
Acctlink.php Split goaway to System::externalRedirectTo() and App->internalRedirect() 2018-10-22 22:13:35 +02:00
Apps.php reduce code 2019-03-22 22:28:13 -04:00
Attach.php
Babel.php
BaseAdminModule.php
Contact.php
Credits.php
Feed.php
Feedtest.php
Filer.php
Followers.php
Following.php Add routes for current BaseModules 2019-05-01 21:29:04 +02:00
Group.php
Hashtag.php
Inbox.php
Install.php Add routes for current BaseModules 2019-05-01 21:29:04 +02:00
Itemsource.php Add routes for current BaseModules 2019-05-01 20:16:21 +02:00
Localtime.php Move mod/localtime to src/Module/Localtime 2019-04-22 12:31:18 +02:00
Login.php
Logout.php Replace deprecated Addon::callHooks with Hook::callAll 2019-01-21 09:50:56 -05:00
Magic.php Issue 6149: Making OWA (hopefully) compatible with Hubzilla 2019-01-08 11:17:05 +00:00
Manifest.php
NodeInfo.php
Objects.php
Oembed.php
Outbox.php
Owa.php
Photo.php
Profile.php
Proxy.php Add routes for current BaseModules 2019-05-01 21:29:04 +02:00
README.md
Register.php
Statistics.php Add routes for current BaseModules 2019-05-01 21:29:04 +02:00
Tos.php Fix PHPDoc comments project-wide 2019-01-21 10:35:51 -05:00
WebFinger.php
Xrd.php Last refactoring :-) / refactor due feedback 2019-05-01 19:17:52 +02:00

Friendica\Module

The Module namespace contains the different modules of Friendica. Each module is loaded through the App.

There are mainly two types of modules:

  • frontend modules to interact with users
  • backend modules to interact with machine requests

Frontend modules

This type of modules mainly needs a template, which are generally located at view/templates/.

A frontend module should extend the BaseModule, especially the content() method.

Backend modules

This type of modules mainly responds either with encoded XML or with JSON output. It isn't intended to respond with human readable text.

A frontend module should extend the BaseModule, especially the rawContent() method.

Routing

Every module needs to be accessed within a route. The routes are defined inside Router->collectRoutes().

Use the given routes as a pattern for further routes.

The routing library and further documentation can be found here.