Flick
Guide Validation Services API Pro Examples GitHub
Docs / Services

Flick Pro

Ship faster with production-ready services. Stop building auth, email, uploads, and database abstractions from scratch.

Get Flick Pro โ€” $99 per year ยท every project you build

What's Included

Ten services you never have to build or babysit:

Service What You Get
Auth Sessions, remember-me, password hashing, timing-safe verification
Checkout Polar and Stripe hosted checkout plus webhook confirmation
Mail SMTP, SES, SendGrid, Mailgun, Postmark + templates
OTP One-time codes for passwordless login, email verification, and two-factor
SQL MySQL, PostgreSQL, SQLite + query builder + mass assignment protection
Throttle Per-client rate limiting for logins, OTP sends, and form submissions
Upload Image processing, WebP conversion, S3, DigitalOcean Spaces
Validation Client-side rules synced with server-side validation
reCAPTCHA Google reCAPTCHA v3 with score thresholds and action verification
Turnstile Cloudflare's privacy-focused bot protection

While you subscribe

New services and updates are included for as long as your subscription is active.

Quick Example

A complete contact form with email sending in under 20 lines:

<?php
require 'vendor/autoload.php';

$form = new Flick\Flick([
    'services' => [
        'mail' => [
            'fromAddress' => 'noreply@example.com',
            'mailer' => [
                'transport' => 'sendgrid',
                'key' => 'your-sendgrid-api-key'
            ]
        ]
    ]
]);

$form->create('Name, Email, Message|textarea');

if ($form->submitted()) {
    $request = $form->request('Name[required], Email[required, email], Message[required]');

    if ($form->ok()) {
        $form->mail->sendFormData('admin@example.com', 'Contact Form', $request);
        $form->successMessage('Message sent!');
    }
}

Tip

Check ok() after request(), not before. Nothing has been validated until request() runs, so submitted() && ok() is always true on a submission and would mail out invalid data.

Installation

Already purchased? Here's how to get started.

1. Add the Repository

Add the private repository to your project's composer.json:

{
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/flickphp/pro"
        }
    ]
}

2. Install the Package

composer require flickphp/pro

The repository is private, so the first time you run this Composer needs a way in. Either of these works:

  • A GitHub token. Composer notices it can't reach the repo and sends you to GitHub to create a personal access token with the repo scope. Paste it back in and Composer saves it in its auth.json. You do this once per machine.
  • An SSH key. If the machine already has an SSH key for your GitHub account, Composer falls back to git@github.com:flickphp/pro.git and there's no prompt at all.

Whichever you use, it has to be the GitHub account you connected in your Polar customer portal after buying. That's the account with access.

Tip

On a server or in CI there's nobody to paste a token, so put it in place first with composer config --global github-oauth.github.com YOUR_TOKEN, or commit your vendor directory and skip the question entirely. The license allows it, and it's how you keep your copy after a subscription ends.

That's the whole setup. There's no key to paste and no config file to create โ€” if composer require worked, you're done.

License

Use it on every project you build, including client work. If a client wants to keep Pro after you walk away, they buy their own.

Every version released while your subscription is active is yours to keep. If you cancel, you stop getting new versions โ€” you don't stop using the ones you already have, and nothing you've shipped needs touching. Your subscription pays for what comes next: new services, and keeping the whole thing working as PHP moves.

One thing worth planning for: access to the private repository ends with the subscription, and that's where composer installs from. Commit your vendor directory to your own private repo, or keep an archive of the release, so a later deploy can still find it.

Ready to go? Get Flick Pro.