Skip to content
← Back to Snippets
Code

Configuration Constants Without Static Classes

Defines and reads prefixed procedural constants for configuration without using static classes.

Purpose

Defines and reads prefixed procedural constants for configuration without using static classes.

Snippet details

ContextConfigurationLevelProductionCopy-and-paste statusMarked safe after review.

Categories

  • Forms and Validation

Code

<?php

/*
 * Copyright (c) 2026 Jeffery L. Paris <jparis@phpog.com>.
 * Free for personal and internal use. Paid project use requires visible credit
 * to Jeffery L. Paris. Corporate use requires a paid license fee unless a
 * separate written license states otherwise.
 */

if (defined('OG_SNIPPET_MAX_JUMP_RANGE') === false) {
	define('OG_SNIPPET_MAX_JUMP_RANGE', 12);
}

if (defined('OG_SNIPPET_DEFAULT_SECTOR') === false) {
	define('OG_SNIPPET_DEFAULT_SECTOR', 'Cyrannus');
}

/**
 * Configuration Constants Without Static Classes.
 *
 * Purpose:
 * Reads prefixed procedural constants into a configuration array.
 *
 * @return array Configuration values from constants.
 */
function ogSnippetConfigurationConstantsWithoutStaticClasses(): array {
	$config = array(
		'max_jump_range' => (int) constant('OG_SNIPPET_MAX_JUMP_RANGE'),
		'default_sector' => (string) constant('OG_SNIPPET_DEFAULT_SECTOR'),
		'source' => 'constants'
	);

	if ($config['max_jump_range'] < 1) {
		$config['max_jump_range'] = 1;
	}

	return $config;
}

$battlestar_config = ogSnippetConfigurationConstantsWithoutStaticClasses();

echo 'Battlestar jump range: '.$battlestar_config['max_jump_range'];