RのWeb制作

Webサービス制作のための技術情報を。

Web制作

PHPのコーディング規則、PSRを学ぶ(2)

投稿日:

PHPのコーディング規則、PSRを学ぶ(1)の続きです。
今回は基本中の基本、文字コードと改行コードを設定します。

自宅サーバーで試します。(自宅サーバーの作り方はこちら
そのための基本設定も行います。

1.「php.ini」の編集(開発者モードへ変更)

「C:\xampp\php」フォルダにある「php.ini」をテキストエディタで開きます。

「php.ini」の535行目(error_reporting)を以下のコードに変更し、保存します。

error_reporting=E_ALL

これで全てのエラーが表示されるようになります。

2.自宅サーバーを起動する

「XAMPP」を起動します。
XAMPPの項目の「Apache」の「Start」をクリックして自宅サーバーを起動します。

3.テスト用フォルダ「phptest」の作成

デフォルトでは「C:\xampp\htdocs」が自宅サーバーのルートアドレス(http://localhost/)です。
そこに「phptest」フォルダを作成します。

4.PHPを書いてみる

「phptest」フォルダに移動し、「test.php」ファイルを作成します。
「test.php」をテキストエディタで開きます。

以下のコードをコピー&ペーストします。

<?php
namespace Vendor\Package;

class ClassName
{
    public function fooBarBaz($arg1, &$arg2, $arg3 = [])
    {
        // method body
    }
}

注意する点としては以下の通りです。
・開始は必ず「<?php」から行い、ファイルがPHPのみの場合最後の「?>」は必要なし
・字下げは「半角スペース4つ」でタブを使わない
・括弧の前後にスペースは入れない。波括弧は独立した行に。引数のカンマの後に空白を(改行して書く書き方もあり)。
・PHPファイルの改行はLF(Unixフォーマット)で。←これがよくわからないので、次の章で説明します。
・文字コードは「UTF-8のBOMなし」を使う
【php】いまどきのPHPコーディング規約 PSRより)

5.PHPの改行をLF(Unix)フォーマットに変更 & 文字コードを「UTF-8のBOMなし」に変更

Windowsでは1つの改行を「CR+LF(\r\n)」で表し、Macでは「CR(\r)」、Unixでは「LF(\n)」と表します。
統一しないとまずいのでUnixのLF(\n)が選ばれたようです。

1.Notepad++の場合
上部メニューの「編集」から「改行コードを変更」を選択。
Unixフォーマット(LF)に変換をクリック。
上部メニューの「エンコード」から「UTF-8(BOMなし)に変換」をクリック。
ファイルを保存。

2.TeraPadの場合
上部メニューの「ファイル」から「文字/改行コード指定保存」をクリック。
改行コードを「LF」、文字コードを「UTF-8N」にして上書き保存にチェックし「OK」をクリック。

まとめ

今回は文字コードや改行コードなどを設定しました。
基本中の基本ですが、それをやっておかないと後々苦労します。
(今現在私がその状況に陥っていますorz)
少しずつですが頑張っていきましょう!

次の記事

PHPのコーディング規則、PSRを学ぶ(3)

参考

改行コードの話

-Web制作

執筆者:

関連記事

手書き数字診断士(機械学習)を作り始めました

Python(Flask)+機械学習の勉強がてら、「手書き数字診断士」を作っています。 元ネタは2chの中小企業診断士です。 「う~ん、これは中小企業!w」 やること 1・index.html  1. …

[Meisyo]野手起用法設定の導入

野手起用法設定の導入を行いました。 この変更で、 「勝ってる時だけ守備固めを出したい」 「負けてるから投手に代打してチャンスを作りたい」 という要望にお答えしました。 発想は野手起用法設定の導入検討の …

pythonでシグモイド関数と階段関数の表示

ディープラーニング目指して初心者は今日も行く。 初見じゃ何もわからない初心者です。 シグモイド関数?階段関数??なにこれ。 シグモイド関数! 階段関数! 目で見たらわかりますね! コード シグモイド関 …

[Kaggle] Titanic 約80% by ランダムフォレスト

実力不足感が否めませんが、Kaggleのチュートリアル的なTitanicにおいてランダムフォレストで正答率約80%を出せたのでコードを載せておきます。 Colaboratory 実施期間:2019/0 …

[Meisyo]ver0.03へのアップデート

名将と呼ばれた者達、アップデートを行います。 大幅な変更をしたため、バージョンを0.02から0.03へ変更します。 変更点 1・各種表示の不具合の修正、改善 2・投手起用方法の不具合の修正 3・試合の …