UserFrosting
Features
Demo
Docs
Forums
Chat
Github
Donate
6.0 Beta
6.0 Beta
Features
Demo
Docs
Forums
Chat
Github
Donate
6.0 Beta
6.0 Beta
Documentation
01.
Quick Start Guide
02.
Web Dev, the Right Way
Introduction
The Client-Server Conversation
Develop Locally, Serve Globally
Don't Reinvent the Wheel
Security
Server Misconfiguration
CSRF Protection
XSS Prevention
SQL Injection Prevention
Authentication & Password Security
Search Engine Optimization
03.
App Structure
Your Application
Built on the shoulders of giants
The Framework
Sprinkles, what are they?
04.
Installation
Requirements
Basic Stack Requirements
Essential Tools for Modern PHP
Dev Environment
Native Installation
Installing Requirements
Installing UserFrosting
Docker
Basic CLI Usage
05.
Sprinkles
Basic concept
Contents
The Sprinkle Recipe
Customizing Your Sprinkle
Community Sprinkles
06.
Dependency Injection
Understanding Dependency Injection
The DI Container
Default Services
Adding Services
Extending Existing Services
07.
Routes and Controllers
Introduction
RESTful Design
RESTful Endpoints
RESTful Responses
Front Controller
Controller Classes
Registering Routes
Client Input
Validation
CSRF Protection
Throttling
AJAX Requests
08.
Pages & Layout
Why use Twig?
Rendering Templates
Templates Inheritance
Twig Filters and Functions
09.
Configuration
Environment Variables
Configuration Files
10.
Users
User Accounts
Authorization
Groups
Activity Logging
11.
Database
Overview
Default Tables
Migrations
Database Seeding
Data Sprunjing
12.
Mail
The Mailer Service
13.
Internationalization
Introduction
Setting up the site language
Using the translator
Advanced translation features
Creating a custom locale
14.
Bakery CLI
Built-in Commands
Custom Commands
Extending Aggregator Commands
15.
Assets & Vite
Introduction
Frontend Dependencies
Vite Configuration
Build Workflow
Using Assets in Twig
CSS Preprocessors
16.
JavaScript & Vue
The Modern JavaScript Stack
TypeScript
Vue Framework
Components
Understanding Reactivity
Composables
Advanced Vue Features
Axios HTTP Client
Pinia State Management
UIkit
17.
UI Framework and Theming
Introduction
Skeleton Template
Common UI Components
Adding a Page to Your App
Forms and Validation
Alerts and Notifications
Sprunjes
Customizing Themes
18.
Advanced Features
Using Custom Data Models
Application Lifecycle
Exceptions and Error Handling
Sessions
Cache
What, Why, and When?
The Cache Service
The Alert Stream
Locator Service
Logging
File Storage
Events
Middlewares
Webpack Encore
Referencing static assets
Entrypoints
Enabling Sass, Less, Vue and React
19.
Testing
Why Use Automated Testing?
Running Tests
Writing Your Own Tests
Sprinkle Test Case
Helper Traits & Class
Factories
Frontend Testing with Vitest
Testing Vue Components
Mocking & Stubbing
Advanced Testing
Best Practices
20.
Recipes
Creating a new page
Extending the User model
Extending templates and menus
Customizing the login page
Changing user permissions
Adding a 3rd party Javascript package
Advanced tutorial
Setting up the basics
Integrating the Database
Adding the page to the menu
Adding custom authorization
Adding localizations
Customizing the Skeleton
Going further
21.
Troubleshooting
Debugging
Getting Help
Common Problems
22.
Going Live
Hosting Your Site
Mail Providers
VPS Production Environment
Server Setup
Using Git for Deployment
Application Setup
SSL/HTTPS
Additional Recommendations
Backing up Your Data
Unix Primer for Ubuntu
23.
Upgrading
5.1.x to 6.0.x
Introduction to UF6
What's New in 6.0
Step-by-Step Migration Guide
What to Expect After 6.0
24.
Giving Back to UF
Supporting UserFrosting
Troubleshooting
Edit this page
Chapter 21
Troubleshooting
Chapter 21
#
Troubleshooting
#
Troubleshooting installation and your application.