Updated 2 weeks ago
NYC team · same business day
View live demo →
Specs

What's in the box.

Frameworks
7
all included
License
Personal
1 commercial site
Updates
Lifetime
free, quarterly

Abirga PHP is a bold, energetic Music Festival and Event Promotion web template built on PHP 8.1 with a clean MVC architecture, Bootstrap 5, and MySQL database integration. It ships with 9 server-rendered pages, a built-in audio player, a filterable festival photo gallery, an album showcase with dynamic tracklists, a full event ticket e-commerce system with session-based cart, and a Particles.js hero — all powered by PHP with PDO database abstraction and Composer autoloading.

Built for PHP developers delivering music festival websites, concert promotion platforms, artist portfolio sites, or event e-commerce projects where server-side rendering, dynamic content management, and database-backed functionality are required. The MVC structure separates routing, controllers, models, and views cleanly — easy to extend with new routes, swap the MySQL backend for PostgreSQL, or wire to a REST API. PDO prepared statements protect every database query against SQL injection out of the box.

Everything in the Package

  • 9 server-rendered PHP pages across Home, Albums, Gallery, Blog, Shop, and Contact
  • PHP 8.1 — named arguments, match expressions, readonly properties, and fibers-ready
  • MVC architecture — Router, Controllers, Models, and View templates fully separated
  • MySQL database integration via PDO with prepared statements throughout
  • Composer autoloading — PSR-4 class autoloading, no manual require chains
  • Session-based shopping cart — add, update, and remove ticket and merchandise items server-side
  • Bootstrap 5.0.1 — responsive grid, mobile-first layout
  • Particles.js animated hero background on the home page
  • Custom audio player rendered server-side with track data pulled from the database
  • Album showcase: dynamic album grid from the albums table + album detail page with DB-sourced tracklist
  • Festival photo gallery: 32+ images served from the gallery table, filterable by event category via GET parameter
  • Blog module: dynamic blog archive and post detail with MySQL-backed posts and categories
  • Contact form with server-side validation, CSRF token protection, and PHP mail() / SMTP integration
  • Countdown timer to the next event date stored in the settings table
  • Newsletter subscription with email validation and database storage
  • Swiper carousels and WOW.js scroll animations on all pages
  • Magnific Popup lightbox for full-screen gallery images
  • Retina-ready, fully responsive from 320px to 1920px+
  • Well documented — setup guide covering database import, .env configuration, and SMTP setup

MVC Architecture and File Structure

  • Router: app/Router.php — maps URL paths to controller methods using regex-based route matching
  • Controllers: AlbumController, GalleryController, BlogController, CartController, CheckoutController, ContactController
  • Models: Album, Track, GalleryItem, BlogPost, CartItem, Order — each wraps PDO queries with typed return objects
  • Views: templates/ directory with reusable partials — header.php, footer.php, navbar.php, audio-player.php
  • Database abstraction: Database.php singleton wraps PDO connection — one connection per request lifecycle
  • All user input sanitised with htmlspecialchars() before output and passed through prepared statement bindings before DB queries
  • Environment configuration via .env file loaded by vlucas/phpdotenv — DB credentials, SMTP settings, and app URL
  • Folder structure: app/Controllers/, app/Models/, app/Router.php, templates/, public/, config/, database/

All 9 Pages

  • /home — Particles.js hero, festival Swiper slider, new album spotlight from DB, gallery preview section, newsletter, countdown
  • /albums — Dynamic album grid rendered from AlbumModel::getAll() — release dates, artist info, and cover art
  • /album-details/{slug} — AlbumController::show() fetches album and tracks by slug — full tracklist rendered server-side
  • /gallery — GalleryController::index() loads all photos; ?category= GET param filters by event category server-side
  • /blog — BlogController::index() paginates posts from the posts table with category filter support
  • /blog/{slug} — BlogController::show() fetches full post and related posts by shared category
  • /cart — CartController reads $_SESSION[‘cart’], renders line items with quantity forms and POST update handlers
  • /checkout — CheckoutController::index() renders form; CheckoutController::process() validates POST data, creates order in DB
  • /contact — ContactController::index() renders form; ContactController::submit() validates, saves to DB, sends email via SMTP

Session Cart and Checkout

  • Cart stored in $_SESSION[‘cart’] — array of item IDs, quantities, and prices
  • CartController::add() handles POST from any page — validates item ID against DB, adds to session
  • CartController::update() processes quantity changes via POST form on the cart page
  • CartController::remove() deletes item from session array and redirects back to cart
  • CheckoutController::process() validates all billing fields server-side, creates an order record in MySQL, and clears the session cart
  • CSRF token generated with bin2hex(random_bytes(32)) on form render and validated on POST
  • Order confirmation email sent via PHPMailer with SMTP credentials from .env

Database Schema

  • albums — id, title, artist, slug, release_date, cover_image, description
  • tracks — id, album_id (FK), title, duration, track_number, audio_file
  • gallery_items — id, image_path, category, alt_text, event_name
  • blog_posts — id, title, slug, category_id, body, excerpt, author, published_at, featured_image
  • orders — id, billing_name, billing_email, billing_address, total, status, created_at
  • order_items — id, order_id (FK), product_name, quantity, unit_price
  • newsletter_subscribers — id, email, subscribed_at, confirmed
  • settings — key, value — stores next event date, site name, social links
  • Full SQL dump included in database/abirga.sql — import and run immediately

Security

  • PDO prepared statements on every database query — SQL injection not possible through ORM layer
  • CSRF tokens on all POST forms — validated server-side before processing
  • htmlspecialchars() applied to all user-supplied output — XSS prevention
  • Password-protected admin area scaffolded with PHP sessions — extend with your own user table
  • File upload validation (gallery admin) — MIME type check, extension whitelist, and size limit enforced server-side
  • DB credentials, SMTP passwords, and app secrets stored in .env — never committed to version control

Use Cases

  • Music Festival Organisers: Full server-side CMS — manage albums, gallery, blog, and event settings from the database
  • Concert Promoters: Dynamic countdown pulls next event date from DB — update one row to change the site-wide timer
  • Artists and Bands: Album and tracklist management fully database-driven — no code changes to add releases
  • Event Ticket Sellers: Session cart and MySQL order management ready for payment gateway integration
  • PHP Developers and Agencies: MVC architecture, PDO models, and Composer autoloading — extend confidently without tech debt
  • Shared Hosting Deployments: Pure PHP 8.1 — no Node.js, no build step, no Docker — runs on any cPanel/Plesk host

Credits and Dependencies

  • PHP 8.1 — PHP License
  • Bootstrap 5.0.1 — MIT License
  • Composer — MIT License
  • vlucas/phpdotenv — BSD-3 License
  • PHPMailer — LGPL 2.1 License
  • Font Awesome 6 — Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT
  • Google Fonts — SIL Open Font License
  • Swiper.js — MIT License
  • Particles.js — MIT License
  • Magnific Popup — MIT License
  • WOW.js — MIT License
  • Demo images: Unsplash — Unsplash License (free for commercial use, no attribution required)
  • Demo images: Freepik — Freepik License (free for commercial use with attribution)
  • All demo images are for preview purposes only and are NOT included in the download. Replace with your own licensed images before publishing.
v1.0  Initial PHP Release
- PHP 8.1 MVC architecture with Composer PSR-4 autoloading
- MySQL database with full SQL schema dump included
- PDO prepared statements on all queries — SQL injection protected
- Session-based shopping cart with server-side add, update, remove handlers
- CSRF token protection on all POST forms
- Dynamic album, tracklist, gallery, and blog content from database
- Checkout with MySQL order creation and PHPMailer SMTP confirmation
- Server-side gallery category filtering via GET parameter
- Event countdown date stored in settings table
- Newsletter subscriber storage with email validation
- .env configuration for DB credentials, SMTP, and app URL

Production code · accessibility ready

Open the source. Read the actual code.

Every Abirga — Music Festival PHP Website Template template ships hand-written, semantic, and accessibility-ready. Tabs preserved. Comments in plain English. BEM naming. WCAG 2.2 AA tested. No spaghetti, no inline JavaScript scattered through the document. Your team extends without rewriting — and your users get a site that works for screen readers, keyboard navigation, and reduced-motion preferences out of the box.

Semantic HTML5Real <section> / <article> / <nav> tags — not div soup.
WCAG 2.2 AA accessibilityReal ARIA, focus order, 4.5:1+ color contrast, keyboard nav.
BEM class systemPredictable naming so your team can extend without breaking.
Reduced-motion respectedprefers-reduced-motion media query disables non-essential transitions.
Skip-link + landmark rolesScreen-reader-friendly navigation at every page top.
Lighthouse 100 a11yAudited per release. Default install scores 100 / 96 / 100 / 100.
hero.html hero.css hero.js
abirga-music-festival-php-website-template/hero · v1.0.0 · WCAG 2.2 AA
1<!-- Abirga — Music Festival PHP Website Template hero — semantic, accessible, AICE-priced -->
2<section class="hero hero--cover" role="region" aria-label="Featured">
3 <div class="hero__inner">
4 <h1 class="hero__h1">Built for businesses <em>that ship</em></h1>
5 <a class="btn btn--primary" href="/shop">Shop now</a>
6 </div>
7</section>
8
9/* hero.css — focus-visible & reduced-motion respected */
10.hero :focus-visible { outline: 2px solid var(--c-cyan); }
11@media (prefers-reduced-motion: reduce) { .hero * { animation: none !important; } }
12
13// AICE rebuild cost manifest
14const aice = { claude: '$2,400', buy: '$18' };
Changelog · 1 version

What's changed.

  • Initial release.
  • Server-side PHP with Bootstrap 5; production-ready.
  • Detailed documentation included with quick-start guide.
Tags
Customer reviews · 0 verified

What customers actually said.

No reviews yet — be the first.

Managed launch · 2 hosting tiers · NYC infrastructure

Don’t have hosting? We launch Abirga — Music Festival PHP Website Template for you.

Skip cPanel. Skip the FTP upload. Skip the DNS configuration. Each hosting tier includes the install, plugin config, and your domain pointed live in 24 hours. Same NYC team that built the template handles your launch.

99.9%Uptime SLA
24hSetup time
NYCSame-day support
Starter
$9.99/mo
  • 1 Website
  • 10 GB Storage
  • Free SSL
  • 1 Database
Deluxe
$27.99/mo
  • 10 Websites
  • 50 GB Storage
  • Free SSL (all sites)
  • 25 Databases
Ultimate
$35.99/mo
  • 25 Websites
  • 75 GB Storage
  • Free SSL (all sites)
  • 50 Databases
Launch
$62.99/mo
  • 100 GB Storage
  • 4 GB RAM
  • 2 CPUs
  • Free SSL
Grow
$155.99/mo
  • 300 GB Storage
  • 16 GB RAM
  • 8 CPUs
  • Free SSL
Expand
$217.99/mo
  • 400 GB Storage
  • 32 GB RAM
  • 16 CPUs
  • Free SSL

Free SSL · 99.9% uptime · 24/7 support · No domain included

Every tier includes — NYC infrastructure

99.9%Uptime SLAMonitored 24/7
24hSetup timeSame business day
SSLHTTPS day oneAuto-renewed
CDNGlobal edge cache15 PoPs worldwide
DailyAuto backups30-day retention
NYCStudio supportSame-day response
From the NYC studio

Save $5 on Abirga — Music Festival PHP Website Template today.

Plus weekly drops · AICE rebuild reports · early access to designs we haven't listed publicly. Same email goes to designers shipping with Letam, Bunlicious, and Aiga.

No spam · unsubscribe anytime · 3,500+ designers ship from this list

Abirga — Music Festival PHP Website Template
$18 · PHP Templates