pixelee/impulse
Composer 安装命令:
composer require pixelee/impulse
包简介
Impulse est une micro librairie PHP pour créer des composants dynamiques sans écrire de Javascript, inspiré de Vue3 Composition API et Livewire.
README 文档
README
Impulse est un micro-framework PHP/JS réactif pour créer des composants dynamiques et interactifs… sans sacrifier la simplicité ! Il permet de manipuler l’interface utilisateur en temps réel côté navigateur, via des fragments de DOM retournés en AJAX, tout en gardant la logique métier en PHP pur.
🚀 Fonctionnement
- Composant PHP : Vous codez la logique côté backend (état, méthodes, rendu HTML).
- Composant JS : Vous ajoutez des attributs impulse:* (impulse:input, impulse:click…) pour déclencher les updates.
- Rendu partiel : Seule la partie du composant concernée (data-impulse-part) est remplacée dans le DOM, pour une expérience ultra-fluide.
- Moteur de template flexible : Utilisez du HTML inline ou configurez un moteur comme Twig, Blade ou le vôtre en quelques secondes.
✨ Exemple de composant
namespace MyComponents; use Impulse\Core\Component; /** * @property string $name */ final class HelloUser extends Component { public function setup(): void { $this->state('name', ''); } #[Action] public function setName(string $name): void { $this->name = $name; } public function template(): string { $name = htmlspecialchars($this->name); return <<<HTML <div> <input type="text" impulse:input="setName" data-partial="preview" placeholder="Votre prénom..." /> <p>Bonjour <strong data-impulse-part="preview">$name</strong></p> </div> HTML; } public function style(): string { return <<<CSS div { font-family: sans-serif; padding: 1rem; } input { border: 1px solid #ccc; padding: 0.5rem; margin-bottom: 0.5rem; } p { color: #0d9488; font-weight: bold; } CSS; } }
⚡️ Points forts
- 🔬 Ultra léger : Pas de Virtual DOM ni dépendance frontend lourde.
- ⚡️ Ultra réactif : Seuls les fragments nécessaires sont mis à jour.
- 🧑💻 Dév ultra simple : On code du PHP, et ça marche… tout simplement.
- 🎯 Moderne : Fonctionne avec PHP 8+, ES2020+.
⚡️ Installation
1. Installer la librairie :
composer require pixelee/impulse
2. Ajoute les fichiers publics JS/CSS dans ton dossier public
Créez des liens symboliques du JS et du endpoint impulse.php dans votre dossier public :
ln -s ../vendor/pixelee/impulse/public/impulse.js public/impulse.js ln -s ../vendor/pixelee/impulse/public/impulse.php public/impulse.php
Astuce : Ce lien symbolique vous permet de profiter automatiquement des mises à jour via composer update, sans avoir à recopier le fichier.
Ajoutez le script JS dans vos layouts :
<script src="/public/impulse.js" defer></script>
3. (Optionnel) Configurer un moteur de template
Impulse permet d’utiliser un moteur externe comme Twig ou Blade. Pour cela :
php bin/impulse renderer:configure
Vous pourrez choisir le moteur souhaité et son installation sera automatisée.
Vous pouvez aussi créer votre propre moteur avec :
php bin/impulse make:renderer
Voir la documentation pour plus de détails.
La structure recommandée du projet est décrite dans docs/architecture.md.
4. Déclare tes composants
Place les composants dans src/Components/, (ou autres, mais adaptez le namespace).
use Impulse\ImpulseFactory; use MyComponents\HelloUser; $helloUser = ImpulseFactory::create(HelloUser::class, ['name' => 'John']); echo $helloUser->render();
📚 Pour les développeurs
Voir docs/SUMMARY.md pour apprendre à créer vos propres composants, utiliser les events impulse:*, et faire du rendu partiel proprement.
pixelee/impulse 适用场景与选型建议
pixelee/impulse 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 0 次下载、GitHub Stars 达 0, 最近一次更新时间为 2025 年 06 月 14 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 pixelee/impulse 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 pixelee/impulse 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 29
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-06-14