皆さんこんにちは、php と phalanger の専門家です。私は主に c# で開発しています。
パート0
いくつかのサード パーティの php コード (phpseclib Crypt、File、Math、Net pure php 実装の一部、および ctr cyphermode で RSA を使用するいくつかのファイル) を phalanger でコンパイルし、C# から参照する必要があります。
ここで、既存のphpコードを編集し、純粋なモードでコンパイルする方法に関するいくつかのヒントを見つけました:
http://toasp.net/blog/aspnettexy.aspx/
パート1
Visual Studio プロジェクトではファイル インクルードが必要ないことを理解しており、それらをすべて php ファイルから削除しました。
例えば:
<?php
// the following line is not necessary so I commented it
// include 'fake/fake.php';// <= here is defined FakeClass
class myClass
{
function testFake()
{
$obj = new FakeClass();
// .. do some stuff
}
}
?>
パート2
また、コンストラクターで静的変数チェックを使用して、提案されているように定義を 1 回実行できるようにしました。
<?php
class myClass
{
function init_defines()
{// all my define here
}
static private $initalized = false;
public function __construct($param = defaultval)
{
parent::__construct($param);
if (!myClass::$initialized) // ehm is myClass::$initialized correct or just $initialized ??
{ $this->init_defines(); myClass::$initialized=true; }
}
}
?>
関数が存在するかどうかを確認する次のファイルを変更する方法がわかりません。
このファイルはすでに phalanger の実装に含まれているため、まったく必要ないのではないでしょうか??
事前に感謝します。パート 0 パート 1 またはパート 2 に最善の方法で対処する方法についての提案は大歓迎です。