Initial commit

This commit is contained in:
gustavooth
2026-07-23 22:56:30 -03:00
commit 22a1006598
1816 changed files with 410742 additions and 0 deletions
@@ -0,0 +1,56 @@
<?php
namespace FluentCrm\App\Api;
/**
* Internal PHP API Class
*
* Please do not use this class directly. use FluentCrmApi($module) instead.
*
* @package FluentCrm\App\Api\Classes
*
* @version 1.0.0
*/
final class Api
{
public $app;
public function __construct($app)
{
$this->app = $app;
$this->register();
}
private function register()
{
foreach ($this->getClasses() as $key => $class) {
$this->app->singleton($this->key($key), function($app) use ($class) {
return new FCApi($app->make($class));
});
}
}
private function getClasses()
{
return require_once(
$this->app['path.app'].'Api/config.php'
);
}
private function key($key)
{
return '__fluentcrm_api__.' . $key;
}
public function __get($key)
{
try {
return $this->app[$this->key($key)];
} catch(\Exception $e) {
/* translators: %s: requested FluentCRM API module key */
throw new \Exception(sprintf(esc_html__("The '%s' doesn't exist in FluentCrmApi.", 'fluent-crm'), esc_html($key)));
}
}
}