Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ramazancetinkaya/youtube-video-id-generator
This class mimics the algorithm used by YouTube to generate unique video IDs.
https://github.com/ramazancetinkaya/youtube-video-id-generator
id-generator php youtube-id-generator youtube-url youtube-video-id youtube-video-id-generator
Last synced: 1 day ago
JSON representation
This class mimics the algorithm used by YouTube to generate unique video IDs.
- Host: GitHub
- URL: https://github.com/ramazancetinkaya/youtube-video-id-generator
- Owner: ramazancetinkaya
- License: mit
- Created: 2023-05-03T21:20:06.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-05-03T21:33:15.000Z (over 1 year ago)
- Last Synced: 2025-01-13T21:16:41.763Z (1 day ago)
- Topics: id-generator, php, youtube-id-generator, youtube-url, youtube-video-id, youtube-video-id-generator
- Language: PHP
- Homepage:
- Size: 5.86 KB
- Stars: 26
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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:
```php
$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]