UNPKG

phun

Version:

Seamlessly integrate PHP execution within your JavaScript/TypeScript projects with Phun.

85 lines (48 loc) โ€ข 2.14 kB
# PHP ๐Ÿ’™ Bun (Phun) Phun offers a seamless PHP integration for JavaScript/TypeScript projects, powered by Bun. It's a great choice, especially if you prefer PHP over JSX/TSX. ## ๐Ÿ“‹ Requirements Ensure you have the following installed: - [**PHP**](https://www.php.net/downloads): Required for executing PHP code. - [**Bun**](https://bun.sh/docs/installation): Needed for efficient PHP subprocess execution. ## โšก๏ธInstallation To install Phun, execute the following command with [Bun](https://bun.sh): ```shell bun add phun ``` ## ๐Ÿ”ง Configuration Configure Phun in your project by defining the files to import in [the Bun preload file](https://bun.sh/docs/runtime/bunfig#preload): ```typescript import { register } from "phun"; register(); ``` ## ๐Ÿ“– Usage Phun provides multiple ways to incorporate PHP code into your JavaScript/TypeScript projects. ### Rendering PHP Code You can render PHP code directly using the `render()` function: ```typescript import { render } from 'phun'; const result = await render(`<?= "Hello, $name!" ?>`, { name: 'Sigui' }); console.log(result); // Output: Hello, Sigui! ``` ### Importing PHP Modules You can import and use PHP modules in your JavaScript/TypeScript projects: ```typescript import my_php_module from "my/php/module.php"; console.log(my_php_module()); ``` ### Dynamic Using with Data You can pass data to PHP code for dynamic rendering using the `use()` function: ```typescript import { use } from "phun"; const my_php_module = await use(import.meta.dir + '/my/php/module.php', { name: "Sigui", username: "siguici" }); console.log(my_php_module); ``` ## ๐Ÿ‘ Contributions Contributions are welcome! You can: - **Open Issues**: Report bugs or suggest improvements. - **Submit Pull Requests**: Contribute bug fixes, new features, or documentation enhancements. - **Provide Feedback**: Share your thoughts and ideas to help improve Phun. Let's collaborate and make Phun even more awesome together! ## ๐Ÿ“„ License This project is licensed under the MIT License. [See the LICENSE file for more details](./LICENSE.md).