Implement the core page caching functionality and admin settings interface for WP Recache plugin. This includes: - Plugin bootstrap with activation/deactivation handlers - Admin settings page with tabbed interface (Cache, Optimization, Advanced) - Admin bar integration for quick cache purging - Core page cache using output buffering - Cache file management with mobile device separation - Cache purge on post update/comment - Default URL exclusions (cart, checkout, account) - Cache statistics display - PHPUnit test suite setup - Docker-based development environment - PHPStan configuration for static analysis References: - Closes #1 (Core Page Cache) - Closes #8 (Admin Settings UI)
38 lines
863 B
Docker
38 lines
863 B
Docker
FROM php:8.1-cli
|
|
|
|
# Install system dependencies
|
|
RUN apt-get update && apt-get install -y \
|
|
git \
|
|
unzip \
|
|
libzip-dev \
|
|
libxml2-dev \
|
|
libicu-dev \
|
|
&& docker-php-ext-install zip \
|
|
&& docker-php-ext-install dom \
|
|
&& docker-php-ext-install libxml \
|
|
&& docker-php-ext-install intl \
|
|
&& docker-php-ext-install mbstring \
|
|
&& docker-php-ext-install pdo \
|
|
&& docker-php-ext-install pdo_mysql
|
|
|
|
# Install Composer
|
|
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
|
|
|
|
# Set working directory
|
|
WORKDIR /app
|
|
|
|
# Copy composer files first for caching
|
|
COPY composer.json composer.lock* ./
|
|
|
|
# Install dependencies
|
|
RUN composer install --no-interaction --no-scripts --no-autoloader --prefer-dist
|
|
|
|
# Copy application code
|
|
COPY . .
|
|
|
|
# Generate autoloader
|
|
RUN composer dump-autoload
|
|
|
|
# Default command
|
|
CMD ["composer", "test"]
|