Analyzer::Php::Nextcloud
Inherits Analyzer::Php::PhpEngine < FileScanEngine < Analyzer < FileHelper < Reference < Object
Nextcloud apps declare routes in appinfo/routes.php:
return [
'routes' => [['name' => 'note#update', 'url' => '/notes/{id}', 'verb' => 'PUT']],
'ocs' => [['name' => 'api#share', 'url' => '/api/v1/share', 'verb' => 'POST']],
'resources' => ['note' => ['url' => '/notes']],
];
or with #[FrontpageRoute(verb:, url:)] / #[ApiRoute(verb:, url:)] on
controller methods. Frontpage routes and resources are served under
/apps/<id>, OCS ones under /ocs/v2.php/apps/<id>; <id> comes from
appinfo/info.xml. name resolves to lib/Controller/<Name>Controller,
whose method arguments become params and whose #[PublicPage],
#[NoAdminRequired], #[NoCSRFRequired], #[AuthorizedAdminSetting]
(or legacy @PublicPage-style docblock annotations) become tags.
Constants
OCP\AppFramework base controllers, and the attributes of the actions
they give their subclasses.
Nextcloud's RouteParser: {action, verb, on the member URL /{id}?}
RouteParser honours a frontpage route's root only for these apps; OCS
routes may always set one.
group key => OCS?
Class methods
Instance methods
Instance-side view of the same declaration. The per-file rescues live on
this base class, which has no way to name the analyzer that is running
inside them, so a skipped file could not be attributed to a tech.
Deriving it from analyzer_for keeps the name written exactly once.