Add README.md
This commit is contained in:
parent
d80970c452
commit
2e43626d91
|
|
@ -0,0 +1,111 @@
|
|||
# PHPStarter
|
||||
|
||||
A minimal, modern PHP project template that provides a clean foundation for building small to medium web applications.
|
||||
|
||||
## Features
|
||||
|
||||
- PSR‑4 autoloading via Composer
|
||||
- Environment configuration using [`vlucas/phpdotenv`](https://github.com/vlucas/phpdotenv)
|
||||
- Strict typing enabled across the project
|
||||
- Simple and extensible database connection helper
|
||||
- Ready‑to‑use [PHPUnit](https://phpunit.de/) testing setup
|
||||
- [PHP‑CS‑Fixer](https://github.com/PHP-CS-Fixer/PHP-CS-Fixer) configuration for consistent code style
|
||||
- Clean `public/` entry point for web requests
|
||||
- Fully compatible with the [PHPStarter CLI](https://ramoncaballero.dev/phpstarter-cli.git)
|
||||
|
||||
## Requirements
|
||||
|
||||
- PHP 8.2+
|
||||
- Composer
|
||||
- Apache (or PHP's built‑in server)
|
||||
- MariaDB
|
||||
|
||||
## Installation
|
||||
|
||||
It is recommended to use [PHPStarter CLI](https://ramoncaballero.dev/phpstarter-cli.git), as it automates the entire setup process and requires almost no manual configuration.
|
||||
|
||||
However, you can also install PHPStarter manually by following the steps below.
|
||||
|
||||
|
||||
Clone the repository:
|
||||
|
||||
```bash
|
||||
cd /var/www/sites/
|
||||
git clone https://ramoncaballero.dev/PHPStarter.git <myproject>
|
||||
cd <myproject>
|
||||
```
|
||||
|
||||
Install dependencies:
|
||||
|
||||
```bash
|
||||
composer install
|
||||
```
|
||||
|
||||
Copy the environment file:
|
||||
|
||||
```bash
|
||||
sudo cp config/PHPStarter.env.example config/PHPStarter.env
|
||||
```
|
||||
|
||||
Edit your environment variables as needed.
|
||||
|
||||
## Directory Structure
|
||||
|
||||
```bash
|
||||
PHPStarter/
|
||||
bin/ → Executable scripts or CLI utilities
|
||||
config/ → Environment files
|
||||
docs/ → Project documentation, guides, and reference material
|
||||
public/ → Web root; front controller (`index.php`) and public assets (css, js, icons, ...)
|
||||
src/ → Application source code (PSR‑4 autoloaded)
|
||||
templates/ → Reusable HTML/PHP templates or view files
|
||||
tests/ → PHPUnit test suites and testing utilities
|
||||
translations/ → Localization files, language packs, or message catalogs
|
||||
composer.json → Composer package definition and autoload configuration
|
||||
composer.lock → Locked dependency versions for reproducible installs
|
||||
phpunit.xml → PHPUnit configuration file
|
||||
.php-cs-fixer.dist.php → Code style rules for PHP-CS-Fixer
|
||||
```
|
||||
|
||||
## Running the Project
|
||||
|
||||
Using PHP's built‑in server:
|
||||
|
||||
```bash
|
||||
php -S localhost:8000 -t public
|
||||
```
|
||||
|
||||
Or configure Apache manually.
|
||||
|
||||
If using the [PHPStarter CLI](https://ramoncaballero.dev/phpstarter-cli.git), the virtual host is created automatically.
|
||||
|
||||
## Customization
|
||||
|
||||
You can safely modify:
|
||||
|
||||
- Namespace (default: `PHPStarter`)
|
||||
- Directory structure
|
||||
- Database logic
|
||||
- Views/templates
|
||||
|
||||
The template is intentionally minimal to encourage flexibility.
|
||||
|
||||
## Testing
|
||||
|
||||
Run PHPUnit:
|
||||
|
||||
```bash
|
||||
./vendor/bin/phpunit
|
||||
```
|
||||
|
||||
## Code Style
|
||||
|
||||
Run PHP-CS-Fixer:
|
||||
|
||||
```bash
|
||||
./vendor/bin/php-cs-fixer fix
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
This project is provided as a template and may be used freely.
|
||||
Loading…
Reference in New Issue