epaphrodites/epaphrodites

Epaphrodites framework seamlessly combines simplicity with robust compatibility across PHP, C, and Python, providing strong support for multiple databases while adhering to open-source principles.

v0.01 2025-05-07 15:06 UTC

This package is auto-updated.

Last update: 2025-05-07 15:11:40 UTC


README

Epaphrodites Logo

MIT License

👋 About Epaphrodites

Epaphrodites is a modern, modular, and open-source framework that combines the power of PHP, Python, and C.

It emphasizes:

  • ✨ Simplicity
  • 🛠️ Flexibility
  • 🌐 Multi-database support
  • 💡 Developer-friendly tools
  • 🧠 Native integration of C for performance-critical components

Designed for developers who want full control of their stack, Epaphrodites bridges interpreted and compiled logic to deliver speed without sacrificing convenience.

🧩 PHP Required & Optional Extensions (PHP >= 8.2)

✅ Required PHP Extensions

  • OpenSSL — SSL/TLS encryption, secure connections
  • ZIP — Compression/decompression of ZIP archives
  • GD — Image manipulation: resizing, filters, etc.
  • intl — Internationalization, locale/date formatting
  • PDO — Unified database interface
  • JSON — JSON data encoding/decoding
  • XML — Parsing and manipulating XML files
  • Mbstring — Multi-byte string support (e.g. UTF-8)
  • pdo_sqlite — PDO driver for SQLite3

🔧 Optional Extensions

  • Redis — Caching & sessions with Redis
  • pdo_oci — Oracle DB support
  • pdo_mysql — MySQL/MariaDB support
  • mongodb — MongoDB (NoSQL) integration
  • pdo_pgsql — PostgreSQL support
  • pdo_sqlsrv — Microsoft SQL Server support

⚙️ System Dependencies

  • PHP Dev Tools — Required to compile extensions (php-dev for Linux / php for macOS)
  • Python3 — Needed for Python integration
  • C Compiler — Recommended for building native components and optimizing extensions

💡 Key Notes

  • Required extensions provide core features (DB, encryption, image/text processing).
  • Optional ones depend on your tech stack.
  • System dependencies are critical for compilation (phpize) and C/Python interoperability.

🚀 Installation

composer create-project epaphrodites/epaphrodites your-project-name
  • If the installation requires certain extensions, execute the following command to install them:
php epaphrodites -i

⚠️ Recommendation : If you have already installed MongoDB on your machine and wish to incorporate its usage into your project, please execute the following command:

composer require mongodb/mongodb

Continue the installation :

Execute the following command to update all dependencies :

composer update

To execute "dump-autoload," run the command :

composer dump-autoload

⚙️ First configuration

  1. Open this file (SetDirectory.php)
    bin\config\SetDirectory.php
  1. Set database accpeted : ('mysql/oracle/pgsql/sqlserver/sqlite/mongodb/redis')
    define('_FIRST_DRIVER_', 'sqlite');
  1. Open this file (Config.ini)
    bin\config\config.ini
  1. Choose your first configuration
[1_CONFIGURATION]
# -----------------------------------------------------------------------
#                      SQLITE CONFIGURATION                         
#  Lightweight file-based database perfect for:                     
#  . Small to medium applications                                   
#  . Development and testing environments                           
#  . Embedded systems with minimal configuration                    
# -----------------------------------------------------------------------
DRIVER = sqlite
DATABASE = epaphroditesdb.sqlite
HOST = 127.0.0.1
PORT =
USER =
PASSWORD =
SOCKET = false
SOCKET_PATH =

💾 Create database

Run this command to create your database

php heredia create:db epaphroditesdb

🐍 Install python component

  • Note: This command is intended for users who have previously installed Python on their machine. It simplifies the installation of specific Python libraries essential for the optimal functioning of the Epaphrodites framework. Furthermore, you have the freedom, at your level, to integrate other libraries according to the requirements of your projects :
php heredia pip:component

🔧 Compile C components

  • Note: This command is for users who have C development tools installed on their machine. It compiles the C components essential for performance-critical operations in the Epaphrodites framework:
sudo ./kouadio - g
  • Option -i: Directly inserts the extension

  • Option -g: Generates and inserts C components

  • Ensure you've set the proper executable permissions before running: :

chmod +x kouadio 

🔥 Run your App

  • Note: For SQL databases, you must create your database before running your application. In the case of MongoDB, the system will generate your database based on your configuration.

Run server

cd your_project
php heredia run:server --port=8000

Authentification access

Login : admin
Password : admin

😎 Enjoy yourself

📗 Documentation

👥 Authors

🤝 Contributing

Contributions are welcome! Fork the repo, make changes, and submit a pull request.