Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
1
Help us understand the problem. What is going on with this article?
@naoki0531

macでphpbrewを使ってPHP入門

More than 3 years have passed since last update.

目的

  • phpbrewを使ってPHPの動作環境の構築
  • phpのコードを実際書いてみて、基礎を知る
  • 導入までに利用するコマンドや周辺システムも理解しておく

phpbrew

  • phpのバージョン管理システム
  • これを入れておけば、数コマンドでphpのバージョンを切り替え可能!

前準備

  • homebrewで必要なライブラリを入れておきます。
  • homebrewはMacOSXのパッケージ管理システム。
  • ライブラリを手動で入れようとすると、それぞれ発行元から取得してきてそのライブラリをインストールするために別のライブラリをまた取得してきて・・・と、とても大変だが、そのへんの依存関係も全部やってくれる。現在インストール中のライブラリ一覧を管理できるので、追加削除も簡単。
brew install libmcrypt bzip2 readline zlib libxml2
brew link bzip2 --force
brew link zlib --force

インストール

  • curl:HTTPアクセスするコマンド。-Oで取得した情報をファイルに保存
  • chmod:ファイルの権限を変更。今回はファイルに実行権限を与えます。実行権限を与えないとファイルを直接指定して起動できません。
  • /usr/local/bin/:linuxの標準ルール。自分でアプリを入れた時に保存する場所。ここに格納するとパスなしでコマンドが実行できるようになる。
curl -L -O https://github.com/phpbrew/phpbrew/raw/master/phpbrew
chmod +x phpbrew
mv phpbrew /usr/local/bin/phpbrew
phpbrew init
  • シェルの環境設定ファイルに記述、シェル実行時にphpbrewの設定を読み込まれるように。
vi ~/.bashrc
~/.bashrc
source $HOME/.phpbrew/bashrc
  • 記述した設定の読み込み。次回以降はシェル起動時に読み込まれるので不要。
source ~/.bashrc

利用

phpbrew install 7.0 +default
phpbrew list
phpbrew use {バージョン}
php -v

PHPを動かしてみる

phpコマンドを使う、-rをつけると引数にPHPのコードを直接書ける。ファイルを指定する場合はオプションなしでファイルを指定する。

  • 引数実行
$ php -r 'echo "hello world!!";'

hello world!!
  • ファイル実行
sample1.php
<?php
echo 'hello world!!';
$ php sample1.php

hello world!!

var_dump

渡された引数の情報を出力する。Stringだけでなく、なんでも渡せる。

  • String型
sample2.php
<?php
var_dump('hello world!!');
$ php sample2.php

string(13) "hello world!!"
  • 配列
sample3.php
<?php
var_dump(['test1', 'test2']);
$ php sample3.php
array(2) {
  [0]=>
  string(5) "test1"
  [1]=>
  string(5) "test2"
}

連想配列

格納する型に縛りがないMAP、PHPではとてもお世話になる。

  • 配列と同じく[]で宣言。gameには配列を格納している。
sample4.php
<?php
$array = [
    'name' => 'Taro',
    'game' => ['ps4', 'switch']
];

var_dump($array);
  • 実行。nameにはStringが格納されているが、gameには配列が格納されているのがわかる。
$ php sample4.php
array(2) {
  ["name"]=>
  string(4) "Taro"
  ["game"]=>
  array(2) {
    [0]=>
    string(3) "ps4"
    [1]=>
    string(6) "switch"
  }
}

foreach

いわゆる拡張for文。配列も連想配列もどちらでも利用可能。

  • 配列、\nは改行。
sample5.php
<?php
$array = ['ps4', 'switch'];

foreach($array as $value) {
    echo '持っているゲームは' . $value . "\n";
}
持っているゲームはps4
持っているゲームはswitch
  • 連想配列、$key =>でkeyを利用可能。
<?php
$array = [
    'name' => 'Taro',
    'age' => 18
];

foreach($array as $key => $value) {

 # 実装

}
  • # 実装部分を記入して、以下の出力結果を出してみましょう!
nameはTaroです。
ageは18です。

おすすめエディター

PhpStorm

有料だがPHP最強。フロント系も一通り網羅してる。

Atom

無料。プラグインを入れればだいたいの機能は使えます!

SublimeText3

無料。プラグインもいっぱいあるし、軽い!

1
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
1
Help us understand the problem. What is going on with this article?