タグ付けされた質問 「magento-ecg」

2
Magento ECG Coding Standardで多くのPHP関数が許可されないのはなぜですか?
Magento ECG Coding Standardは、Magento 1拡張の標準として(少なくとも一種)公式であるようです: https://github.com/magento-ecg/coding-standard しかし、私はすべてのルールの背後にある理由を理解していません。また、メッセージだけのコードスニッファールールはあまり役に立ちません。標準に関する詳細なドキュメントはありますか?一般的なベストプラクティスと開発者ガイドは知っていますが、これらのコーディング標準に関する具体的な情報は見つかりません。 私が最も悩むのは、PHP関数を使用しないことに関する厳格さです。 たとえば、PHP関数に関連するすべてのファイルシステムがすべて禁止されているのはなぜですか? 私はあなたが使用することになっている、と思うVarien_Io_File、Varien_File_Objectなどそれでもコア開発者は、すべてのVarienクラスを認識していないと、あなたは、多くの場合でのようなものを見つけますMage_ImportExport_Model_Import_Adapter_Csv: $this->_fileHandler = fopen($this->_source, 'r'); そのため、多くの場合、コアは最良の例ではありません。 他のIMHOの疑わしい禁止機能: mb_parse_str parse_str parse_url base64_decode ええ、それはバックドアで使用されていますが、禁止evalは十分であり、バイナリデータのエンコードなどの合法的なユースケースがあります。そしてjson_decode(これは禁じられていませんが)これ以外に利用できるコアヘルパーはありません。 ソース:https : //github.com/magento-ecg/coding-standard/blob/master/Sniffs/Security/ForbiddenFunctionSniff.php 基本的に、私の質問は次のように要約されます:この標準はどこに文書化されていますか?および/または「これらのネイティブPHP関数の代わりに使用するもの」のリストはありますか?

3
ECGコンプライアンス:方法
以下のようなものがあるcoding standardためMagentoの1と呼ばれます、ECG使用すべきではない、多くの物事は避けるべきどこかの方法が。 コードで「エラー」または「警告」をスローするすべてのケースをカバーするリストを作成してみましょう。 以下に、考えられるすべての警告のリストを示します。私はこの投稿を定期的に更新し、与えられた回答と投票された回答へのリンクを追加します。 注意:回答の重複を避けてください;) ダウンロード:https : //github.com/magento-ecg/coding-standard ECGスニフ クラス Mysql4 Mysql4クラスは廃止されました。 リソースモデルを書き換えるときに非推奨の「Mysql4」クラスを処理する方法 リソースフォルダーをMysql4からResourceに変更すると、Magento 1.9モジュールが奇妙に壊れる オブジェクトのインスタンス化 Magentoでは、オブジェクトの直接インスタンス化(クラス%s)は推奨されていません。 protected $disallowedClassPrefixes = array( 'Mage_', 'Enterprise_', ); ... PHP 後藤 gotoの使用はお勧めしません。 ... 名前空間 "'。$ exceptionClassName。'"クラスの名前空間が指定されていません。 ... プライベートクラスメンバー プライベートクラスメンバーが検出されました。 ... Var プライベートクラスメンバーが検出されました。 ... パフォーマンス コレクション数 Magentoデータコレクションの不要な読み込み。代わりにgetSize()メソッドを使用してください。 コレクションにアイテムがあるかどうかを確認するにはどうすればよいですか? FetchAll fetchAll()は、大きなデータセットの場合、メモリ効率が悪い場合があります。 ... GetFirstItem getFirstItem()は、コレクションのロード結果を1つのアイテムに制限しません。 GetFirstItem- https: …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.