Bearsampp 2026.3.26
API documentation
Loading...
Searching...
No Matches
ServiceHelper Class Reference

Static Public Member Functions

static getAllServiceNames ()
static getBinFromServiceName ($serviceName, $bearsamppBins)
static getServiceDisplayName ($bin, $service)
static getServicePort ($serviceName, $bearsamppBins)
static getSyntaxCheckCmd ($serviceName, $bearsamppBins=null)
static hasSyntaxCheck ($serviceName)
static processServices ($bearsamppBins, callable $callback)
static restartService ($service)
static startService ($bin, $syntaxCheckCmd=null, $showErrors=true)
static stopService ($service)

Static Private Member Functions

static initializeMappings ($bearsamppBins)

Static Private Attributes

static $serviceMap = null
static $syntaxCheckMap = null

Detailed Description

Class ServiceHelper

Utility class for service management operations. Provides centralized methods for service lookup, syntax check commands, and common service operations to eliminate code duplication.

Definition at line 17 of file class.serviceHelper.php.

Member Function Documentation

◆ getAllServiceNames()

◆ getBinFromServiceName()

getBinFromServiceName ( $serviceName,
$bearsamppBins )
static

Get binary instance from service name

Parameters
string$serviceNameThe service name
object$bearsamppBinsThe bins object
Returns
object|null The binary instance or null if not found

Definition at line 67 of file class.serviceHelper.php.

68 {
70 return isset(self::$serviceMap[$serviceName]) ? self::$serviceMap[$serviceName] : null;
71 }
global $bearsamppBins
static initializeMappings($bearsamppBins)

References $bearsamppBins, and initializeMappings().

Referenced by getServicePort(), and processServices().

◆ getServiceDisplayName()

getServiceDisplayName ( $bin,
$service )
static

Get service display name (Name + Version + Service Name)

Parameters
object$binThe binary instance
object$serviceThe service instance
Returns
string The formatted service name

Definition at line 95 of file class.serviceHelper.php.

96 {
97 return $bin->getName() . ' ' . $bin->getVersion() . ' (' . $service->getName() . ')';
98 }

Referenced by ActionRestartAllServices\processWindow(), ActionStartAllServices\processWindow(), and ActionStopAllServices\processWindow().

◆ getServicePort()

getServicePort ( $serviceName,
$bearsamppBins )
static

Get port for a service

Parameters
string$serviceNameThe service name
object$bearsamppBinsThe bins object
Returns
int The port number or 0 if not applicable

Definition at line 200 of file class.serviceHelper.php.

201 {
202 $bin = self::getBinFromServiceName($serviceName, $bearsamppBins);
203 if ($bin === null) {
204 return 0;
205 }
206
207 // Different services have different methods to get port
208 if (method_exists($bin, 'getPort')) {
209 return $bin->getPort();
210 } elseif (method_exists($bin, 'getSmtpPort')) {
211 return $bin->getSmtpPort();
212 }
213
214 return 0;
215 }
static getBinFromServiceName($serviceName, $bearsamppBins)

References $bearsamppBins, and getBinFromServiceName().

◆ getSyntaxCheckCmd()

getSyntaxCheckCmd ( $serviceName,
$bearsamppBins = null )
static

Get syntax check command for a service

Parameters
string$serviceNameThe service name
object$bearsamppBinsThe bins object (for initialization)
Returns
string|null The syntax check command or null if not applicable

Definition at line 80 of file class.serviceHelper.php.

81 {
82 if ($bearsamppBins !== null) {
84 }
85 return isset(self::$syntaxCheckMap[$serviceName]) ? self::$syntaxCheckMap[$serviceName] : null;
86 }

References $bearsamppBins, and initializeMappings().

Referenced by processServices().

◆ hasSyntaxCheck()

hasSyntaxCheck ( $serviceName)
static

Check if a service has syntax check capability

Parameters
string$serviceNameThe service name
Returns
bool True if service supports syntax check

Definition at line 180 of file class.serviceHelper.php.

181 {
182 if (self::$syntaxCheckMap === null) {
183 // Initialize with dummy bins object if needed
184 self::$syntaxCheckMap = [
188 ];
189 }
190 return isset(self::$syntaxCheckMap[$serviceName]);
191 }
const CMD_SYNTAX_CHECK
const CMD_SYNTAX_CHECK

References BinApache\CMD_SYNTAX_CHECK, BinMariadb\CMD_SYNTAX_CHECK, BinMysql\CMD_SYNTAX_CHECK, BinApache\SERVICE_NAME, BinMariadb\SERVICE_NAME, and BinMysql\SERVICE_NAME.

◆ initializeMappings()

initializeMappings ( $bearsamppBins)
staticprivate

Initialize service mappings

Parameters
object$bearsamppBinsThe bins object
Returns
void

Definition at line 37 of file class.serviceHelper.php.

38 {
39 if (self::$serviceMap === null) {
40 self::$serviceMap = [
48 ];
49 }
50
51 if (self::$syntaxCheckMap === null) {
52 self::$syntaxCheckMap = [
56 ];
57 }
58 }

References $bearsamppBins, BinApache\CMD_SYNTAX_CHECK, BinMariadb\CMD_SYNTAX_CHECK, BinMysql\CMD_SYNTAX_CHECK, BinApache\SERVICE_NAME, BinMailpit\SERVICE_NAME, BinMariadb\SERVICE_NAME, BinMemcached\SERVICE_NAME, BinMysql\SERVICE_NAME, BinPostgresql\SERVICE_NAME, and BinXlight\SERVICE_NAME.

Referenced by getBinFromServiceName(), getSyntaxCheckCmd(), and processServices().

◆ processServices()

processServices ( $bearsamppBins,
callable $callback )
static

Process all services with a callback function

Parameters
object$bearsamppBinsThe bins object
callable$callbackFunction to call for each service: function($serviceName, $service, $bin, $syntaxCheckCmd)
Returns
void

Definition at line 107 of file class.serviceHelper.php.

108 {
110
111 foreach ($bearsamppBins->getServices() as $serviceName => $service) {
112 $bin = self::getBinFromServiceName($serviceName, $bearsamppBins);
113 $syntaxCheckCmd = self::getSyntaxCheckCmd($serviceName);
114
115 if ($bin !== null) {
116 $callback($serviceName, $service, $bin, $syntaxCheckCmd);
117 }
118 }
119 }
static getSyntaxCheckCmd($serviceName, $bearsamppBins=null)

References $bearsamppBins, getBinFromServiceName(), getSyntaxCheckCmd(), and initializeMappings().

Referenced by ActionRestartAllServices\processWindow(), ActionStartAllServices\processWindow(), and ActionStopAllServices\processWindow().

◆ restartService()

restartService ( $service)
static

Restart a service

Parameters
object$serviceThe service instance
Returns
bool True if service restarted successfully, false otherwise

Definition at line 151 of file class.serviceHelper.php.

152 {
153 return $service->restart();
154 }

◆ startService()

startService ( $bin,
$syntaxCheckCmd = null,
$showErrors = true )
static

Start a service with optional syntax check

Parameters
object$binThe binary instance
string | null$syntaxCheckCmdThe syntax check command (optional)
bool$showErrorsWhether to show error messages (default: true)
Returns
bool True if service started successfully, false otherwise

Definition at line 129 of file class.serviceHelper.php.

130 {
131 return Util::startService($bin, $syntaxCheckCmd, $showErrors);
132 }
static startService($bin, $syntaxCheckCmd, $showWindow=false)

References Util\startService().

Referenced by ActionRestartAllServices\processWindow(), and ActionStartAllServices\processWindow().

◆ stopService()

stopService ( $service)
static

Stop a service

Parameters
object$serviceThe service instance
Returns
bool True if service stopped successfully, false otherwise

Definition at line 140 of file class.serviceHelper.php.

141 {
142 return $service->stop();
143 }

Referenced by ActionRestartAllServices\processWindow(), and ActionStopAllServices\processWindow().

Field Documentation

◆ $serviceMap

$serviceMap = null
staticprivate

Definition at line 23 of file class.serviceHelper.php.

◆ $syntaxCheckMap

$syntaxCheckMap = null
staticprivate

Definition at line 29 of file class.serviceHelper.php.


The documentation for this class was generated from the following file: