PHPulse
PHP wrapper for desktop Development
Install / Use
/learn @ibnsultan/PHPulseREADME
PHPulse
PHPulse is an experimental PHP framework designed specifically for constructing desktop applications.
While currently in its proof-of-concept stage, it's important to note that using PHPulse for production development is not recommended at this time.
🛠️ Supported Platforms
- ✅ Windows
- ☑️ Linux (Limited Support) some component are not yet complete ref (TODO. builder/main.js ln:12)
- ❌ Mac OS (Very Limited Support) some component are not yet complete ref (TODO. builder/main.js ln:12)
🧰 Tools Utilized
- PHP
- Electron
- NodeJS 18 LTS
🚦 Project Overview
PHPulse combines the power of PHP and Electron to create desktop applications efficiently. With the right configuration any app can be swiftly packaged
The initial skeleton comes with a basic router to handle and designate http request to their respective allocations public/router.php which also the default entry of the application
Folder Structure
📁 ProjectName
|-- 🌐 backend (where your backend resides)
|-- 🛠 builder
| |-- 🖼 assets
| | |-- 🏗 build
| |-- 📜 main.js
| |-- 📄 config.json
| |-- 📦 package.json
|
|-- ⚙️ console
| |-- 🐘 engine.php
| |-- 🤖 helper.php
|
|-- 📦 vendor
|
|-- 📄 .gitignore
|-- 📦 composer.json
|-- 📄 config.json
|-- 🚀 pulsar
😎 Getting Started
-
Dowload the latest release from the release section
-
Install the dependencies
composer install cd builder && npm install -
Initialize your application
php pulsar initAn interactive cli form will be displayed to configure your application details
-
To test and debug ur app run
php pulsar serve -
Prepare your application for building
# Update files in builder directory php pulsar prepare # Fresh start - clean and rebuild php pulsar prepare --fresh -
To build the app run
# Build for current platform (auto-detected) php pulsar make # Build for specific platform php pulsar make --platform=win php pulsar make --platform=mac php pulsar make --platform=linux # Build for all platforms php pulsar make --platform=allNote: Architecture (32-bit/64-bit) is automatically determined by electron-builder based on the target platform. On 64 it will build for both 32 and 64 bit, while on 32 it will only build for 32 bit.
✨ Using a custom project
Make sure to inialize your project php pulsar init and also change your config.json: entry_point and config.json: entry_file based on your project requirements and structure
Ps: MVC projects like laravel don't need an entry file as the framework will handle the routing and request handling, you may need to leave the entry_file empty and just set the entry point to your public folder i.e backend/public
🚧 Roadmap
- [X] Migrated from electron-packager to electron-builder
- [ ] Using asar packaging for better performance and smaller size
- [ ] Compressing php source to phar
- [ ] PHP Code obfusications
- [ ] Cross-platform build support from any OS
Contributing
All contributions, issues and feature requests are welcome! Feel free to check issues page.
Related Skills
node-connect
341.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
84.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
341.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
84.4kCommit, push, and open a PR
