PHPを学ぶときに確認すること

  • 81
    いいね
  • 2
    コメント

この記事の内容は2016年9月現在のものです。

新しい言語を学ぶときに確認することにインスパイヤされて。

セットアップ方法

バージョンについて

2016年9月現在のPHPの現行安定版は7.0系。学習用途および新しいプロジェクトを開始するときには7系の最新版を利用すること。古い保守版として5.6系があるが、こちらは既存のプロジェクトが7系対応してない場合に選ぶこと。

macOS(OS X)

brew tap homebrew/dupes
brew tap homebrew/versions
brew tap homebrew/homebrew-php

# PHP 7.0 (Apache抜き・phpdbg入り)
brew install php70 --with-phpdbg --without-apache
# よく利用されるモジュール
brew install php70-intl php70-ast
# デバッグ用 (任意)
brew install php70-xdebug php70-timecop

APT(Debian GNU/Linux, Ubuntu)

UbuntuはXenial(16.04LTS)以降、Debianは次期版(Stretch, 2017年頃リリース?)以降でPHP7が標準インストールされる。

sudo apt install php php-intl php-xdebug php-ast php-readline

Yum(CentOS, Fedoraなど)

簡単!CentOS 7.1にPHP7.0をさくっとyum installする方法 · DQNEO起業日記を参照のこと。

Windows

公式の実行バイナリ配布はPHP For Windowsにある。また、XAMPPといふ統合パッケージもある。

しかし現実のPHPサービスはもっぱらLinuxやFreeBSDなどのUNIX系のOSで動作するので、WindowsにXAMPPでがんばるよりもVagrantを使ってLinuxを動かした方が良い。

Vagrant + VirtualBox

開発用の仮想環境を作る。WindowsやMacのマシンでもLinuxが動かせる。

phpbrew

phpbrew/phpbrew #INSTALLに従ってphpbrewコマンドをインストール。

phpbrew install 7.0 +default +intl

madumlao/phpenv + php-build

anyenv + phpenv + php-build が便利すぎる件を参照。riywo/anyenv: all in one for **envでまとめて導入できる。

パッケージ(ライブラリ)マネージャーの使用方法

PHP標準添付のPEARとコミュニティベースのComposerがある。

Composer

Introduction - Composerに従ってインストール。Packagistでパッケージの検索。

composer require xxxxx/yyyyyでプロジェクト内に依存パッケージのインストール。composer global require xxxxx/yyyyyでプロジェクトに依存しないインストール。

Packagist.jp

packagist.orgのミラーサイトであるPackagist.JPを利用することで、日本からではComposerが遅い問題を緩和できる。詳しくは@Hiraku光遅い問題を克服してcomposerを10倍速くした話 - Mercari Engineering Blogを参照。

PEAR

PEARはPHP標準のリポジトリ/パッケージ管理ツールだが、現在はほとんど利用されない。

REPL(対話シェル)

現在はPsySHが主流。

インストール方法などはPHPを「シェル化」する [psy/psysh] - 超PHPerになろうに書いた。

Webサーバー

伝統的にはApacheにインストールする方法が利用されてきた。

しかしローカルマシンで開発する際などにはわざわざApacheのようなサーバーをインストール/設定する必要はなく、ビルトインウェブサーバーで簡易的な開発をすることができる。

エディタの設定

PHPファイルの標準的な拡張子は.php。最近のお作法では.class.phpとかは流行ってない。

Emacs

EmacsにはPHP用の編集モードは標準添付されてない。その代りejmr/php-modeが活溌に開発されてる。

Vim

標準でPHPに対応。

詳細な設定などはVimでPHP開発環境を作成 - Qiitaを参照。

PhpStorm

IntelliJ IDEA系列のPHP専用IDE。有償。PhpStorm | サムライズムなどで購入。年間サブスクリプションで、継続するとお安くなるしくみ。

VisualStudio Code

PhpStormほどじゃないけど、標準設定でそこそこいい感じ。ただし型推論やオブジェクトのメソッド名やプロパティ補完はない。

Eclipse (PDT)

PDT: Eclipse PHP Development Toolsと呼ばれるPHP開発用の環境がある。オブジェクトのメソッド名の補完が機能する。

動作にはJavaが必要で、java.comから入手できる。brew cask install javaでもインストールできる。あなたとジャバ。

NetBeans

機能についてはNetBeans IDE - PHP開発を参照。メソッドやプロパティの補完など機能する。

NetBeans IDE 8.1ではPHP 5.6までの対応なので注意 PHP 7対応のNetBeans IDE 8.2 Release Informationが2016年10月3日にリリースされた

Eclipseと同様にJavaが必要で、java.comから入手できる。brew cask install javaでもインストールできる。あなたとジャバ。

実際のコードを書く

基本的な文法

書籍でおすすめできるのはいまのところあまりない。

テストコードの書き方

情報リソース

言語やライブラリのリポジトリへのアクセス方法を確認する

PHPマニュアル

PHPマニュアルの日本語は、おそらく英語版の次くらゐにメンテナンスされてるので読まない手はない。

Awesome PHP

定番ライブラリとか情報源のまとめ。

PHP: The Right Way

PHPのベストプラクティス集。中級者以上は必読。

PHPのタイムライン - 大チェッカー

PHPに関する雑多な記事のフィード

そのほか

コミュニティ

勉強会/イベント

オンライン