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制作

執筆者:

関連記事

no image

現代PHPの正しい道「PHP: The Right Way」の紹介とその要約

時代遅れの本や情報があふれている。そのため「何年前のコレ?」というコードが広まっている。 私もまずいコードを書いていた。悪意がある頭のいい人が少し手を加えるだけでデータベースが死んでしまうようなコード …

[Meisyo]第2回公式戦決勝戦

名将と呼ばれた者達、第2回公式戦決勝戦がありました。結果をお伝えします。 (ゲームにログインしていれば、こちらから結果を見ることが出来ます) オモテ: 都立東京読売巨人高校 チーム総合力:115.12 …

no image

PHPで祝日判定

PHP 祝日判定で検索すると、「GoogleカレンダーAPIで祝日を取得する」ばかりです。 しかし、GoogleカレンダーAPIは抜け落ちている祝日が存在することが知られています。 今回は、抜け落ちが …

[Python] 機械学習での変数選択自動化(SVRを例に)

今回、会社のコンペで255というとんでもない量の変数を扱うことになりました。 価格予想を行うコンペです。 今回のデータのおさらい データ量は1500程度。8:2で分けると検証データが300しかないすご …

[Python] ディープラーニングのモデル「VGG16」を使って画像認識をし、判断した理由の可視化をする。

今日はデータ分析から趣向を変えて画像認識を行います。 やることは簡単。 1.撮った写真を使って画像認識させ、何が写っているか判断させる。 2.何が写っているかを判断した理由(位置)を可視化する。 以上 …