PHPShop.CMS Freeのモジュールの作成-つまずき(パート2)

PHPShop.CMS Freeをサイトビルダーとして使用して、Web開発者向けの有用なヒントを公​​開しています。 この記事では、GUIインターフェースの複雑さを分析し、デバッグパネルを操作します。



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デバッグパネルが使用されます。



ナビゲーションデータの取得




画像



どのデータが何をどのように使用するのかを理解するために、デバッグパネルにリクエストメニューがあります。 クリックして完全な出力を表示することで、使用する有用なデータと変数名が得られます。次に例を示します。



 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を好まなかったことがわかりました。 質問や情報の誤解がある場合は、コメントでそれらを表現してください。 質問するものがない場合は、マイナスするだけでなく、ビジネスに取り掛かり、「生きているカルマ」を台無しにしないでください。



All Articles