1

こんにちは、私は zephir または php-cpp で php の拡​​張機能を作成して、以下のコードのようなコメント ブロックが php ファイルに追加されたときに、拡張機能から customMethod を呼び出すことを試みています。

<?php 
/* myNotation:my comment */ 
echo "Hello World"
?>

ソースが起動されたときにこのようなコメントがソースに追加された場合、記法myNotationがコメントに表示され、私のコメントとして値があることを検出する必要があります

これが私のサンプル拡張cppファイルです

 /**
 *  myExtention.cpp
 * 
 */

#include <iostream>
#include <phpcpp.h>

/**
 *  Namespace to use
 */
using namespace std;

/**
 *  HelloWorldEcho()
 *  echo parameter.
 *  @param      &params
 */
void HelloWorldEcho(Php::Parameters &params)
{
    cout << "Your Comment" << params<< endl;
}


// Symbols are exported according to the "C" language
extern "C" 
{
    // export the "get_module" function that will be called by the Zend engine
    PHPCPP_EXPORT void *get_module()
    {
        // create extension
        static Php::Extension extension("myExtention","1.0");

        // add function to extension
        extension.add<HelloWorldEcho>("HelloWorldEcho", {
            Php::ByVal("x", Php::Type::String)
            });

        // return the extension module
        return extension.module();
    }
}

そして今、私の拡張機能がコンパイルされてphp拡張機能に追加されたとき、私はこのようにphpファイルからそれを呼び出すことができます

<?php
/**
 *  HelloWorldEcho.php
 * 
 *  An example file to show the working of a php function call in C++.
 */

HelloWorldEcho("my comment");

主な質問は、以下のコードのようなコメントがあり、コメントをパラメーターとしてメソッドに渡すときに、拡張メソッドcall_php_functionを呼び出すにはどうすればよいかということです。

<?php 
/* myNotation:my comment */ 
echo "Hello World"
?>
4

0 に答える 0