codad5/php-inex

这是一个帮助模拟 node.js 导入/导出功能的 PHP 库

v1.0.0 2022-12-05 01:32 UTC

This package is auto-updated.

Last update: 2024-09-05 05:22:02 UTC


README

这是一个模拟 node.js 导入功能的软件包。

安装方法

composer require codad5/php-inex

默认导出示例

导出数据
  • Export.js

    export default const greet = () => {
        console.log('hello')
    }
  • Export.php

    <?php
    $export = function(){
        echo "hello";
    }
导入数据
  • Import.js

    const greeting = require('Export')
    greeting(); // hello
  • Import.php

    <?php
        require __DIR__.'/vendor/autoload.php';
        use Codad5\PhpInex\Import;
        $greeting = Import::this('Export');
        $greeting(); // hello

多导出示例

导出数据
  • Export.js

    const greet = () => {
        console.log('hello')
    }
    const sum = (a, b) => {
         return a + b
    }
    export {greet, sum}
  • Export.php

    <?php
    $export['greet'] = function(){
        echo "hello";
    }
    
    $export['sum'] = function($a, $b){
        return $a + $b;
    }
导入数据
  • Import.js

    const {greet, sum} = require('Export')
    greet();
    console.log(sum(2,4)) // 6
  • Import.php

    <?php
        require __DIR__.'/vendor/autoload.php';
        use Codad5\PhpInex\Import;
        ["greet" => $greet, "sum" => $sum] = Import::this('Export');
        $greet(); // hello
        echo $sum(2,4) // 6

使用路由库

  • 对于 PHP,我们将使用 TrulyAo php-router
  • 对于 Node.js,我们将使用 Express.js
导出路由
  • routes/api.js

    const route = require('express').Router()
    
    route.get('/food', (req, res) => {
        res.json({
            'name' : "rice"
        })
    })
    
    export default route
  • routes/api.php

    <?php
    require __DIR__.'/vendor/autoload.php';
    use \Trulyao\PhpRouter\Router as Router;
    $route = new Router();
    $route->get('/food', function($req, $res){
        $res->json([
            'name' => "rice"
            ]);
    });
    $export = $route;
导入路由
  • Import.js

    const app = require('express')();
    const apiRoute = require('routes/api')
    
    app.get('', (req, res) => {
        res.send('welcome')
    })
    app.use('/api', apiRoute)
    
    // serving the application
    app.listen(4000)
  • Import.php

    <?php
    require __DIR__.'/vendor/autoload.php';
    use \Trulyao\PhpRouter\Router as Router;
    use Codad5\PhpInex\Import;
    
    $route = new Router();
    $apiRoute = Import::this('routes/api');
    
    $route->get('/', function($req, $res){
        $res->send('welcome');
    });
    $route->set_route('/api', $apiRoute);
    
    // serving the application
    $route->serve();

更多

您还可以导入非 PHP 文件,但您将获取其文件内容

即将推出

  • 格式化 JSON 导入

Aniezeofor Chibueze 使用 ❤️ 构建