PHPackages                             alsocoder/apnaphp - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. alsocoder/apnaphp

ActiveProject[Framework](/categories/framework)

alsocoder/apnaphp
=================

ApnaPHP - A Next.js App Router style + Laravel inspired PHP framework with file-based routing

v1.0.0(7mo ago)011MITPHPPHP &gt;=8.1

Since Oct 9Pushed 7mo agoCompare

[ Source](https://github.com/alsocoders/ApnaPHP)[ Packagist](https://packagist.org/packages/alsocoder/apnaphp)[ Docs](https://apnaphp.com)[ RSS](/packages/alsocoder-apnaphp/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (1)Versions (2)Used By (0)

ApnaPHP
=======

[](#apnaphp)

[![Latest Version](https://camo.githubusercontent.com/12c4c15f9d14c6f4153e734f6bad2cf0c4e0041aadcf8130275447b8217c0a4e/68747470733a2f2f61706e617068702e636f6d2f61706e617068702e706e67)](https://apnaphp.com)

Ready-to-use starter template for ApnaPHP Framework - A modern PHP framework inspired by Next.js App Router and Laravel.

🚀 Features
----------

[](#-features)

- **File-based Routing**: Next.js App Router style routing with `.apna.php` files
- **Laravel-like ORM**: Eloquent-inspired models with schema definition
- **Multiple Database Support**: MySQL, MariaDB, PostgreSQL, MongoDB, SQLite
- **Auto-migration**: Automatic schema creation from model definitions
- **Middleware Support**: Hierarchical middleware system
- **Console Commands**: Built-in CLI with `php apna serve`
- **Modern PHP**: PHP 8.1+ with modern syntax and features

📦 Installation
--------------

[](#-installation)

### Using Composer

[](#using-composer)

```
composer create-project alsocoder/apnaphp my-app
cd my-app
```

### Manual Installation

[](#manual-installation)

```
composer require alsocoder/apnaphp-framework
```

🏃‍♂️ Quick Start
----------------

[](#‍️-quick-start)

### 1. Create a New Project

[](#1-create-a-new-project)

```
composer create-project alsocoder/apnaphp my-app
cd my-app
```

### 2. Configure Database

[](#2-configure-database)

Edit `.env` file:

```
DB_DRIVER=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=my_database
DB_USERNAME=root
DB_PASSWORD=password
```

### 3. Start Development Server

[](#3-start-development-server)

```
php apna serve
```

Your application will be available at `http://localhost:3000`

📁 Project Structure
-------------------

[](#-project-structure)

```
my-app/
├── app/
│   ├── api/                 # API routes
│   │   └── users/
│   │       └── route.apna.php
│   ├── dashboard/           # Page routes
│   │   └── page.apna.php
│   └── layout.apna.php      # Layout files
├── config/
│   ├── app.php
│   └── database.php
├── models/
│   └── User.php
├── public/
│   └── index.php
└── storage/
    ├── cache/
    ├── logs/
    └── uploads/

```

🛣️ Routing
----------

[](#️-routing)

### File-based Routing

[](#file-based-routing)

Create routes by adding `.apna.php` files:

**API Routes** (`app/api/*/route.apna.php`):

```

    Users

    Users

```

🗄️ Database &amp; Models
------------------------

[](#️-database--models)

### Model Definition

[](#model-definition)

```
