GUIインターフェース
フレームワークPHPShopとその使用の微妙なポイント。
プライマリフォームローダーの指定
多くの場合、管理部のインターフェースを作成する開発者は、既存のものをコピーしてファイルを作成します。その理由はわかりません。
// $PHPShopGUI->setAction($_GET['id'],'actionStart','none'); // $PHPShopGUI->getAction();
トリックは、ロード時に$ _GET ['id']がフォームに渡される場合、メソッド$ PHPShopGUI-> setAction($ _ GET ['id']、 'actionStart'、 'none')が使用されることです。 フォームにパラメーターがない場合は、setLoader()メソッドが使用されます。
// $PHPShopGUI->setLoader($_POST['editID'],'actionStart'); // $PHPShopGUI->getAction();
setLoader()の最初の引数として$ _POST ['editID']があります。これは、$ _POST ['editID']が未定義の場合、2番目の引数で指定されたactionStart関数が実行される依存マーカーとして機能します。
そして、$ _POST ['editID']が設定されている場合、同じファイルにあるはずのactionInsert()関数を実行します。 actionInsertアクションの宣言は、フォームに次の行を含めることにより、actionStart()関数で発生します。
$ContentFooter=$PHPShopGUI->setInput("submit","editID","","right",70,"","but","actionInsert"); $PHPShopGUI->setFooter($ContentFooter);
この挿入は[OK]ボタンをグラフィカルに表示し、クリックするとactionInsert()関数が実行されます。
デバッグ
デバッグには、有用な情報が表示されるPHPShopDebugデバッグパネルが使用されます。
ナビゲーションデータの取得
![画像](https://habrastorage.org/getpro/habr/post_images/079/090/e84/079090e84c4c04f1b181c38682b859a6.gif)
どのデータが何をどのように使用するのかを理解するために、デバッグパネルにリクエストメニューがあります。 クリックして完全な出力を表示することで、使用する有用なデータと変数名が得られます。次に例を示します。
GLOBALS['SysValue']['nav']: Array ( [truepath] => /price/ [path] => price [nav] => [name] => [id] => [page] => [querystring] => debug=request [query] => Array ( [debug] => request ) [longname] => /price/ [url] => /price/ )
たとえば、変数$ GLOBALS ['SysValue'] ['nav'] [path]には、価格セクションの住所などが含まれます。
デバッグパネルを有効にするには、パラメーター[my] debug = "true"を設定します。 config.ini構成ファイル内
通知を非表示(通知のデバッグ)
多くの場合、ローカルサーバーとホストは、PHPのすべてのデバッグメッセージを表示するオプションを楽しんでいます。 これは非常に不便であり、新参者はエラーの数に打ちのめされますが、これらはエラーではなく、開発者向けのデバッグメッセージです。 単なる人間にとって、彼らはヤギの第五の脚のようなものです。 もちろん、.htaccessファイル内のすべてのエラーを削除できますが、デバッグはより困難になります。
この問題を解決するために、PHPエラーを管理して独自のハンドラーを割り当てることができるエラーログモジュールがあります。 すべてのエラーはモジュールデータベースに書き込まれ、分析に使用できます。 モジュールデータベースに特定のイベントを記録するには、次のレコードを使用します。
trigger_error(" ", E_USER_NOTICE);
エラーログは、PHPShop.CMS Freeに含まれています。 モジュールのエラー出力レベルの最適な設定は、すべてのエラーの出力をブロックすることです。一方、すべてのエラーとデバッグはデータベースに書き込まれ、サイトの一般ユーザーを怖がらせません。
次のパートでは、サンプルモジュールを例として使用して、統合開発環境PHPShop IDEのインターフェースから新しいモジュールを作成する方法を調べます。
PS 最後のレッスンの経験から、多くの人がパート1を好まなかったことがわかりました。 質問や情報の誤解がある場合は、コメントでそれらを表現してください。 質問するものがない場合は、マイナスするだけでなく、ビジネスに取り掛かり、「生きているカルマ」を台無しにしないでください。