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