DeveloperController
MMO\admin\controllers · 1 symbole · générée le 27 Oct 2026
DeveloperController
DeveloperController.php:40The developer layer of an application (mmo.client's display mode dev, DeveloperMode): on each page, the tickets of the board and the items of the checklists that are about it; a ticket filed from the page, with what it was showing; the project lead notified.
- Espace de noms
MMO\admin\controllers- Étend
- aDataController
- Implémente
- iRoutable
Index
| CHECK | checking an item | |
| CHECKLISTS | the checks of a page | |
| COMMENT | commenting a ticket from a page | |
| CREATE | filing a ticket from a page | |
| RUN | running an item's command (▶, on the developer's own machine only: ChecklistController::$runScope) | |
| SCREENSHOT | a screenshot with it | |
| TOOLS | the developer's tools (logs, database...) | |
| TRIAGE | sorting the tickets filed: who is notified of a new one | |
| VIEW | the cues of a page: its tickets (and the board) | |
| author | ||
| basePaths | ||
| board | ||
| boardPage | ||
| boards | ||
| checklists | ||
| checklistsPage | ||
| folder | ||
| git | ||
| instance | ||
| labels | ||
| notify | ||
| open | ||
| status | ||
| store | ||
| storeInstance | ||
| abilities() | ||
| backfillPages($write) | Give the board's tickets that have none their pages: what the checklists' recipes say of them (checks: {ticket: {url}}), the ``` `check `` blocks of their discussion (page | url | what`),… | |
| basePaths() | ||
| buildTicket($input, $author, $screenshot, $report) | Build the ticket filed from a page, as the board keeps it. | |
| can($scope) | ||
| checksOf($routes, $member) | The items of the checklists whose url is one of $routes. | |
| ConnectRoutes($routes, $config) static | ||
| content($route) | ||
| fail($route, $status, $error) | ||
| file($input, $report, $png) | File a ticket: keep it (getStore), learn the board its labels, notify who triages. | |
| getAuthor() | ||
| getBoard() | ||
| getStore() | ||
| instanceName() | ||
| isEnabled() | ||
| notifyFiled($ticket, $author, $report) | Tell who triages ($notify) of a ticket filed: the notification centre of mmo.client, the author left out. | |
| page($route, $done, $member) | What the developer layer shows on a page. | |
| pagesOf($ticket) | The pages a ticket is about: its pages, else what its description cites. | |
| png($dataUrl) | ||
| routeComment($route) | ||
| routeFile($route) | ||
| routeOf($url) | ||
| routePage($route) | ||
| routeReport($route) | A problem a user reports (the bug button of the application): a ticket in « to sort », without any screenshot -- a user's screen may show what only they may see. | |
| routeScreenshot($route) | ||
| routesOf($route) | The names a page goes by: its route, and where its folder's default leads (settings is settings/users). | |
| routeSummary($route) | ||
| routeTodo($route) | ||
| setStore($store) | ||
| sourceOf($route) | ||
| ticketCue($id, $t, $status, $labels, $board, $pages, $via, $routes) | ||
| todo($checklist, $member) | The pages where something is left to check, in the checklists' order: where the « next » button of a walkthrough leads. |
Constantes9
CHECK
checking an item
CHECKLISTS
the checks of a page
COMMENT
commenting a ticket from a page
CREATE
filing a ticket from a page
RUN
running an item's command (▶, on the developer's own machine only: ChecklistController::$runScope)
SCREENSHOT
a screenshot with it
TOOLS
the developer's tools (logs, database...)
TRIAGE
sorting the tickets filed: who is notified of a new one
VIEW
the cues of a page: its tickets (and the board)
Propriétés16
author
basePaths
- Type
- array
board
boardPage
- Type
- string
boards
- Type
- string
checklists
checklistsPage
- Type
- string
folder
- Type
- string
git
- Type
- bool
instance
- Type
- string
labels
- Type
- array
notify
open
- Type
- bool
status
store
- Type
- string
storeInstance
- Type
- null | iDeveloperStore
Méthodes32
abilities()
DeveloperController.php:133| retourne | array | bool> what the page may offer: view, checklists, check, create, screenshot, comment, triage, tools |
backfillPages($write)
DeveloperController.php:378Give the board's tickets that have none their pages: what the checklists' recipes say of them (checks: {ticket: {url}}), the ``` `check `` blocks of their discussion (page | url | what`), the urls of their description.
basePaths()
DeveloperController.php:183| retourne | array | the paths the application is served below: $basePaths, and this site's own |
buildTicket($input, $author, $screenshot, $report)
DeveloperController.php:449Build the ticket filed from a page, as the board keeps it.
can($scope)
DeveloperController.php:127checksOf($routes, $member)
DeveloperController.php:321The items of the checklists whose url is one of $routes.
| $routes | array | |
| $member = null | null | string | whose box is said checked, on a checklist with members (else: anyone's) |
| retourne | array | string, checklistTitle: string, id: string, ref: string, group: string, section: string, kind: string, title: string, detail: string, tickets: list<string>, checked: bool, members: list<string>, boxes: array<string, bool>}> |
ConnectRoutes($routes, $config)
staticDeveloperController.php:117- Voir
$open: every route is mmo.oauth'sanonymous
content($route)
DeveloperController.php:210fail($route, $status, $error)
DeveloperController.php:695file($input, $report, $png)
DeveloperController.php:514File a ticket: keep it (getStore), learn the board its labels, notify who triages.
getAuthor()
DeveloperController.php:172getBoard()
DeveloperController.php:144| retourne | null | string | the board the tickets are filed on and shown from: the one the user picked in Développeur > Boards (BoardSelection, a development machine's board store only), else $board; null for no developer layer |
getStore()
DeveloperController.php:154| retourne | iDeveloperStore |
instanceName()
DeveloperController.php:167isEnabled()
DeveloperController.php:150| retourne | bool | whether the developer layer has a board to work with |
notifyFiled($ticket, $author, $report)
DeveloperController.php:533Tell who triages ($notify) of a ticket filed: the notification centre of mmo.client, the author left out.
page($route, $done, $member)
DeveloperController.php:237What the developer layer shows on a page.
pagesOf($ticket)
DeveloperController.php:283The pages a ticket is about: its pages, else what its description cites.
png($dataUrl)
DeveloperController.php:687routeComment($route)
DeveloperController.php:629routeFile($route)
DeveloperController.php:586| $route | Route | a JSON body {title, description, type, urgency, route, url, target, context, screenshot}: screenshot a png's data url, kept only for SCREENSHOT |
| retourne | array | {ticket} |
routeOf($url)
DeveloperController.php:191| $url | null | string | |
| retourne | null | string | the route of an url of the application, whichever of its sites (PageRoute::FromUrl) |
routePage($route)
DeveloperController.php:561routeReport($route)
DeveloperController.php:610A problem a user reports (the bug button of the application): a ticket in « to sort », without any screenshot -- a user's screen may show what only they may see.
routeScreenshot($route)
DeveloperController.php:644routesOf($route)
DeveloperController.php:200The names a page goes by: its route, and where its folder's default leads (settings is settings/users).
routeSummary($route)
DeveloperController.php:657routeTodo($route)
DeveloperController.php:573setStore($store)
DeveloperController.php:162| $store | null | iDeveloperStore | |
| retourne | void |
sourceOf($route)
DeveloperController.php:219ticketCue($id, $t, $status, $labels, $board, $pages, $via, $routes)
DeveloperController.php:293todo($checklist, $member)
DeveloperController.php:350The pages where something is left to check, in the checklists' order: where the « next » button of a walkthrough leads.
Membres hérités (62)
| Constantes | Déclaré par | Description | |
|---|---|---|---|
ALERT | iLogLevel | Alert: Action must be taken immediately. | |
ALL | iLogLevel | Mask for all | |
ALL_PLUS | iLogLevel | debug everything | |
BACKTRACE | iLogLevel | ||
COLORS | aDataController | Named color palettes for chart/report endpoints, e.g. | |
CRITICAL | iLogLevel | Critical: Critical conditions. | |
DEBUG | iLogLevel | Debug: Detailed debug information. | |
DEEP | iLogLevel | debug everything with arguments | |
EMERGENCY | iLogLevel | Emergency: System is unusable. | |
ERROR | iLogLevel | Error: Runtime errors that do not require immediate action but should typically be logged and monitored. | |
ERROR_PLUS | iLogLevel | Mask for all error | |
FATAL | iLogLevel | Mask for all fatal error | |
INFO | iLogLevel | Info: Interesting events. | |
INFO_PLUS | iLogLevel | Mask for all errors/warning/notices/info | |
MEMORY | iLogLevel | include backtrace object | |
NOTICE | iLogLevel | Notice: Normal but significant events. | |
NOTICE_PLUS | iLogLevel | Mask for all errors/warning/notices/info | |
TRACE | iLogLevel | include backtrace as origins | |
WARNING | iLogLevel | Warning: Exceptional occurrences that are not errors. | |
WARNING_PLUS | iLogLevel | Mask for all errors and warnings |
| Propriétés | Déclaré par | Description | |
|---|---|---|---|
repositories | aDataController | ||
verbosity | aModule |
| Méthodes | Déclaré par | Description | |
|---|---|---|---|
alert($message, $context) | aModule | Action must be taken immediately. | |
backtraces($message, $context) | aModule | Force-log a message at INFO level together with a full stack trace/memory snapshot (iLogLevel::BACKTRACE), bypassing the verbosity mask entirely (any non-zero verbosity is enough to trigger it). | |
Configure($config) | aModule | Merge $config into this module's configuration in the shared Configuration. | |
critical($message, $context) | aModule | Critical conditions. No-op if CRITICAL is currently filtered out by the verbosity mask. | |
debug($message, $context) | aModule | Detailed debug information. | |
debugName() | aModule | Human-readable identifier used as the default {origin} in this instance's log messages. | |
DefaultConfig() | aModule | The config a module starts from before anything loaded via Configuration is merged in. | |
emergency($message, $context) | aModule | System is unusable. No-op if EMERGENCY is currently filtered out by the verbosity mask. | |
error($message, $context) | aModule | Runtime errors that do not require immediate action but should typically be logged and monitored. | |
ExtractRoutes($config) | aController | Extract all the APIRoute from this class, regardless of the fact they are registered in the application | |
getMainRepository() | aDataController | ||
getRepositories() | aDataController | ||
getRepository($repo) | aDataController | ||
getVerbosity() | aModule | ||
HasRoutes() | aController | Tells if any APIRoute are registered in the application | |
info($message, $context) | aModule | Interesting events. No-op if INFO is currently filtered out by the verbosity mask. | |
Instantiate($config) | aModule | (Re)create the shared instance immediately, configured with $config merged into the class's existing config. | |
IsShared() | aModule | ||
Link($method, $data) | aController | Build a Link (URL + label/icon/description/title, taken from the route's APIRoute metadata) for a registered route. | |
log($level, $message, $context) | aModule | Logs with an arbitrary level. | |
notice($message, $context) | aModule | Normal but significant events. | |
offsetExists($key) | aModule | \ArrayAccess::offsetExists -- tells whether $key is a declared property at all, regardless of whether it is currently readable/writable through array access. | |
offsetGet($key) | aModule | \ArrayAccess::offsetGet -- reads a property directly, unless it has a #[Serialize(serialize: 'methodName')] attribute, in which case that zero-argument method is called instead (e.g. | |
offsetSet($key, $value) | aModule | \ArrayAccess::offsetSet -- sets a property directly, unless it has a #[Serialize(unserialize: 'methodName')] attribute, in which case that method is called with $value instead (e.g. | |
offsetUnset($key) | aModule | \ArrayAccess::offsetUnset -- equivalent to $module[$key] = null. | |
onRoute($route) | aDataController | Same as aController::onRoute, plus forcing the response to JSON (Response::Json) for every route this controller claims. | |
Route($method) | aController | Get a registered APIRoute WARNING: if this class was not registered in the application, it will return null. | |
Routes() | aController | Get a list of registered APIRoutes (from this class) in the application WARNING: if this class was not registered in the application, it will return an empty array. | |
serialize($path, $serializer) | aModule | \MMO\core\interfaces\iSerializable::serialize -- exports every property (via | |
setRepositories($repositories) | aDataController | Register the repositories this controller can query, keyed by name (e.g. | |
setVerbosity($verb) | aModule | Set the current verbosity mask, replacing whatever it was before. | |
Shared() | aModule | Get the shared instance, creating (and configuring) it on first call. | |
testVerbosity($level) | aModule | Test whether a given level (or set of levels) is currently enabled by this instance's verbosity mask. | |
traitUnshare($serialize) | aModule | Remove the shared instance, so the next Shared() call creates a fresh one. | |
unserialize($data, $path, $instances) | aModule | \MMO\core\interfaces\iSerializable::unserialize -- merges $data onto DefaultConfig, runs it through the (possibly overridden) constructor, then applies each resulting value to its property (via | |
Unshare($serialize) | aModule | Like tSingleton::Unshare, but also disconnects this module's instance from every event it was listening to (via Event::DisconnectListeners) before dropping it. | |
Url($method, $data) | aController | Build the URL for a registered route, filling in any {placeholder} from $data. | |
warning($message, $context) | aModule | Exceptional occurrences that are not errors. | |
__construct($config) | aModule | protected constructor, so it is not possible to do new Module(...) called by the serialization process just before being injected with data. | |
__wakeup() | aController | Called automatically right after the controller's shared instance is built (aModule::unserialize): registers onRoute as a Route listener with a low priority (-10), so it… |