If tutorials available on this website are helpful for you, please whitelist this website in your ad blocker😭 or Donate to help us ❤️ pay for the web hosting to keep the website running.
PHP में generator functions एक special type के functions हैं जो sequential data को lazily produce करते हैं, मतलब वो एक time पर एक value return करते हैं और फिर अपनी state को save करके next value के लिए wait करते हैं।
Generators को yield
keyword के through implement किया जाता है।
●●●
Traditional methods में, अगर आपको large dataset को process करना है, तो आपको पूरा dataset memory में load करना पड़ता है। ये memory intensive हो सकता है और performance issues create कर सकता है।
Generators इस problem को solve करते हैं by generating values on थे fly, एक time पर एक value को process करके।
●●●
चलिए एक छोटा सा example लेते हैं -
<?php
function simpleGenerator() {
yield 'Hello';
yield 'World';
}
$generator = simpleGenerator();
foreach ($generator as $value) {
echo $value . "\n"; // Outputs "Hello" and then "World".
}
?>
example में आप देख सकते हैं कि simpleGenerator()
function में yield
keyword का use करके values को generate किया गया है।
●●●
पहला example तो simple example था , अब मान लीजिये आपको एक large file से content को line by line read करना हो।
पहला तरीका है कि आप एक साथ file content को get करके process करें जो कि memory intensive हो सकता है और performance degrade करेगा , ऐसी जगह पर हम generator functions
use में ले सकते हैं।
<?php
function readFileLineByLine($filePath) {
$file = fopen($filePath, 'r');
if (!$file) {
throw new Exception("Could not open the file!");
}
while (($line = fgets($file)) !== false) {
yield $line;
}
fclose($file);
}
$filePath = 'largefile.txt';
$generator = readFileLineByLine($filePath);
foreach ($generator as $line) {
echo $line;
}
?>
●●●
Processing Large Data Sets : Large data sets को process करते वक्त, जैसे की file reading, database query results, etc.
Streaming Data : Real-time data processing जहाँ data को stream किया जाता है और process किया जाता है without loading it all into memory.
Iterative Algorithms : Algorithms जो step-by-step computations perform करते हैं, जैसे की generating sequences, etc.
Improving Performance : Generators को use करके memory usage और performance को optimize करना by avoiding थे need तो load all data into memory at once.
●●●
Generators PHP में एक powerful feature है जो lazily values को generate करते हैं, memory efficiency को improve करते हैं, और large datasets को process करने के लिए ideal हैं।
ये feature real-time data streaming, large file reading, और iterative algorithms में use किया जा सकता है।
Loading ...