PHP code example of yohns / legal-pages

1. Go to this page and download the library: Download yohns/legal-pages library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

yohns / legal-pages example snippets



Yohns\Gens\Legal\LegalPageGenerator;

$gen = new LegalPageGenerator('privacy-policy', 'ecommerce', [
    'company' => ['name' => 'Acme Inc', 'email' => '[email protected]'],
    'website' => ['url' => 'https://acme.com', 'name' => 'Acme Store'],
]);

// Get raw Markdown
$markdown = $gen->generate();

// Get Bootstrap 5.3.8 HTML fragment (for embedding in your page)
$fragment = $gen->convertToHtml();

// Get full standalone HTML page with Bootstrap CDN
$fullPage = $gen->convertToHtml(full: true);

// Save to file
$gen->savePage($fullPage, 'privacy-policy.html', __DIR__ . '/generated');
$gen->savePage($markdown, 'privacy-policy.md', __DIR__ . '/generated');

$markdown = $gen->generate();
file_put_contents('privacy-policy.md', $markdown);

$html = $gen->convertToHtml();
// Output example:
// <h1 class="mb-3">Privacy Policy</h1>
// <p class="mb-2">Welcome to Acme Inc...</p>

$fullPage = $gen->convertToHtml(full: true);
file_put_contents('privacy-policy.html', $fullPage);

$gen->savePage($content, 'filename.html', '/path/to/output/');

$gen = new LegalPageGenerator();
$templates = $gen->getAvailableTemplates();
// ['Accessibility Statement', 'Blog Disclaimer', 'Cookie Policy', ...]

// Personal blog
$gen = new LegalPageGenerator('privacy-policy', 'personal', $config);

// Online store
$gen = new LegalPageGenerator('privacy-policy', 'ecommerce', $config);

// Social network
$gen = new LegalPageGenerator('privacy-policy', 'social', $config);

$gen = new LegalPageGenerator('privacy-policy', 'ecommerce', [
    'company' => [
        'name'  => 'Acme Inc',
        'email' => '[email protected]',
        'phone' => '+1-555-0100',
    ],
    'website' => [
        'url'  => 'https://acme.com',
        'name' => 'Acme Store',
    ],
    'data' => [
        'collected' => 'name, email, payment information',
        'retention' => '24 months',
    ],
]);

$gen = new LegalPageGenerator('privacy-policy', 'ecommerce', [
    'company:name'  => 'Acme Inc',
    'company:email' => '[email protected]',
    'website:url'   => 'https://acme.com',
]);

$gen->setPlaceholder('company', 'name', 'Acme Inc');
// or
$gen->setPlaceholders([
    'company:name'  => 'Acme Inc',
    'company_name'  => 'Acme Inc',  // underscore format also works
]);

$gen->setPlaceholders([
    'compliance:gdpr' => 'true',
    'compliance:ccpa' => 'true',
]);

$gen = new LegalPageGenerator(
    'privacy-policy',
    'ecommerce',
    $config,
    '/path/to/my/templates'
);

return [
    'company_name'    => 'Your Company, Inc.',
    'site_url'        => 'https://yoursite.com',
    'site_name'       => 'Your Site',
    'contact_email'   => '[email protected]',
    'company_address' => '123 Main St',
    'contact_phone'   => '+1-555-0100',
    'company_country' => 'United States',
];

return [
    // Compliance flags
    'compliance:gdpr' => true,
    'compliance:ccpa' => false,

    // Feature flags
    'feature:analytics'  => true,
    'feature:newsletter' => false,

    // Privacy Policy placeholders
    'data:collected' => 'name, email address, IP address',
    'data:cookies'   => 'essential, analytics',
    'data:retention' => '24 months',

    // Ecommerce placeholders
    'ecommerce:return_period' => '30 days',
    'ecommerce:refund_time'   => '7-10 business days',
    // ... see config/legal-pages.php for complete reference
];


Yohns\Gens\Legal\LegalPageGenerator;

$config = sonal', $config);

// Get content as variables — no files written
$markdown = $gen->generate();
$html     = $gen->convertToHtml(full: true);

// Use $html in your own layout
echo "<main class='legal-content'>$html</main>";


Yohns\Gens\Legal\LegalPageGenerator;

$config      =  ['privacy-policy', 'terms-of-service', 'cookie-policy'];

$results = [];

foreach ($pages as $pageType) {
    $gen = new LegalPageGenerator($pageType, $websiteType, $config);

    $markdown = $gen->generate();
    $html     = $gen->convertToHtml(full: true);

    if ($outputDir) {
        $gen->savePage($markdown, "$pageType.md", $outputDir);
        $gen->savePage($html, "$pageType.html", $outputDir);
    }

    $results[$pageType] = [
        'markdown' => $markdown,
        'html'     => $html,
    ];
}

// Use the content directly
echo $results['privacy-policy']['html'];


Yohns\Gens\Legal\LegalPageGenerator;

$outputDir = __DIR__ . '/generated/legal';
$websiteType = 'ecommerce';

$config = [
    'company:name'  => 'Acme Inc',
    'company:email' => '[email protected]',
    'website:url'   => 'https://acme.com',
    'website:name'  => 'Acme Store',
    'compliance:gdpr' => true,
];

$pages = [
    'privacy-policy',
    'terms-of-service',
    'cookie-policy',
    'refund-policy',
    'shipping-policy',
];

foreach ($pages as $pageType) {
    $gen = new LegalPageGenerator($pageType, $websiteType, $config);

    // Save as Markdown
    $gen->savePage($gen->generate(), "$pageType.md", $outputDir);

    // Save as full HTML page
    $gen->savePage($gen->convertToHtml(full: true), "$pageType.html", $outputDir);

    echo "Generated: $pageType\n";
}
bash
php vendor/bin/legal-pages publish
bash
# Edit legal-pages/config/legal-pages.php with your company details, then:
php legal-pages/generate.php
bash
# Publish everything (config + quickstart + web UI)
php vendor/bin/legal-pages publish

# Publish only specific parts
php vendor/bin/legal-pages publish --config
php vendor/bin/legal-pages publish --quickstart
php vendor/bin/legal-pages publish --ui

# Custom output directory
php vendor/bin/legal-pages publish --dir=my-legal/