ufukcanatann / prism
PRISM - Modern PHP Framework for Enterprise Applications
Installs: 2
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Type:project
Requires
- php: >=8.0
- defuse/php-encryption: ^2.3
- doctrine/annotations: ^2.0
- doctrine/cache: ^2.0
- doctrine/collections: ^1.8
- doctrine/dbal: ^3.0
- doctrine/inflector: ^2.0
- doctrine/lexer: ^2.0
- doctrine/migrations: ^3.0
- doctrine/orm: ^2.11
- filp/whoops: ^2.15
- guzzlehttp/guzzle: ^7.0
- illuminate/view: ^10.0
- jenssegers/blade: ^2.0
- league/container: ^4.0
- league/event: ^2.0
- league/plates: ^3.5
- league/route: ^5.0
- monolog/monolog: ^3.0
- nikic/fast-route: ^1.3
- paragonie/anti-csrf: ^2.4
- php-di/php-di: ^7.0
- psr/cache: ^3.0
- psr/container: ^2.0
- psr/event-dispatcher: ^1.0
- psr/http-message: ^1.0
- psr/http-server-handler: ^1.0
- psr/http-server-middleware: ^1.0
- psr/log: ^3.0
- ramsey/collection: ^1.2
- ramsey/uuid: ^4.0
- symfony/cache: ^6.0
- symfony/config: ^6.0
- symfony/console: ^6.0
- symfony/dependency-injection: ^6.0
- symfony/event-dispatcher: ^6.0
- symfony/expression-language: ^6.0
- symfony/filesystem: ^6.0
- symfony/http-foundation: ^6.0
- symfony/http-kernel: ^6.0
- symfony/routing: ^6.0
- symfony/serializer: ^6.0
- symfony/validator: ^6.0
- symfony/var-dumper: ^6.0
- symfony/yaml: ^6.0
- vlucas/phpdotenv: ^5.5
Requires (Dev)
- fakerphp/faker: ^1.20
- mockery/mockery: ^1.5
- phpunit/phpunit: ^10.0
This package is auto-updated.
Last update: 2025-08-10 19:06:12 UTC
README
Modern PHP Framework for Enterprise Applications
PRISM Framework is a powerful, secure, and developer-friendly PHP framework designed for building modern web applications and APIs. Built with enterprise-grade features and best practices in mind.
Key Features
- ** MVC Architecture**: Clean, organized Model-View-Controller structure
- ** Blade Template Engine**: Powerful and intuitive templating system
- ** Built-in Security**: CSRF protection, XSS prevention, input validation
- ** High Performance**: Optimized routing, caching, and database operations
- ** Dependency Injection**: Modern service container and dependency injection
- ** Powerful CLI Tools**: Code generators and management commands
- ** Database Features**: Migrations, seeders, factories, and query builder
- ** RESTful APIs**: Built-in API support with JSON responses
- ** Middleware System**: Flexible request/response processing
- ** Modern UI**: Bootstrap 5 integration for responsive design
Requirements
- PHP 8.0 or higher
- MySQL 5.7+ / PostgreSQL 10+ / SQLite 3
- Composer
- Web server (Apache/Nginx)
Quick Start
Installation with Composer (Recommended)
# Create a new project composer create-project ufukcanatann/prism my-project # Installation with a specific version composer create-project ufukcanatann/prism my-project "1.0.*" # Choose the dist package composer create-project ufukcanatann/prism my-project --prefer-dist # Go to the project directory cd my-project # Start the server php prism system:serve
Manuel Installation
1. Download Project
git clone <repository-url> my-app cd my-app
2. Load Dependencies
composer install
3. Environment Setup
cp .env.example .env
4. Environment Configuration
Edit the .env
file:
APP_NAME="My Application" APP_ENV=local APP_DEBUG=true APP_URL=http://127.0.0.1:8000 DB_CONNECTION=mysql DB_HOST=localhost DB_PORT=3306 DB_DATABASE=my_app DB_USERNAME=root DB_PASSWORD=
5. Framework Installation
php prism system:install
6. Start Development Server
php prism system:serve
Go to http://127.0.0.1:8000
to view your application
Usage Examples
Generate Your First Components
# Create a new controller php prism make controller UserController --resource # Create a model with migration php prism make model User --migration # Create a complete CRUD setup php prism make model Post --all
Define Routes
// routes/web.php $router->get('/users', [UserController::class, 'index']); $router->post('/users', [UserController::class, 'store']); $router->get('/users/{id}', [UserController::class, 'show']); // Route groups with middleware $router->group(['middleware' => 'auth'], function($router) { $router->get('/dashboard', [DashboardController::class, 'index']); });
Create Controllers
// app/Http/Controllers/UserController.php namespace App\Http\Controllers; class UserController extends Controller { public function index() { return view('users.index', [ 'users' => User::all() ]); } public function store(Request $request) { $validated = $request->validate([ 'name' => 'required|string|max:255', 'email' => 'required|email|unique:users' ]); User::create($validated); return redirect('/users')->with('success', 'User created!'); } }
Build Views with Blade
// resources/views/users/index.blade.php @extends('layouts.app') @section('title', 'Users') @section('content') <div class="container"> <h1>Users</h1> @foreach($users as $user) <div class="card mb-3"> <div class="card-body"> <h5>{{ $user->name }}</h5> <p>{{ $user->email }}</p> </div> </div> @endforeach </div> @endsection
Configuration
Environment Variables
Configure the following settings in .env
file:
APP_NAME=PRISM Framework APP_ENV=local APP_DEBUG=true APP_URL=http://localhost:8000 APP_KEY=your-32-character-key DB_CONNECTION=mysql DB_HOST=localhost DB_PORT=3306 DB_DATABASE=prism DB_USERNAME=root DB_PASSWORD= CACHE_DRIVER=file SESSION_DRIVER=file MAIL_MAILER=smtp
Middleware Configuration
// config/app.php 'middleware' => [ 'before' => [ \Core\Middleware\CorsMiddleware::class, \Core\Middleware\SessionMiddleware::class, ], 'after' => [ \Core\Middleware\ResponseMiddleware::class, ] ]
Security
- CSRF Protection: CSRF token validation for all forms
- Encryption: Secure password hashing with bcrypt
- Session Security: Secure session management
- SQL Injection Protection: Prepared statements usage
- XSS Protection: Output escaping
- Audit Logging: Comprehensive user activity tracking
Database Schema
The system includes the following core tables:
users
- User informationmigrations
- Migration trackingpassword_resets
- Password reset tokensfailed_jobs
- Failed job queue
API Usage
RESTful Endpoints
// User operations GET /api/users # User list POST /api/users # Create new user GET /api/users/{id} # User details PUT /api/users/{id} # Update user DELETE /api/users/{id} # Delete user
Frontend
- Bootstrap 5: Modern and responsive design
- Font Awesome: Icon library
- Chart.js: Charts and statistics
- jQuery: JavaScript library
CLI Commands
PRISM Framework comes with powerful CLI tools to speed up development:
Code Generators
# Generate controllers php prism make controller UserController php prism make controller ApiController --api # Generate models with related files php prism make model User --migration --factory --seeder php prism make model Post --all # Generate database files php prism make migration create_users_table --create=users php prism make seeder UserSeeder php prism make factory UserFactory # Generate other components php prism make middleware AuthMiddleware php prism make request StoreUserRequest
Database Operations
# Run migrations php prism db migrate # Seed database php prism db seed # Migration + seeding php prism db migrate --seed
System Management
# Start development server php prism system serve --port=8080 # Application maintenance php prism system down php prism system up # Performance & security php prism system optimize php prism system security:scan php prism system clear:cache # Environment management php prism system env list php prism system env set APP_DEBUG false # Debugging & information php prism system route:list php prism system inspect database
Testing
# Run tests composer test # Run tests with coverage composer test-coverage
Contributing
- Fork the project
- Create feature branch (
git checkout -b feature/amazing-feature
) - Commit changes (
git commit -m 'Add amazing feature'
) - Push to branch (
git push origin feature/amazing-feature
) - Create Pull Request
License
This project is licensed under the MIT License.
Support
For any issues or suggestions:
- Open an issue
- Email: support@prism-framework.com
Updates
v3.0.0
- Initial release
- Basic MVC structure
- User management
- Database migrations
- API support
- Modern UI
PRISM Framework - Modern PHP Framework for Enterprise Applications