syntaxx/phpx-starter-kit
最新稳定版本:v0.1.1
Composer 安装命令:
composer create-project syntaxx/phpx-starter-kit
包简介
PHPX starter kit
README 文档
README
React-like components in PHP, running in your browser via WebAssembly.
Build interactive web applications using familiar JSX syntax, component-based architecture, and React hooks—all in PHP!
Quick Start
Create a new PHPX project in seconds:
composer create-project syntaxx/phpx-starter-kit my-app
cd my-app
composer wasm
composer serve
Open http://localhost:9999 and start building! 🚀
Your First Component
Create interactive components with JSX syntax and React hooks:
<?php namespace Syntaxx\PHPX\Demo; use Syntaxx\PHPX\Framework\Component; use Syntaxx\PHPX\Framework\Runtime; use Syntaxx\PHPX\Framework\Document; use function Syntaxx\PHPX\Framework\useState; function MyApp() { return ( <div> <h1>Click to increment</h1> <MyButton /> </div> ); } function MyButton() { [$count, $setCount] = useState(0); $handleClick = function() use ($count, $setCount) { $setCount($count + 1); }; return ( <button onClick={$handleClick}> Count: {$count} </button> ); } // Render to DOM $root = Runtime::createRoot(Document::document()->getElementById('root')); $root->render( Component::create("StrictMode", [], [ Component::create("MyApp", [], []) ]) );
That's it! You now have a fully interactive counter running PHP in your browser.
What You Get
✅ JSX Syntax - Write <div> just like React
✅ React Hooks - useState, state management
✅ Component Architecture - Composable, reusable components
✅ Event Handling - onClick, onChange, and more
✅ Zero JavaScript - Everything is PHP (compiled to WebAssembly)
✅ Fast Builds - Vendor caching, watch mode, live reload ready
Development Workflow
# Terminal 1: Auto-rebuild on changes composer wasm:watch # Terminal 2: Development server composer serve
Edit your .phpx files in src/, save, and refresh your browser. Changes appear instantly!
Project Structure
my-app/
├── src/ # Your PHPX components (.phpx files)
│ └── App.phpx # Main application component
├── public/ # Web root
│ ├── index.html # HTML entry point
│ ├── css/ # Stylesheets
│ └── build/ # Compiled WebAssembly files (auto-generated)
├── bootstrap.php # Application entry point
└── composer.json # Dependencies and build scripts
Available Commands
| Command | Description |
|---|---|
composer wasm |
Build for production |
composer wasm:watch |
Auto-rebuild on file changes |
composer serve |
Start development server (auto-detects port from 9999) |
composer wasm:dev |
Development build with source maps |
How It Works
- Write Components - Create
.phpxfiles with JSX syntax - Compile - PHPX compiler transforms JSX → PHP
- Pack - WebAssembly packer bundles your app
- Run - PHP WebAssembly runtime executes in browser
- Interact - VRZNO bridge connects PHP ↔ JavaScript/DOM
Result: Your PHP code runs entirely in the browser, no server required!
Learn More
- Full Documentation: docs.phpx.dev (coming soon)
- Examples: Check the
src/directory for more component examples - Framework Docs: See
vendor/syntaxx/phpx-framework/README.md - Build System: See
vendor/syntaxx/phpx-build-tools/README.md
Requirements
- PHP 8.4+ (for local development/builds)
- Composer (dependency management)
- Modern Browser with WebAssembly support (Chrome, Firefox, Safari, Edge)
Features
🎯 React-like Experience
- JSX syntax:
<button onClick={$handler}>Click me</button> - Hooks:
useState(), state management - Component composition and props
- Declarative UI updates
⚡ Fast Development
- Vendor caching (10-15s → 0.4s rebuilds)
- Watch mode with auto-rebuild
- Port auto-detection (no conflicts!)
- Source maps for debugging
Troubleshooting
Build errors?
rm -rf build/ vendor/ composer install composer wasm
Port already in use?
The serve command auto-detects available ports (9999 → 9998 → 9997...).
Browser not loading? Check browser console (F12) for errors. Ensure WebAssembly is supported.
Contributing
Found a bug? Have a feature idea? We'd love your contribution!
- Fork the repository
- Create a feature branch
- Submit a pull request
License
MIT License - See LICENSE file for details.
Acknowledgments
Built with:
- PHPX Framework - React-like components for PHP
- PHPX Compiler - JSX to PHP transformer
- PHPX BuildTools - Build system
- PHP WebAssembly Runtime - PHP in the browser
统计信息
- 总下载量: 2
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-11-02