ম্যাজেন্টো 1 এরcoding standard
জন্য একটির মতো কিছু রয়েছে যা বলা হয় ECG
যেখানে অসংখ্য জিনিস এড়ানো উচিত বা এমন পদ্ধতিগুলি ব্যবহার করা উচিত নয়।
আসুন একটি তালিকা তৈরি করার চেষ্টা করুন যা আপনার কোডগুলিতে "ত্রুটি" বা "সতর্কতা" ছুঁড়েছে এমন সমস্ত কেসকে কভার করে।
নীচে আপনি সমস্ত সম্ভাব্য সতর্কতা সহ একটি তালিকা পাবেন। আমি নিয়মিত বিরতিতে এই পোস্টটি আপডেট করব এবং প্রদত্ত এবং উত্তোলিত উত্তরগুলির লিঙ্ক করব।
দ্রষ্টব্য: দয়া করে সদৃশ উত্তরগুলি এড়ানোর চেষ্টা করুন;)
ডাউনলোড: https://github.com/magento-ecg/coding- স্ট্যান্ডার্ড
ইসিজি স্নিফস
ক্লাস
Mysql4 ক্লাসগুলি অপ্রচলিত।
- রিসোর্স মডেলগুলি পুনর্লিখনের সময় কীভাবে হ্রাসকারী "মাইএসকিএল 4" ক্লাস পরিচালনা করবেন
- Mysql4 থেকে রিসোর্স থেকে রিসোর্স ফোল্ডার পরিবর্তন করার সময় ম্যাজেন্টো 1.9 মডিউল অদ্ভুতভাবে ভাঙ্গছে
ডাইরেক্ট অবজেক্ট ইনস্ট্যান্টিয়েশন (ক্লাস% s) ম্যাজেন্টোতে নিরুৎসাহিত করা হয়েছে।
protected $disallowedClassPrefixes = array(
'Mage_',
'Enterprise_',
);
...
পিএইচপি
গোটো ব্যবহার নিরুৎসাহিত করা হয়।
...
"" এর জন্য নেমস্পেস। $ ব্যতিক্রমধর্ম শ্রেণি নাম। '"শ্রেণি নির্দিষ্ট করা হয়নি।
...
প্রাইভেট ক্লাসের সদস্য সনাক্ত হয়েছে।
...
প্রাইভেট ক্লাসের সদস্য সনাক্ত হয়েছে।
...
কর্মক্ষমতা
একটি ম্যাজেন্টো ডেটা সংগ্রহের অপ্রয়োজনীয় লোড। পরিবর্তে getSize () পদ্ধতিটি ব্যবহার করুন।
ফ্যাচএল () বড় ডেটা সেটগুলির জন্য মেমরি অদক্ষ হতে পারে।
...
getFirstItem () সংগ্রহ লোডের ফলাফলকে একটি আইটেমের মধ্যে সীমাবদ্ধ করে না।
- গেটফার্সআইটেম - https://magento.stackexchange.com/a/179309/46249
অ্যারে আকারের গণনা ফাংশন% s লুপটিতে সনাক্ত হয়েছে
মডেল এলএসডি পদ্ধতি% s লুপটিতে সনাক্ত হয়েছে
লুপটিতে ডেটা লোড% s পদ্ধতি সনাক্ত করা হয়েছে
protected $countFunctions = array(
'sizeof',
'count'
);
protected $modelLsdMethods = array(
'load',
'save',
'delete'
);
নিরাপত্তা
% S শ্রেণিতে% s () ACL পদ্ধতি অনুপস্থিত।
const PARENT_CLASS_NAME = 'Mage_Adminhtml_Controller_Action';
const REQUIRED_ACL_METHOD_NAME = '_isAllowed';
...
public $forbiddenFunctions = array(
'^is_dir' => null,
'^is_file$' => null,
'^pathinfo$' => null,
);
...
public $forbiddenFunctions = array(
'^assert$' => null,
'^bind_textdomain_codeset$' => null,
'^bindtextdomain$' => null,
'^bz.*$' => null,
'^call_user_func$' => null,
'^call_user_func_array$' => null,
'^chdir$' => null,
'^chgrp$' => null,
'^chmod$' => null,
'^chown$' => null,
'^chroot$' => null,
'^com_load_typelib$' => null,
'^copy$' => null,
'^create_function$' => null,
'^curl_.*$' => null,
'^cyrus_connect$' => null,
'^dba_.*$' => null,
'^dbase_.*$' => null,
'^dbx_.*$' => null,
'^dcgettext$' => null,
'^dcngettext$' => null,
'^dgettext$' => null,
'^dio_.*$' => null,
'^dirname$' => null,
'^dngettext$' => null,
'^domxml_.*$' => null,
'^exec$' => null,
'^fbsql_.*$' => null,
'^fdf_add_doc_javascript$' => null,
'^fdf_open$' => null,
'^fopen$' => null,
'^fsockopen$' => null,
'^ftp_.*$' => null,
'^fwrite$' => null,
'^gettext$' => null,
'^gz.*$' => null,
'^header$' => null,
'^highlight_file$' => null,
'^ibase_.*$' => null,
'^id3_set_tag$' => null,
'^ifx_.*$' => null,
'^image.*$' => null,
'^imap_.*$' => null,
'^ingres_.*$' => null,
'^ircg_.*$' => null,
'^ldap_.*$' => null,
'^link$' => null,
'^mail$' => null,
'^mb_send_mail$' => null,
'^mkdir$' => null,
'^move_uploaded_file$' => null,
'^msession_.*$' => null,
'^msg_send$' => null,
'^msql$' => null,
'^msql_.*$' => null,
'^mssql_.*$' => null,
'^mysql_.*$' => null,
'^odbc_.*$' => null,
'^opendir$' => null,
'^openlog$' => null,
'^ora_.*$' => null,
'^ovrimos_.*$' => null,
'^parse_ini_file$' => null,
'^parse_str$' => null,
'^parse_url$' => null,
'^parsekit_compile_string$' => null,
'^passthru$' => null,
'^pcntl_.*$' => null,
'^posix_.*$' => null,
'^pfpro_.*$' => null,
'^pfsockopen$' => null,
'^pg_.*$' => null,
'^php_check_syntax$' => null,
'^popen$' => null,
'^print_r$' => null,
'^printf$' => null,
'^proc_open$' => null,
'^putenv$' => null,
'^readfile$' => null,
'^readgzfile$' => null,
'^readline$' => null,
'^readlink$' => null,
'^register_shutdown_function$' => null,
'^register_tick_function$' => null,
'^rename$' => null,
'^rmdir$' => null,
'^scandir$' => null,
'^session_.*$' => null,
'^set_include_path$' => null,
'^set_ini$' => null,
'^set_time_limit$' => null,
'^setcookie$' => null,
'^setlocale$' => null,
'^setrawcookie$' => null,
'^shell_exec$' => null,
'^sleep$' => null,
'^socket_.*$' => null,
'^stream_.*$' => null,
'^sybase_.*$' => null,
'^symlink$' => null,
'^syslog$' => null,
'^system$' => null,
'^touch$' => null,
'^trigger_error$' => null,
'^unlink$' => null,
'^vprintf$' => null,
'^mysqli.*$' => null,
'^oci_connect$' => null,
'^oci_pconnect$' => null,
'^quotemeta$' => null,
'^sqlite_popen$' => null,
'^time_nanosleep$' => null,
'^base64_decode$' => null,
'^base_convert$' => null,
'^basename$' => null,
'^chr$' => null,
'^convert_cyr_string$' => null,
'^dba_nextkey$' => null,
'^dns_get_record$' => null,
'^extract$' => null,
'^fdf_.*$' => null,
'^fget.*$' => null,
'^fread$' => null,
'^fflush$' => null,
'^get_browser$' => null,
'^get_headers$' => null,
'^get_meta_tags$' => null,
'^getallheaders$' => null,
'^getenv$' => null,
'^getopt$' => null,
'^headers_list$' => null,
'^hebrev$' => null,
'^hebrevc$' => null,
'^highlight_string$' => null,
'^html_entity_decode$' => null,
'^ibase_blob_import$' => null,
'^id3_get_tag$' => null,
'^import_request_variables$' => null,
'^ircg_nickname_unescape$' => null,
'^ldap_get_values$' => null,
'^mb_decode_mimeheader$' => null,
'^mb_parse_str$' => null,
'^mcrypt_decrypt$' => null,
'^mdecrypt_generic$' => null,
'^msg_receive$' => null,
'^ngettext$' => null,
'^ob_get_contents$' => null,
'^ob_get_flush$' => null,
'^rawurldecode$' => null,
'^shm_get_var$' => null,
'^stripcslashes$' => null,
'^stripslashes$' => null,
'^token_get_all$' => null,
'^unpack$' => null,
'^convert_uudecode$' => null,
'^iconv_mime_decode$' => null,
'^iconv_mime_decode_headers$' => null,
'^iconv_mime_encode$' => null,
'^iconv_set_encoding$' => null,
'^php_strip_whitespace$' => null,
'^addcslashes$' => null,
'^addslashes$' => null,
'^escapeshellarg$' => null,
'^escapeshellcmd$' => null,
'^gettype$' => null,
'^var_dump$' => null,
'^tempnam$' => null,
'^realpath$' => null,
'^linkinfo$' => null,
'^lstat$' => null,
'^stat$' => null,
'^lchgrp$' => null,
'^lchown$' => null,
'^show_source$' => null,
'^is_executable$' => null,
'^is_link$' => null,
'^is_readable$' => null,
'^is_writable$' => null,
'^is_writeable$' => null,
'^is_uploaded_file$' => null,
'^glob$' => null,
'^ssh2_.*$' => null,
'^delete$' => null,
'^file.*$' => null,
);
- ...
- কার্ল_: - https://magento.stackexchange.com/a/178642/46249
- file_exists - https://magento.stackexchange.com/a/178641/46249
- ...
"% s" বিবৃতি সনাক্ত হয়েছে। ফাইল ম্যানিপুলেশন নিরুৎসাহিত করা হয়।
... বিবৃতি কোনও ফাংশন নয়, কোনও বন্ধনীর প্রয়োজন নেই।
... ইউআরএল পাস করা নিষিদ্ধ।
... প্রতিযোগিতা নিষিদ্ধ।
... ভিতরে ভেরিয়েবলগুলি নিরাপত্তাহীন।
public $urlPattern = '#(https?|ftp)://.*#i';
...
ব্যাক কোট স্ট্রিং ধ্রুবকের ভুল ব্যবহার। পিছনে উদ্ধৃতিগুলি সর্বদা স্ট্রিংয়ের অভ্যন্তরে থাকা উচিত।
% S ভাষা নির্মাণের ব্যবহারকে নিরুৎসাহিত করা হয়েছে।
return array(
T_EXIT,
T_ECHO,
T_PRINT,
T_BACKTICK
);
...
% S সুপারগ্লোবালের সরাসরি ব্যবহার সনাক্ত করা হয়েছে।
public $superGlobalErrors = array(
'$GLOBALS',
'$_GET',
'$_POST',
'$_SESSION',
'$_REQUEST',
'$_ENV'
);
public $superGlobalWarning = array(
'$_FILES',
'$_COOKIE',
'$_SERVER',
);
SQL
সম্ভাব্য কাঁচা এসকিউএল বিবরণ% s সনাক্ত হয়েছে
public $statements = array(
'SELECT',
'UPDATE',
'INSERT',
'CREATE',
'DELETE',
'ALTER',
'DROP'
);
public $queryFunctions = array(
'query',
'raw_query'
);
...
সম্ভাব্য ধীর এসকিউএল বিবরণ% s সনাক্ত হয়েছে
সম্ভাব্য ধীর এসকিউএল পদ্ধতি% s সনাক্ত হয়েছে
public $adapterMethods = array(
'group',
'having',
'distinct',
'addLikeEscape',
'escapeLikeValue',
'union',
'orHaving',
);
public $rawStatements = array(
'GROUP BY',
'HAVING',
'DISTINCT',
'LIKE',
'UNION',
);
...
স্ট্রিংস
% S এ সম্ভাব্য নির্বাহযোগ্য নিয়মিত অভিব্যক্তি। নিশ্চিত করুন যে প্যাটার্নটিতে "ই" সংশোধক নেই
public $functions = array(
'preg_replace',
);
...
দুটি স্ট্রিং সংহত করতে + অপারেটরের ব্যবহার সনাক্ত করা হয়েছে
...
সনাক্তকারী অপারেটর ===% s ফাংশনের রিটার্ন মান পরীক্ষার জন্য ব্যবহৃত হয় না
public $functions = array(
'strpos',
'stripos',
);
- http://php.net/manual/en/function.strpos.php#refsect1-function.strpos-examples
- http://php.net/manual/en/function.stripos.php#refsect1-function.stripos-examples
সেরা অনুশীলনের জন্য সম্পর্কিত প্রশ্ন ও উত্তর answers