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

執筆者:

関連記事

(VPSでつくる) セキュリティ設定

連載第十四回目です。 セキュリティ設定について何もわからん状態なので色々と漁っていました。 PythonやFlaskなどの個別のモノに対してのセキュリティ設定の書籍は中々多くないので、Linuxなどの …

(VPSでつくる) Nginx Unit+venv+FlaskでHello World

連載第六回目です。 色々と設定を行ってきましたが、今の状態ではNginx(Webサーバー)上で動的なサイトを表示することはできません。 そのため、今回はNginx Unit(APサーバー)を用いて、簡 …

no image

[PHP]まとめ読みをPSRで改良する(3)

(2)の記事から「PDO」を使い、データの通信をオブジェクト化しました。 password_hashを使い、パスワード処理の暗号化も行いました。 PDOを導入する一番の理由は「mysql_query」 …

no image

[PHP]まとめ読みをPSRで改良する(4)

まとめ読みをPSRで改良する(3)から約一週間。 こんがらがっていた頭の中がすっきりして、なんとなくですがオブジェクト指向がわかってきたような気がします。 オブジェクト指向で大事そうなのは、機構(機能 …

[Meisyo] ver 0.32 リリース情報と2020年4月以降の開発予定について

名将と呼ばれた者達をver 0.32にアップデートします。 更新概要 1・探索の追加 2・探索の追加に伴うゲームバランスの再調整 更新詳細 探索の追加 アイテムを発掘できる動的なゲームシステムを追加し …