First article about a computer game

By James Alvarez

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

<?php
/**
 * Exempli Gratia - Lorem Ipsum PHP Demonstration
 * 
 * @package     ExempliGratia
 * @author      Developer Ipsum
 * @version     1.0.0
 * @license     MIT
 */

namespace App\Examples;

class LoremIpsumGenerator
{
    private $phrases = [
        'Consectetur adipiscing', 'Sed do eiusmod', 'Tempor incididunt',
        'Ut labore et dolore', 'Magna aliqua', 'Ut enim ad minim',
    ];
    
    private $config = [];
    
    public function __construct(array $config = [])
    {
        $this->config = array_merge([
            'paragraphs' => 3,
            'sentences_per_paragraph' => 5,
            'echo_output' => true,
        ], $config);
    }
    
    public function generate(): string
    {
        $output = '';
        
        for ($i = 0; $i < $this->config['paragraphs']; $i++) {
            $output .= $this->generateParagraph();
            $output .= "\n\n";
        }
        
        if ($this->config['echo_output']) {
            echo $output;
        }
        
        return $output;
    }
    
    private function generateParagraph(): string
    {
        $paragraph = '';
        
        for ($i = 0; $i < $this->config['sentences_per_paragraph']; $i++) {
            $paragraph .= $this->generateSentence() . ' ';
        }
        
        return trim($paragraph);
    }
    
    private function generateSentence(): string
    {
        $count = rand(3, 8);
        $words = array_rand(array_flip($this->phrases), $count);
        
        if (!is_array($words)) {
            $words = [$words];
        }
        
        return ucfirst(implode(' ', $words)) . '.';
    }
}

// Example usage
$generator = new LoremIpsumGenerator([
    'paragraphs' => 2,
    'sentences_per_paragraph' => 4,
]);

$loremText = $generator->generate();

// Alternative quick output
echo "Hello World: " . substr($loremText, 0, 42) . "...";

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Articles in Issue 1: Computer Games

Journal Editions