File: //home/artinside/sites.artinside.com.br/mainpro/sourcebackup/Support/Seo.php
<?php
namespace Source\Support;
use CoffeeCode\Optimizer\Optimizer;
/**
* FSPHP | Class Seo
*
* @author Robson V. Leite <cursos@upinside.com.br>
* @package Source\Support
*/
class Seo
{
/** @var Optimizer */
protected $optimizer;
/**
* Seo constructor.
* @param string $schema
*/
public function __construct(string $schema = "article")
{
$this->optimizer = new Optimizer();
$this->optimizer->openGraph(
CONF_SITE_NAME,
CONF_SITE_LANG,
$schema
)->twitterCard(
CONF_SOCIAL_TWITTER_CREATOR,
CONF_SOCIAL_TWITTER_PUBLISHER,
CONF_SITE_DOMAIN
)->publisher(
CONF_SOCIAL_FACEBOOK_PAGE,
CONF_SOCIAL_FACEBOOK_AUTHOR,
CONF_SOCIAL_GOOGLE_PAGE,
CONF_SOCIAL_GOOGLE_AUTHOR
)->facebook(
CONF_SOCIAL_FACEBOOK_APP
);
}
/**
* @param $name
* @return mixed
*/
public function __get($name)
{
return $this->optimizer->data()->$name;
}
/**
* @param string $title
* @param string $description
* @param string $url
* @param string $image
* @param bool $follow
* @return string
*/
public function render(string $title, string $description, string $url, string $image, bool $follow = true): string
{
return $this->optimizer->optimize($title, $description, $url, $image, $follow)->render();
}
/**
* @return Optimizer
*/
public function optimizer(): Optimizer
{
return $this->optimizer;
}
/**
* @param string|null $title
* @param string|null $desc
* @param string|null $url
* @param string|null $image
* @return null|object
*/
public function data(?string $title = null, ?string $desc = null, ?string $url = null, ?string $image = null)
{
return $this->optimizer->data($title, $desc, $url, $image);
}
}