{"id":9,"date":"2008-05-28T12:36:17","date_gmt":"2008-05-28T11:36:17","guid":{"rendered":"http:\/\/frosteyes.dk\/index.php\/linux\/kodestandard-for-php"},"modified":"2021-06-07T09:57:05","modified_gmt":"2021-06-07T08:57:05","slug":"kodestandard-for-php","status":"publish","type":"post","link":"http:\/\/www.frosteyes.dk\/index.php\/linux\/kodestandard-for-php","title":{"rendered":"Kodestandard for PHP"},"content":{"rendered":"<p>I forbindelse med at jeg skal lave en stak projekter i PHP, har jeg ledt efter en kodestandard sammen med et v\u00e6rkt\u00f8j til at h\u00e5ndtere denne, da det g\u00f8r projekterne lettere at vedligeholde senere.<\/p>\n<p>Som beskrevet hos <a href=\"http:\/\/www.tiobe.com\/index.php\/content\/paperinfo\/HowToUseCodingStandards.html\" title=\"TIOBE\" target=\"_blank\" rel=\"noopener\">TIOBE<\/a> kan det at lave og benytte en kodestandard ses som f\u00f8lgende 7 trins proces.<\/p>\n<ol>\n<li>Define Coding Standard<\/li>\n<li>Select Code Checking Tool<\/li>\n<li>Customize Code Checking Tool<\/li>\n<li>Integrate in SW Environment<\/li>\n<li>Set up Quality Database<\/li>\n<li>Define Quality Targets<\/li>\n<li>Enforce Compliancy<\/li>\n<\/ol>\n<p>Da projekterne ikke er specielt store, og der ikke er mange udviklere p\u00e5, har jeg valgt at springe quality databasen over, og kun benytte punkt 1, 2, 3, 4 og 7.<\/p>\n<p>Som udgangspunkt kan man jo lave sin egen standard. Dette tager dog lang tid, og kr\u00e6ver stadig vedligeholdelse, samt udvikling af v\u00e6rkt\u00f8j til at kontrollere overholdelse af denne. Derfor kan der v\u00e6re mange fordele i at adoptere en anerkendt standard.<\/p>\n<p>Her er valgt at adoptere <a href=\"http:\/\/pear.php.net\/manual\/en\/standards.php\" title=\"PEAR PHP standard\" target=\"_blank\" rel=\"noopener\">PHP PEAR standarden<\/a>, da dette er en anerkendt standard i PHP milj\u00f8et, og der er meget PHP kode der bygger p\u00e5 denne. Samtidig er den meget gennemarbejdet.<\/p>\n<p>Den v\u00e6sentlige fordel ved at benytte PEAR standarden, er at PHP teamet ogs\u00e5 har udviklet et v\u00e6rkt\u00f8j til at kontrollere kodestandarden i form af<a href=\"http:\/\/pear.php.net\/package\/PHP_CodeSniffer\/\" title=\"CodeSniffer\" target=\"_blank\" rel=\"noopener\"> PHP_CodeSniffer<\/a>, s\u00e5 punkt 1,2 og 3 kan klares af en gang.<\/p>\n<h3>Installering af v\u00e6rkt\u00f8j<\/h3>\n<p>F\u00f8rst skal php pear installeres.<br \/>\n<strong> sudo apt-get install php-pear<\/strong><\/p>\n<p>Opdater pear databasen.<br \/>\n<strong> sudo pear channel_update pear.php.net<\/strong><\/p>\n<p>Installer kodestandarden.<br \/>\n<strong> sudo pear install PHP_CodeSniffer<\/strong><\/p>\n<p>Med dette kommer kommandoen<strong> phpcs<\/strong> som kan benyttes til at kontrollere php kode for om den overholder standarden.<\/p>\n<p>Hvad punkt 4 ang\u00e5r, s\u00e5 benytter jeg bluefish som web editor, da denne er ekstrem hurtig (letv\u00e6gts editor) p\u00e5 min gamle 1 GHz pentium 3, samtidig har den nogen p\u00e6nt advanceret muligheder der g\u00f8r den genial til web udvikling. Her integrere jeg phpcs, ved at g\u00e5 ind i <strong>Rediger -&gt; Pr\u00e6ferencer<\/strong> og v\u00e6lger uddata parsere, og tilf\u00f8jer phpcs p\u00e5 samme m\u00e5de som de andre muligheder.<\/p>\n<p>Med dette haves en kodestandard for PHP, samt v\u00e6rkt\u00f8j der integrere med ens IDE i form af phpcs integreret med bluefish. Alt i alt en stor hj\u00e6lp n\u00e5r man \u00f8nsker at skrive PHP kode til lidt st\u00f8rre projekter end single hygge projekter.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I forbindelse med at jeg skal lave en stak projekter i PHP, har jeg ledt efter en kodestandard sammen med et v\u00e6rkt\u00f8j til at h\u00e5ndtere denne, da det g\u00f8r projekterne lettere at vedligeholde senere. Som beskrevet hos TIOBE kan det at lave og benytte en kodestandard ses som f\u00f8lgende 7 trins proces. Define Coding Standard &hellip; <a href=\"http:\/\/www.frosteyes.dk\/index.php\/linux\/kodestandard-for-php\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Kodestandard for PHP<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,6],"tags":[],"class_list":["post-9","post","type-post","status-publish","format-standard","hentry","category-linux","category-projects"],"_links":{"self":[{"href":"http:\/\/www.frosteyes.dk\/index.php\/wp-json\/wp\/v2\/posts\/9","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.frosteyes.dk\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.frosteyes.dk\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.frosteyes.dk\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.frosteyes.dk\/index.php\/wp-json\/wp\/v2\/comments?post=9"}],"version-history":[{"count":1,"href":"http:\/\/www.frosteyes.dk\/index.php\/wp-json\/wp\/v2\/posts\/9\/revisions"}],"predecessor-version":[{"id":574,"href":"http:\/\/www.frosteyes.dk\/index.php\/wp-json\/wp\/v2\/posts\/9\/revisions\/574"}],"wp:attachment":[{"href":"http:\/\/www.frosteyes.dk\/index.php\/wp-json\/wp\/v2\/media?parent=9"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.frosteyes.dk\/index.php\/wp-json\/wp\/v2\/categories?post=9"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.frosteyes.dk\/index.php\/wp-json\/wp\/v2\/tags?post=9"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}