for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Violet88\BugsnagModule;
use Psr\Log\LoggerInterface;
use RuntimeException;
use SilverStripe\Admin\CMSMenu;
use SilverStripe\Admin\LeftAndMain;
use SilverStripe\Control\Controller;
use SilverStripe\Core\Injector\Injector;
use SilverStripe\SiteConfig\SiteConfig;
class BugsnagSiteConfigExtension_Controller extends LeftAndMain {
private static $url_segment = 'admin/settings/bugsnag';
$url_segment
private static $menu_title = 'Bugsnag';
$menu_title
private static $allowed_actions = [
$allowed_actions
'doForceError',
'doForceWarning',
'doForceInfo',
];
public function init() {
parent::init();
CMSMenu::remove_menu_item('Violet88-BugsnagModule-BugsnagSiteConfigExtension_Controller');
}
public function doForceError($request) {
$request
If this is a false-positive, you can also ignore this issue in your code via the ignore-unused annotation
ignore-unused
public function doForceError(/** @scrutinizer ignore-unused */ $request) {
This check looks for parameters that have been defined for a function or method, but which are not used in the method body.
$bugsnag = Injector::inst()->get(Bugsnag::class);
$bugsnag->sendException(new RuntimeException("Force BugSnag error"), 'error');
return $this->redirect('/admin/settings#Root_Bugsnag');
public function doForceWarning($request) {
public function doForceWarning(/** @scrutinizer ignore-unused */ $request) {
$bugsnag->sendException(new RuntimeException("Force BugSnag warning"), 'warning');
public function doForceInfo($request) {
public function doForceInfo(/** @scrutinizer ignore-unused */ $request) {
$bugsnag->sendException(new RuntimeException("Force BugSnag info"), 'info');