A super easy PHP Framework for web development! https://github.com/exacti/phacil-framework
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

92 lines
2.0 KiB

<?php
/**
* Copyright © 2024 ExacTI Technology Solutions. All rights reserved.
* GPLv3 General License.
* https://exacti.com.br
* Phacil PHP Framework - https://github.com/exacti/phacil-framework
*/
namespace Phacil\Framework;
/**
* @since 2.0.0
* @package Phacil\Framework
*/
class Version {
/**
*
* @var string
*/
private $framework;
/**
*
* @var \Composer\InstalledVersions
*/
private $composerInstalled;
public function __construct($framework, $composerInstalled, $teste) {
$this->framework = $framework;
$this->composerInstalled = $composerInstalled;
}
/**
* Return Phacil Framework version
*
* @return string|false
*/
public function get()
{
return $this->framework;
//return file_get_contents(\Phacil\Framework\Config::DIR_SYSTEM() . "engine/VERSION");
}
/**
* Alias for get method
* @return string|false
*/
public function getFrameworkVersion() {
return $this->get();
}
/**
* Alias for get method
* @return string|false
*/
public function getPhacilVersion() {
return $this->get();
}
/**
*
* @return string|false
*/
public function getPHPVersion() {
return phpversion();
}
/** @return string[] */
public function getComposerPackages() {
//return call_user_func(array($this->composerInstalled, 'getInstalledPackages'));
$composerInstalled = $this->composerInstalled;
return $composerInstalled::getInstalledPackages();
}
/**
*
* @param mixed $package
* @return string|null
* @throws \Phacil\Framework\Exception\OutOfBoundsException
*/
public function getPackageVersion($package) {
//return call_user_func(array($this->composerInstalled, 'getVersion'), $package);
$composerInstalled = $this->composerInstalled;
try {
return $composerInstalled::getVersion($package);
} catch (\OutOfBoundsException $ob) {
$notFind = new \Phacil\Framework\Exception\OutOfBoundsException($ob->getMessage(), $ob->getCode(), $ob);
$notFind->setObject($ob);
}
return null;
}
}