エンジンとスクリプトのアーキテクチャを使用して設計しますか? デスクトップ プログラムを開発するのに php と js を使用しますか?
Atitit: エンジンとスクリプト アーキテクチャを使用してデスクトップ プログラムを開発します。 。
1. エンジンとスクリプトのアーキテクチャ クロスプラットフォーム、デスクトップ、Web の利点 1
2. アーキテクチャ デスクトップ エンジン (Java、C#) 2
3. PHP デスクトップ エンジンのキー ポイント 2
3.1. : cs デスクトップと Web メソッド 2
3.2 の両方をサポートします。インターフェースは 2
3.3 を実装するために html5+css+js を使用します。Cli インターフェースは Web インターフェース 2
3.4 と相互運用します。 - プロセス 2
3.4.1. HTML5 インターフェイスはバックグラウンド エンジンがあるかどうかを判断します $parser=php c# java js2
3.4.2. デスクトップ エンジン dispatch3
3.4.3. php3 に転送するために cli エンジンを使用します
3.4 .4 . phprun.bat4
3.4.5. Php は、Web とデスクトップの両方のパラメータ転送をサポートします 43.4.6. デスクトップ プログラム $_GET パラメータ解析、$callback5 によるコールバック js
4. よくある質問と最近の実践 5
4.1. cmd.exe または直接の Bat を使用します。 。 5
5. その他の PHP デスクトップ プログラム ソリューション 6
6. 参考資料 6
1. エンジンとスクリプトのアーキテクチャ クロスプラットフォーム、デスクトップ、Web の利点
Java はクロスプラットフォームに非常に優れています。ただし、Java をコンパイルする必要があります。 。柔軟に変更する必要があり、スクリプト化できるデスクトップ プログラムが必要な場合は、エンジンとスクリプトのアーキテクチャを検討できます。 。 。デスクトップのバックエンドとして php または js を使用します。 。 。著者:: Laowa's Claw Attilax Ailong、EMAIL:1466519819@qq.com
2. アーキテクチャ デスクトップ エンジン (Java、C#)
3. PHP デスクトップ エンジンの重要なポイント
3.1. 実行環境:同時に cs デスクトップと Web メソッドをサポートします3.2. インターフェイスは html5+css+js を使用して実装されます
3.3. Cli インターフェイスは Web インターフェイスと相互運用します
3.4.
3.4.1. Html5 インターフェイスはバックグラウンド エンジンがあるかどうかを決定します $parser=php c# java js
dwr エンジンを使用して http param に変換します..
どのエンジンを使用するかについての一般的な設定を行うのが最善ですまたは、エンジンごとに異なるページを構成することもできます。 。
3.4.2. デスクトップ エンジンのディスパッチ
Proj.amazon splider
//JS 呼び出しの場合
public void sendNSCommand(Object message, Object message2, Object message3, Object message4, Object message5, Object message6, Object message7 )
String meth =(String) メッセージ;
=((文字列)メッセージ2);
= new ParamX().urlParams2Map((文字列)メッセージ2);
webBrowser1 . オブジェクト[0] = r;
with with 1. InvokeScript(callback, object);Console.WriteLine("==exe js rzt:" + o);
return;
}
3.4.3 。 cli引擎转出版にphp
class ParesrX
{
private string meth;
public ParesrX(string meth)
{
// TODO: メンバーの初期化を完了します
this.meth = meth;
}
internal String exec()
{
Map m =new Params2Map (this.meth);
if (((String)m.get("$parser") ).Equals("php"))
{
String urlparams = m.serialize();
String cmd = "@qut" + pathx.Startupパス() + "/phprun.bat@qut @qut" + pathx.StartupPath() + "/com.attilax/api.php@qut @qut" + urlparams + "@qut";
cmd=cmd.Replace("@qut",""");
コンソール。 WriteLine(cmd);
String r= new Cmd().RunCmd(cmd);
return r;
}
return "";
3.4.4. phprun.bat
@ d:
@"%~dp0php5.3.10php.exe" -c "%~dp0php5.3.10php.ini" -f %1 %2 %3
3.4.5。 Php同時サポートweb与桌面のパラメータ传递
/com.attilax/api.php@qut @qut" + urlparams + "@qut";
Web方式 api.php?urlparams....
3.4 .6. 桌面程序$_GETパラメータの解析、自定要引擎
if(count($_GET)==0) //cli mode
{
$param=$argv[1];
$GLOBALS["varx"]["argv"]=$argv ;
$_GET=urlParams2Map($param);
$GLOBALS["varx"]["get"]=$_GET ;
}
function urlParams2Map( $params) {
$o=array();
$a=explode('&',$params);
$GLOBALS["ヴァークス"]["a"]=$a ;
$GLOBALS["varx"]["params"]=$params;
foreach( $a as $k2=>$v2 )
{
$a2=explode("=",$v2);
$k=$a2[0];
$v=$a2[1];
$o[$k]=$v;
}
$GLOBALS["varx"]["o"]=$o ;
return $o;
}
3.4.7. 回调js 通过$callback
文字列 コールバック = (文字列)m.get("$callback");
String js2 = callback + "('" + r + "');";
object[0] d.exe またはダイレクト Bat。 。batメソッドの使用をお勧めします。 。それ以外の場合は、cmd.exe
String cmd = "@qut" + pathx.StartupPath() + "/phprun.bat@qut @qut" + pathx.StartupPath() + "/com.attilax/api.php@qut @qut" + urlparams + "@qut";
cmd=cmd.Replace("@qut",""");
正しい方法は、/C の後にすべての文字と二重引用符を追加することです:
2 つのコマンドを比較すると、多くの人はすぐにその理由を理解できるでしょう
ここには 2 つのコマンドがあり、それらはネストされているためです:
cmd.exe /C "command"
コマンドは cmd.exe です。 、2 つのパラメーターは /C と "command" です。ここでのコマンドは
5. その他の php デスクトップ プログラム ソリューション
php gtkWinBinder
6. 参考情報
PHP を使用してデスクトップ アプリケーションを開発する.htmlCMD 実行時の引用符の追加に関する FAQ - Demi-Moshi のブログ - ブログ チャンネル - CSDN.NET.html
C# で DOS コマンド (CMD コマンド) を実行 - Yang Youshan - ブログ チャンネル - CSDN.NET
paip.asp vbs CLI コマンドラインを介して PHP コードを呼び出します - attilax のコラム - ブログ チャンネル - CSDN.NET
paip シェル cmd コマンドを実行します uapi java php Python の概要 - attilax のコラム - ブログ チャンネル - CSDN NET

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

PHP開発における固体原理の適用には、次のものが含まれます。1。単一責任原則(SRP):各クラスは1つの機能のみを担当します。 2。オープンおよびクローズ原理(OCP):変更は、変更ではなく拡張によって達成されます。 3。Lischの代替原則(LSP):サブクラスは、プログラムの精度に影響を与えることなく、基本クラスを置き換えることができます。 4。インターフェイス分離原理(ISP):依存関係や未使用の方法を避けるために、細粒インターフェイスを使用します。 5。依存関係の反転原理(DIP):高レベルのモジュールと低レベルのモジュールは抽象化に依存し、依存関係噴射を通じて実装されます。

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

システムが再起動した後、UnixSocketの権限を自動的に設定する方法。システムが再起動するたびに、UnixSocketの許可を変更するために次のコマンドを実行する必要があります:sudo ...

PHP開発でPHPのCurlライブラリを使用してJSONデータを送信すると、外部APIと対話する必要があることがよくあります。一般的な方法の1つは、Curlライブラリを使用して投稿を送信することです。

記事では、入力検証、認証、定期的な更新など、脆弱性から保護するためのフレームワークの重要なセキュリティ機能について説明します。

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。
