Как сделать сокращение ссылок по своему короткому url адреса ? На чистом PHP
Мне надо сделать, чтобы из такого url-адреса: https://www.google.com/... сделать сокращённую ссылку c определённым названием в: https://localhost/name. Кто знает как это лучше всего сделать ? Есть примеры ?
И если кому не лень можете ли вы показать как всё это сделать в моём коде в функции AddLinkDataBase() ?
class ShortLink {
private $originaLink;
private $shortName;
private $_db = null;
public function __construct() { $this->_db = DB::getInstence(); }
public function SetData($originaLink, $shortName) {
$this->originaLink = $originaLink;
$this->shortName = $shortName;
}
public function CheckAllShornName() {
$result = $this->_db->query("SELECT * FROM `link`");
$result = $result->fetchAll(PDO::FETCH_OBJ);
foreach($result as $el) {
if($el->ShortName != $this->shortName) return "Верно";
else return "Такое сокращение уже используется в базе";
}
}
public function AddLinkDataBase() {
if($this->originaLink != null && $this->shortName != null) {
//code...
$sql = 'INSERT INTO `link`(OriginalLink, ShortLink, ShortName, UserName) VALUES (:OriginalLink, :ShortLink, :ShortName, :UserName)';
$query = $this->_db->prepare($sql);
$query->execute(['OriginalLink' => $this->originaLink, 'ShortLink' => 'котороткая ссылка', 'ShortName' => $this->shortName, 'UserName' => $_COOKIE['login']]);
}
}
public function GetLinkDataBase() {
$user_name = $_COOKIE['login'];
$result = $this->_db->query("SELECT * FROM `link` WHERE `UserName` = '$user_name'");
return $result->fetchAll(PDO::FETCH_OBJ);
}
}