{"id":24390,"date":"2021-05-12T09:23:00","date_gmt":"2021-05-12T06:23:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=24390"},"modified":"2021-10-17T19:17:54","modified_gmt":"2021-10-17T16:17:54","slug":"parandage-oma-laraveli-kodeerimisstandardeid-grumphp-abil","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/et\/parandage-oma-laraveli-kodeerimisstandardeid-grumphp-abil\/","title":{"rendered":"Parandage oma Laraveli kodeerimisstandardeid GrumPHP abil"},"content":{"rendered":"<p>\u00dcksk\u00f5ik, kas olete kogenud arendaja v\u00f5i v\u00e4rskem, peaksite paremaks arendajaks muutmiseks parandama oma kodeerimisstandardeid. Kas t\u00f6\u00f6tate \u00fcksi v\u00f5i meeskonnaga, on alati hea tava, et kogu projekti v\u00e4ltel on samad kodeerimiskonventsioonid. Kuid k\u00f5igis kohtades samade standardite s\u00e4ilitamine pole lihtne, kui kontrollime seda k\u00e4sitsi. V\u00f5ib juhtuda, et lasite standardist m\u00f6\u00f6da, isegi kui otsustate seda j\u00e4rgida. See on inimlik viga, me j\u00e4tsime vahel tegemata asjadest, mida me ei peaks. Selliste probleemide v\u00e4ltimiseks peaksime oma t\u00f6\u00f6voo automatiseerima. Seda tehes hoolitseb meie automatiseeritud s\u00fcsteem talle m\u00e4\u00e4ratud \u00fclesande eest ja 99,99% ajast see kunagi ei \u00f5nnestu.<\/p>\n<p><a href=\"https:\/\/github.com\/phpro\/grumphp\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">GrumPHP<\/a> on raamatukogu, mis hoiab silma peal teie iga giti p\u00fchendumisel. Kui teie kood ei j\u00e4rgi antud standardeid, ei luba teek teil koodi siduda. K\u00f5igepealt peaksite oma koodi parandama ja seej\u00e4rel saate ainult Gitile p\u00fchenduda.<\/p>\n<p>K\u00f5lab h\u00e4sti? Vaatame seda tegevuses.<\/p>\n<h3>Alustamine<\/h3>\n<p>Kuna me r\u00e4\u00e4gime Laraveli kodeerimisstandarditest, peaks teil olema Laraveli projekti h\u00e4\u00e4lestus. Kui teil seda pole, installige see k\u00e4suga:<\/p>\n<pre><code>composer create-project --prefer-dist laravel\/laravel laravel-dev<\/code><\/pre>\n<p>Siin on &#8216;laravel-dev&#8217; teie projekti nimi. Avage oma projekti juurkataloogis terminal ja l\u00e4htestage git.<\/p>\n<pre><code>git init<\/code><\/pre>\n<p>GrumPHP kasutamiseks peab teie projektis olema Git. Siin see t\u00f6\u00f6tab. Kui installime GrumPHP, loob see <code>.git<\/code>kausta sisemise konksu ja j\u00e4lgib seej\u00e4rel iga p\u00fchendumist.<\/p>\n<p>N\u00fc\u00fcd lisage oma praegused failid gitile, kasutades \u00fckshaaval allolevaid k\u00e4ske.<\/p>\n<pre><code>git add -A<\/code><\/pre>\n<pre><code>git commit -m 'initial commit'<\/code><\/pre>\n<h3>Parandage Laraveli kodeerimise standardit, kasutades GrumPHP-d<\/h3>\n<p>Kui oleme oma Laraveli projektis giti seadistanud, on hea minna GrumPHP teegi installima. Selle installimiseks k\u00e4ivitage j\u00e4rgmine k\u00e4sk:<\/p>\n<pre><code>composer require --dev phpro\/grumphp<\/code><\/pre>\n<p>Kui pakett on installitud, peaksite terminalis n\u00e4gema allolevat teadet:<\/p>\n<p>Vaata ette! GrumPHP nuusutab teie kohustusi!<\/p>\n<p>See t\u00e4hendab, et pakett on edukalt installitud. J\u00e4rgmisena avage <code>grumphp.yml<\/code>fail ja lisage sellesse allolev kood.<\/p>\n<pre><code>parameters:\n\u00a0\u00a0\u00a0\u00a0git_dir:. \u00a0\u00a0\u00a0\u00a0bin_dir: vendor\/bin\n\u00a0\u00a0\u00a0\u00a0tasks: { \n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0phpcs: {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0standard: PSR2\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0\u00a0}<\/code><\/pre>\n<p>\u00dclaltoodud koodis on oluline osa rida <code>standard: PSR2<\/code>. Siinkohal \u00fctleme GrumPHP-le, et nad kontrolliksid PSR2 kodeerimiskonventsioone failidega, mida kavatsetakse siduda. Kasutasime siin PSR2, kuna Laravel j\u00e4rgib PSR2 kodeerimisstandardeid. P\u00e4rast seda t\u00e4idaks GrumPHP oma \u00fclesande ja teavitaks meid veast konsoolis, kui see leitakse.<\/p>\n<p>Kui te ei ole kodeerimise standardset teeki installinud, k\u00e4ivitage selle installimiseks j\u00e4rgmine k\u00e4sk:<\/p>\n<pre><code>composer require \"squizlabs\/php_codesniffer=*\"<\/code><\/pre>\n<p>Selle raamatukogu tuum sisaldab PSR2 kodeerimisstandardeid. Niisiis, GrumPHP kontrollib teie Laraveli koodi PSR2 alusel ja soovitab teil muudatusi teha, kui te ei j\u00e4rgi PSR2 standardeid.<\/p>\n<p>Oletame, et meil on <code>ImageController.php<\/code>projektis fail ja selles on j\u00e4rgmine koodijupp .<\/p>\n<pre><code>public function store(Request $request)\n{\n\u00a0\u00a0\u00a0\u00a0if($request-&gt;hasFile('profile_image')) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/get filename with extension\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$filenamewithextension = $request-&gt;file('profile_image')-&gt;getClientOriginalName();\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/get filename without extension\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$filename = pathinfo($filenamewithextension, PATHINFO_FILENAME);\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/get file extension\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$extension = $request-&gt;file('profile_image')-&gt;getClientOriginalExtension();\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/filename to store\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$filenametostore = $filename.'_'.time().'.'.$extension;\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/Upload File\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$request-&gt;file('profile_image')-&gt;storeAs('public\/profile_images', $filenametostore);\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if(!file_exists(public_path('storage\/profile_images\/crop'))) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0mkdir(public_path('storage\/profile_images\/crop'), 0755);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ crop image\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$img = Image::make(public_path('storage\/profile_images\/'.$filenametostore));\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$croppath = public_path('storage\/profile_images\/crop\/'.$filenametostore);\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$img-&gt;crop($request-&gt;input('w'), $request-&gt;input('h'), $request-&gt;input('x1'), $request-&gt;input('y1'));\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$img-&gt;save($croppath);\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ you can save crop image path below in database\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$path = asset('storage\/profile_images\/crop\/'.$filenametostore);\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return redirect('image')-&gt;with(['success' =&gt; \"Image cropped successfully.\", 'path' =&gt; $path]);\n\u00a0\u00a0\u00a0\u00a0}\n}<\/code><\/pre>\n<p>J\u00e4rgmisena proovige siduda \u00fclaltoodud kood ja peaksite n\u00e4gema v\u00e4ljundit nagu allpool:<\/p>\n<p>See annab \u00fcksikasjades kodeerimisvea koos rea numbri ja kirjeldusega. V\u00f5ite m\u00e4rgata ka rida:<\/p>\n<p>PHPCBF SAAB 2 M\u00c4RGISTATUD SNIFF-RIKKUMIST AUTOMAATSELT PARANDADA<\/p>\n<h3>Kuidas kasutada PHPCBF-k\u00e4sku<\/h3>\n<p>K\u00e4ivitades PHPCBF-k\u00e4su, saame m\u00f5ned vead automaatselt parandada. Minge terminalist kataloogi &#8216;vendor \/ bin&#8217; ja k\u00e4ivitage PHPCBF-i abil vigade parandamiseks j\u00e4rgmine k\u00e4sk.<\/p>\n<pre><code>PHPCBF --standard=PSR2 PATH_TO_YOUR_CONTROLLER<\/code><\/pre>\n<p>Asendage kohat\u00e4ide tegelike v\u00e4\u00e4rtustega. T\u00f5en\u00e4oliselt, kui kasutate seda k\u00e4sku Git bashis, kuvatakse t\u00f5rge &quot;bash: phpcbf: k\u00e4sk ei leitud&quot;. Sel juhul k\u00e4ivitage see k\u00e4sk Windowsi k\u00e4suviibal. Meie puhul n\u00e4eme terminalis j\u00e4rgmist v\u00e4ljundit.<\/p>\n<p>Pange t\u00e4hele, et k\u00f5iki vigu ei lahenda PHPCBH. M\u00f5nikord peate ka vea k\u00e4sitsi lahendama. N\u00fc\u00fcd, kui proovite koodi kinnitada, peaksite saama eduteate ja kood ka siduma.<\/p>\n<h3>L\u00f5pum\u00f5tted<\/h3>\n<p>Selles \u00f5petuses oleme arutanud Laraveli kodeerimisstandardite t\u00e4iustamist GrumPHP abil. Kuid see ei piirdu ainult Laraveliga. Seda teeki saate kasutada ka oma teises CMS-i raamistikus. Kasutame oma Laraveli, WordPressi ja PHP p\u00f5hiprojektide jaoks GrumPHP teeki. See aitab meil t\u00f5esti oma kodeerimisstiili j\u00e4rjepidevalt s\u00e4ilitada.<\/p>\n<h4>seotud artiklid<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/et\/php_codesniffer-teek-teie-php-kodeerimisstandardite-taiustamiseks\/\" title=\"PHP_CodeSniffer - teek teie PHP kodeerimisstandardite t\u00e4iustamiseks\">PHP_CodeSniffer &#8211; teek teie PHP kodeerimisstandardite t\u00e4iustamiseks<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/et\/juhend-wordpressi-kodeerimisstandardite-taiustamiseks\/\" title=\"Juhend WordPressi kodeerimisstandardite t\u00e4iustamiseks\">Juhend WordPressi kodeerimisstandardite t\u00e4iustamiseks<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>GrumPHP on raamatukogu, mis aitab meil Laraveli kodeerimisstandardeid t\u00e4iustada. See lihtsalt kontrollib iga teie Giti kohustust ja leidis, et m\u00f5ni viga eba\u00f5nnestub.<\/p>\n","protected":false},"author":1,"featured_media":20640,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[498],"tags":[842],"class_list":["post-24390","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel2-5","tag-affiai-et"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/posts\/24390","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/comments?post=24390"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/posts\/24390\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/media\/20640"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/media?parent=24390"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/categories?post=24390"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/tags?post=24390"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}