Skip to content

This class mimics the algorithm used by YouTube to generate unique video IDs.

License

Notifications You must be signed in to change notification settings

ramazancetinkaya/youtube-video-id-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

YoutubeVideoIdGenerator

This class mimics the algorithm used by YouTube to generate unique video IDs.

Let me explain the class:

  • We define a class called YoutubeVideoIdGenerator that represents our YouTube video ID generator.
  • We define three constants: VIDEO_ID_LENGTH with a value of 11, which represents the length of a YouTube video ID, VIDEO_ID_CHARACTERS with a string that contains all the characters that can be used in a YouTube video ID, and DEFAULT_ALGORITHM with a value of sha256, which represents the default algorithm to use for ID generation.
  • We define two private properties: $algorithm, which represents the algorithm to use for ID generation, and $secret_key, which represents the secret key to use for ID generation. We also define a constructor that allows us to set the $secret_key and $algorithm properties.
  • We define a public method called generateId that generates a YouTube video ID. This method calls two private methods: generateRandomString and convertHashToId. generateRandomString generates a random string of characters with a length of 11 using the characters in VIDEO_ID_CHARACTERS, while convertHashToId converts a hash generated by the algorithm and the random string to a YouTube video ID.
  • We define two private methods: generateRandomString and convertHashToId. generateRandomString generates a random string of characters with a length of 11 using the characters in VIDEO_ID_CHARACTERS, while convertHashToId converts a hash generated by the algorithm and the random string to a YouTube video ID.
  • We define a public method called getVideoLink that returns the YouTube video link for a given video ID.

To use this class, you can create an instance of it with a secret key:

$generator = new YoutubeVideoIdGenerator('your_secret_key');

# You can then generate a YouTube video ID:
$video_id = $generator->generateId();

# Finally, you can get the YouTube video link for the generated ID:
$video_link = $generator->getVideoLink($video_id);
echo $video_link;

This will output a link like https://www.youtube.com/watch?v=LhiFw_2EasE, which is a valid YouTube video link.

Authors

Ramazan Çetinkaya

License

This project is licensed under the [MIT] License - see the LICENSE.md file for details.

Copyright

Copyright (c) [2023] [Ramazan Çetinkaya]

About

This class mimics the algorithm used by YouTube to generate unique video IDs.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages