php - How can I make this code into a class so I can reuse it? -


i using xpaw's minecraft query: https://github.com/xpaw/php-minecraft-query

i made function can connect our servers, problem have multiple servers, have copy , paste function , rename function , other parts of code can connect other servers.

function get_mq_query() {   define( 'mq_server_addr', '1stserver.com' );   define( 'mq_server_port', 25565 );   define( 'mq_timeout', 1 );    // require bloginfo('template_url') . 'inc/avatars/minecraftquery.class.php';   require __dir__ . '/mcquery/minecraftquery.class.php';    // display in browser, because people can't in logs errors   error_reporting( e_all | e_strict );   ini_set( 'display_errors', true );    $timer = microtime( true );   $query = new minecraftquery( );    try   {     $query->connect( mq_server_addr, mq_server_port, mq_timeout );   }   catch( minecraftqueryexception $e )   {     $error = $e->getmessage();    echo 'error. <br>'. $error;   }   return $query; } 

i'd pass array class , call

$mcquery = new mcquery(); // define servers $server = [     '1server' => '1.server.com',     '2server' => '2.server.com',     '3server' => '3.server.com',     '4server' => '4.server.com' ]; 

calling this:

status: <?php echo $mcquery->getstatus($server['1server']); ?> 

i'm not sure how around doing though. how can that?

require __dir__ . '/mcquery/minecraftquery.class.php';  class yourclass {     protected $_query;      public function __construct($host, $port, $timeout=1) {         $timer = microtime( true );         $query = new minecraftquery( );         try {             $query->connect( $host, $port, $timeout );         } catch( minecraftqueryexception $e ) {             $error = $e->getmessage();             echo 'error. <br>'. $error;         }         $this->_query = $query;             }      public function getplayers() {/*...*/}      public function getversion() {/*...*/}  }   $connect = new yourclass('1.server.com', 25564);  /* etc ... */ 

Comments

Popular posts from this blog

apache - Remove .php and add trailing slash in url using htaccess not loading css -

inno setup - TLabel or TNewStaticText - change .Font.Style on Focus like Cursor changes with .Cursor -