Server : LiteSpeed System : Linux server 3.10.0-1160.90.1.el7.x86_64 #1 SMP Thu May 4 15:21:22 UTC 2023 x86_64 User : alsaif ( 1057) PHP Version : 7.4.33 Disable Function : show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname Directory : /home/alsaif/public_html/libraries/joomla/github/ |
<?php
/**
* @package Joomla.Platform
* @subpackage GitHub
*
* @copyright (C) 2014 Open Source Matters, Inc. <https://www.joomla.org>
* @license GNU General Public License version 2 or later; see LICENSE
*/
defined('JPATH_PLATFORM') or die;
/**
* GitHub API package class for the Joomla Platform.
*
* @since 3.3 (CMS)
* @deprecated 4.0 Use the `joomla/github` package via Composer instead
*/
abstract class JGithubPackage extends JGithubObject
{
/**
* @var string
* @since 3.3 (CMS)
*/
protected $name = '';
/**
* @var array
* @since 3.3 (CMS)
*/
protected $packages = array();
/**
* Magic method to lazily create API objects
*
* @param string $name Name of property to retrieve
*
* @return JGithubPackage GitHub API package object.
*
* @since 3.3 (CMS)
* @throws RuntimeException
*/
public function __get($name)
{
if (false == in_array($name, $this->packages))
{
throw new RuntimeException(sprintf('%1$s - Unknown package %2$s', __METHOD__, $name));
}
if (false == isset($this->$name))
{
$className = 'JGithubPackage' . ucfirst($this->name) . ucfirst($name);
$this->$name = new $className($this->options, $this->client);
}
return $this->$name;
}
}