Как сделать сокращение ссылок по своему короткому 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);
    }
}

Ответы (0 шт):