RのWeb制作

Webサービス制作のための技術情報を。データ分析(Python、機械学習コンペ他)や自作野球ゲームMeisyoのこと中心。

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

執筆者:

関連記事

[Meisyo]試合一球分析用DBの追加

試合で一球ごとの分析用DBを追加しました。 なぜかというと、試合での投手vs打者における投球と打撃結果の因果関係が分からなかったからです。 もっとカンタンニシテ・・・ 例えば・・・ どのコースは打たれ …

no image

swiftでゲームプログラミング(開始前)

iPhoneアプリを開発するために必要な言語「Swift」 そういえばこれまで適当な書き方で無理やり実装していたなと思い、教科書的なものを買いました。 初心者の人は独学でやるより、教科書買ってやった方 …

no image

PHPのコーディング規則、PSRのまとめ

「PHPのコーディング規則、PSRを学ぶ」(1)~(5)の集大成が完成しました。 PHPコーディング規則、PSRを学ぶで閲覧可能です。 正確を期していますが、誤りがあったらコメントをお願いします。m( …

[Meisyo]Androidアプリ版 作成案1

「アンドロイドアプリの基本」的な本が届いて3日。だいたいわかった(わかってない)ので一応完成予想図を考えておきましょう。 [トップページ]→[ログイン画面]or[ゲーム画面] ・アプリの利用メリット …

[Meisyo]スタミナ減少による球速低下が酷過ぎる件について

最近SQLばっかり書いているRです。早く適正なSQLを書きたいものです…。 とはいえ、ネットで書かれているようなことは一通り理解してできるようになりました。やったぜ。 今回は、タイトルの通り・・・ ス …