あーる学習帳

自分が勉強したことや気になることなど、99%自分用です。コードを書いてるのでPCから閲覧を推奨。

PHP入門:関数の作り方

今夜もぼちぼち。

 

#15

今回は関数について。

関数を作るにはfunctionというキーワードを使い、そのあとに関数の名前を書く。

function sayHi () {

  echo "hi!";

sayHi();

このように書くことで、sayHiという関数を作った後にそれを呼び出すという処理になる。

関数に引数を渡すこともできる。

function sayHi($name) {

  echo "Hi, $name !";

sayHi("Tom");

sayHi("Bob");

このように、関数名の後にくるかっこに引数を設定しておけば、処理を記述する波かっこの中でその引数を利用することができる。また、引数はカンマで区切ればいくつでも渡すことができる

また、引数に初期値を渡す場合は…

function sayHi($name = "Sam") {

  echo "Hi, $name !";

sayHi();

sayHi("Tom");

 このようにすれば、引数に値の指定がなかった時は初期値を取るようになる。

関数から返り値をもらうことも可能。

function sayHi($name="yamada") {

  return "Hi , $name ";

}

$s=sayHi("Bob");

var_dump($s);

returnを使うことで、関数の処理をその場で終わらせつつ呼び出し元に値を返すようになる。上の例だと、$sにsayHiで作成した文字列「Hi , Bob」を入れるようになる。

 

#16

ローカル変数について。

関数で用いる変数については、「定義した関数内でのみ有効」というルールがある。

function sayHi($name = "yamada") {

  $lang = "php";

  echo "Hi , $name From $lang !";

}

sayHi("Tom");

var_dump($lang);

こうすると画面には「Hi , Tom From php !」と表示される。

上の例でいうと、$langは関数sayHiの中でのみ有効である。最後のvar_dumpではNULLと表示される。「そんなもん知るか!」という回答。

$lang="ruby";

function sayHi($name = "yamada") {

  $lang = "php";

  echo "Hi , $name From $lang !";

}

sayHi("Tom");

var_dump($lang);

このルールを頭に入れておくと、上記の例の最後のvar_dumpではrubyと表示されることが分かる。関数の中で宣言した変数と同じ名前の変数が関数の外にあっても大丈夫。あまりそういうことはしないと思うけど…。

 

#17

組み込み関数について。コードを一気に書いてまとめ。

// 数値に関する組み込み関数

$x=5.6;

echo ceil($x); // 小数点以下を切り上げる関数

echo floor($x); // 小数点以下を切り捨てる関数

echo round($x); // 小数点以下を四捨五入する関数

echo rand(1,10); //乱数を生成する関数(この例だと1~10の範囲で乱数生成)

 

// 文字列に関する組み込み関数

$s1="hello";

$s2="ねこ";

echo strlen($s1); //文字数を数える関数

echo mb_strlen($s2); //日本語の文字列(マルチバイト)に対応。文字数を数える

printf("%s - %s %.3f" , $s1 , $s2 , $x); //特定の書式で表示する

/*

%s→stringを指定

%f→floatを指定

%.3f→小数点第3位まで表示

*/

 

// 配列に関する組み込み関数

$colors = ["red","blue","pink"];

echo count($colors); //要素の数をカウント

echo implode("@",$colors); //配列の要素をある区切り文字で連結して文字列として返す

 

今夜はここまで。PHP入門編も折り返し!!

PHP入門:whileとforでループ、配列とforeachでもループ、コロン構文

スターデューバレーが楽しすぎる…。

ec.nintendo.com

別に買いなさいという意味ではない。

 

では、PHPの続きをば。

 

#11

While文によるループ処理の話。

今回はWhileDo...Whileについて学んでいく。

まずは以下のコードを書いて出力してみる。

$i =0;

while ($i < 10){

  echo $i;

  $i++;

こうすると、「$iが10より小さい場合は画面に$iを表示」→「$iに1足す」→「$iが10より小さい場合は…」と繰り返しを行う。画面には「01233456789」と出力される。

Whileのあとに指定する条件(かっこの中)が真である限り、かぎかっこでくくられた処理を行っていくのがwhile文である。

また、Do...Whileという書き方についてもチェック。

&i=0;

do{

  echo $i;

  $i++;

} while ($i < 10) ;

 結果はどちらも同じだが、Do...Whileとした場合は条件が後ろに付く。

2つの違いは前判定か後ろ判定かということ。

Whileの場合、例えば$i=100だったらそもそも処理が行われない。

Do...Whileの場合、$i=100だったら画面には「100」と表示がされる。

 

#12

今回はfor文でループ。#11と同じように画面に「012345679」と出す場合は…

 for ($i = 0; $i < 10 ; $i++;){

  echo $i;

}

 少し複雑なのでまとめると…

for (【初期値】; 【終了条件】;【繰り返しごとに行われる処理】;) {

  【ループ中に実行する処理】;

}

 また、whileでもforでも共通して使えるbreakcontinueについてもまとめる。

breakは「ループを抜ける」という命令、continueは「それ以降の処理を実行せずに次のループへ移る」という命令。

上のfor文を以下のように書き換え。

for ($i=0; $i<10; $i++){

  if ($i===5){

    break;

  }

  echo $i;

}

すると画面には「01234」と表示される。breakによって$i===5のときに強制的にループから抜け出したからである。

上記のbreakをcontinueに書き換えると…

for ($i=0; $i<10; $i++){

  if ($i===5){

    continue;

  }

  echo $i;

}

この場合、画面には「012346789」と5が抜けた状態で表示される。

$i===5のとき、continueで次のループ処理へ移ったからである。

 

#13

配列について。KeyとValue(値)がセットになったデータ構造。

社員の売上管理をしたい場合、社員の名前と売上の数値をペアで管理したい。

このような場合はarrayという命令を使う。

$sales = array(

  "yamada" => 100,

  "tanaka" => 200,

  "satou" => 300,

); 

このように、【key】=>【valueと書いていく。なお、最後のvauleの後のカンマはあってもなくてもよい。後から何か付け足す可能性もあるのでつけっぱなしの方がいいかも。

また、PHP5.4以降の場合は以下のように書くこともできる。

$sales = [

  "yamada" => 100,

  "tanaka" => 200,

  "sato" => 300,

] ;

大かっこでくくるとarrayと同じ意味になる。

arrayで定義したvalueにアクセスしたい場合は以下のように書く。例でvar_dumpを使うと…

var_dump($sales["tanaka"]); 

 このように、変数名[key]と書けばよい。

valueの上書きも可能。

$sales["yamada"]=500;

var_dump($sales["yamada"]); 

こうすれば画面にはint(500)と表示される。

配列のKeyは省略することも可能で、その場合は上から順に0,1,2,...と連番が振られる。

$colors = ["red","blue","pink"];

var_dump($colors[2]); 

こう書いたら、画面には「string(4) "pink"」と表示された。

 

#14

配列の内容をループ処理で取り出すことのできるforeachについて。単語としては「for each」という区切り。#13のコードも流用して以下のように書く。

$sales = [

  "yamada" => 100,

  "tanaka" => 200,

  "sato" => 300,

] ;

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

  echo "($key) $value";

}

このようなコードだと、画面には「(yamada) 100 (tanaka) 200 (sato) 300」と表示される。

また、keyが省略されている場合は…

$colors = ["red","blue","pink"];

foreach ($colors as $value){

  echo "$value ";

 画面には「red blue pink」と表示された。

foreachだけでなくif、while、forでも使えるコロン構文というものも扱う。

処理を示す波かっこの最初{をコロン:で書き、最後に閉じる波かっこ}については「endforeach / endfor / endif / endwhile」とする書き方である。

$colors = ["red","blue","pink"];

foreach ($colors as $value) :

  echo "$vaules "

endforeach; 

このように書く。こうすることで、HTMLへ埋め込むときにすっきり書けるという利点がある。

<?php $colors=["red","blue","pink"]; ?>

<ul>

  <?php foreach ($colors as $value): ?>

  <li> <?php echo "$value"; ?> </li>

  <?php endforeach; ?>

</ul> 

このコードで波かっこを使っていたら逆にわかりづらいなぁ、と感じる。

何気に初めてPHPとHTMLを組み合わせた。こう書くのか…という感動がある。

今夜はここまで。

PHP入門:ifとswitchで条件分岐

昨日おとといとそこまで勉強しているわけではないので、今夜は進めます。

 

#8

いよいよif文を使った条件分岐について。

$score=85; 

$scoreを宣言。「$scoreが80より大きい場合、画面にgreat!と出力する」とするには…

if ($score > 80){

echo "great!!";

こう書けばよい。また、「$scoreが80より大きい場合」を満たさなかった場合の処理をつけ足すには…

if ($score > 80){

echo "great!!";

}  else{

echo "so so ...";

}

これでOK。

ということで、if文の基本は以下の通りとなる。

if (【条件】) {

【真の場合 = 条件を満たす場合の処理】 

}  else {

【偽の場合 = 条件を満たさない場合の処理】

}

 ()や{}がどっちがどっちなんだかわからなくなりそうだけど覚える。

また、条件をつけ足す場合の例と書き方は以下の通り。

「scoreが80以上の場合はgreat、70以上80未満の場合はso so ...、70未満の場合はbadと出す」というときには…

if (【条件A】) {

【条件Aについて真の場合 = 条件Aを満たす場合の処理】 

}  elseif (【条件B】){

【条件Bについて真の場合 = 条件Bを満たす場合の処理】

}

}  else {

【偽の場合 = どちらの条件も満たさない場合の処理】

}

 こう書けばよい。

今回使った不等号記号を比較演算子と呼ぶ。以下のものがある。

A>B→AはBより大きい

A<B →AはBより小さい(未満)

A>=B→AはB以上

A<=B→AはB以下

A==B→AとBは等しい(値だけを比較して)

A===B→AとBは等しい(値とデータ型を比較して)

A!=B→AとBは等しくない(値だけを比較して)

A!==B→AとBは等しくない(値とデータ型を比較して)

特に後半、値だけを比較するのか、値とデータ型を比較するのかで使い分けがあるので要注意。

論理演算子についてもチェック。

★And 【A and B→AとB(同時に満たす)】

 and && 

★or【A or B→AもしくはB(AとBどちらかを満たす)】

or ||

★否定

!

 

#9

真偽値について。

データ型によって、どんな場合でも真偽値を見ると必ずTrue/Falseのどちらかを取るようになっているとのこと。

★Falseとなる場合

文字列…空の文字列、0の文字列だった場合

数値…0もしくは0.0の場合

論理値…falseの場合

配列…要素の数が0だった場合

null…何があってもfalse

上記の場合以外はTrueとなる。

これを知っていると、次のコードの意味が分かる。

$x=5;

if ($x){

  echo "great";

これは「$xがTrueだった場合にgreatと表示する」ということ。

$xは数値型で0ではないので、真偽値で見た時にはTrueを取っている。

もちろんこのように書いてもOK。

$x=5;

if ($x == True){

  echo "great";

 ついでに三項演算子についても勉強。

$max = ($a > $b) ? $a : $b

 …なんじゃこりゃ。

「($a > $b)が真だったら$aを、偽だったら$bを$maxに入れる」ということ。

if文を使って同じ意味のことを書くと…

if ($a > $b) {

  $max=$a;

} else {

  $max=$b;

となる。

 

#10

switch文による条件分岐を扱う。以下のコードで考えていく。

$signal="red" ;

switch ($signal) {

  case "red":

    echo "stop!!";

    break;

  case "yellow":

    echo "caution!!";

    break;

  case "blue":

    echo "go!!";

    break;

  defalut:

    echo "wrong signal";

    break;

}

 $signalの値によって処理を変えている。redなら画面に「stop!!」、yellowなら「caution!!」、blueなら「go!!」と表示するということになる。

また、最後のDefalutは「指定した値がすべてのcaseに当てはまらなかった場合に行う処理」を意味している。また、caseとbreakの各処理が終わるところには必ずbreakを書くこと

条件を並べて書く場合は次のように書けばよい。

$signal="green" ;

switch ($signal) {

  case "red":

    echo "stop!!";

    break;

  case "yellow":

    echo "caution!!";

    break;

  case "blue":

  case "green";

    echo "go!!";

    break;

  defalut:

    echo "wrong signal";

    break;

}

breakに当たるまで処理が続くことを利用しているんだと思う。

だったら、blueとgreenは最後の処理が同じだけどblueのときだけ行う処理もあるという場合はcase "blue";とcase "green";の間にblue特有の書けばいいのでは…?

 

今夜はここまで、次はwhileループからやります。

ブログにまとめないんだったらPHP入門は3日もあれば終わったんだろうけど、ちゃんとまとめて時間をかけてやると決めているのでちゃんとまとめながらやっていくぞ。

今日はお休みです

今日は新しいことをせず、ブログでまとめた今までのことを読んでおりました。すぐ見返せるのでブログやっててよかったなぁと感じます。

 

今夜は絵に描いたようなオムライスを食べたので記念に撮ってきました。本当に形がキレイです、どうすればこんないい形になるのやら…!

f:id:R_de_aru:20180609221026j:image

 

Amazonで「リーダブルコード」を買いました。

f:id:R_de_aru:20180609220839j:image

一回読んでおきたいなぁと思っていた一冊です。出張の移動時間など、隙間の時間を見つけて読み進めようと思います。

 

今夜はここまで。

PHP入門:文字列の連結、シングルクォーテーションとダブルクォーテーションの使い分け

今夜も所用あって遅くなってしまった…。

PHP入門のレッスン1回分だけ進めます。少しでも。

 

#7

今回は文字列の扱いについて。

PHPで文字列を扱うには

  • ダブルクォーテーション""で囲む
  • シングルクォーテーション''で囲む

という2つの方法がある。

ダブルクォーテーションでは特殊文字や変数の展開が可能となっているが、シングルクォーテーションではそれができないので注意。

代表的な特殊文字には下記のものがある。

  • \n…改行
  • \t…タブ

まずは以下のように、$nameという変数に文字列を入れていこう。

$name = "yamada";  

変数の展開とは何かを知るため、さらに以下のコードを追記。

$s1="Hello,$name\nHello,Again!";
$s2='Hello,$name\nHello,Again!';
var_dump($s1);
var_dump($s2);

ダブルクォーテーションとシングルクォーテーションという違いがある。

s1の方は特殊文字や変数の展開が反映されるはずだが…

string(25) "Hello,yamada Hello,Again!" string(25) "Hello,$name\nHello,Again!"

こう表示される。OK。

上のs1について、「ここは変数だよ!!」と強調するため、一般的に{}を使う。

$s1="Hello,${name}\nHello,Again!";

$s1="Hello,{$name}\nHello,Again!"; 

 どちらでもOK。

また、文字列の連結には.(ドット)を使う。

$s="Hello "."World";

var_dump($s); 

 と書けば、結果はもちろん…

string(11) "Hello World" 

 となる。

 

短いけど今夜はここまで。

PHP入門:仮想環境起動/終了のbatファイル、ビルトインサーバー、変数と定数

上司「お客さんから要望があったからゲーム作るかも。デザイン考えて」

(スペースキャット顔をする自分)

(この3年間ずっとデータベースをなんやかんやすることしかしてない)

 

今日もPHPをやっていきます。が、その前に仮想環境について。

昨日は仮想環境起動/終了のためのコマンドを復習しましたが、やっぱり何回も入力するのは面倒です。面倒なうえに間違えて「そんなフォルダないよ!!」と怒られることも多々あったので微弱なストレス。

そういうストレスを解消するため、仮想環境を起動/終了するためのコマンドのうちPowerShellで実行する部分を簡単にbatファイル化しました。それが以下の2つになります。

MyCentOS_Start.bat

cd C:\(フォルダ名)\MyVagrant\MyCentOS
vagrant up

pause

exit

MyCentOS_Exit.bat

cd C:\(フォルダ名)\MyVagrant\MyCentOS
vagrant halt

pause

exit

この2つのbatファイルを作成し、デスクトップに置いておきます。なお、念のためこのbatファイルは「管理者として実行する」という設定をプロパティでつけておきます。

なぜ文頭に「@echo off」をつけていないのかというと、本当に動いているかどうか不安だったのでシステム側が自動でつける部分も見たいと思ったからです。別にパソコンくんを信頼していないわけじゃないんだ、僕が不安なだけなんだ。

コマンドの流れはどちらも同じで、

①仮想環境のあるフォルダへ移動

②仮想環境を起動or終了

コマンドプロンプト一時停止(「続けるには何かキーを押して」を出す) 

④何か押されたらコマンドプロンプトを終了

というものです。たったこれだけで随分楽ができます。

参考にしたのは下記のページ。

qiita.com

Start.batを実行した後はPuTTYで仮想環境へログイン!そこも自動化出来たら楽だなぁと思いつつ、PuTTYはまだ慣れていないので…もし出来たとしても慣れるまではちゃんと自分でコマンドを打ちます。

 

脱線しましたが、PHPを今夜も学んでいきます!!

 

#3

#2で作成したindex.phpをブラウザに表示していく。

Webサーバーの設定が必要だが、今回はPHPが用意しているビルトインWebサーバーという仕組みを使う。

そのためにはローカル開発環境のIPが必要なので、PuTTYで以下のコマンドを実行。

ip a 

これだけ。するとPuTTYの画面がこのようになる。

f:id:R_de_aru:20180607204748p:plain

 赤枠で囲ったところがローカル開発環境のIP…になっているはず。

PHPでビルトインWebサーバーを起動するには以下のコマンドをPuTTYに入力する。

php -S (IP):(必要時にはポート番号) 

-SのSは大文字なので注意。今回は以下のようになる。

php -S 192.168.33.10:8000 

このコマンドを実行するとこうなる。

f:id:R_de_aru:20180607205313p:plain

青の枠が入力したコマンド、赤の枠が戻りで帰ってきたアドレス。

ちなみに緑の枠はポート番号を書かなかったらこうなったという悪い見本。ポート番号は書くべし。

あと、ビルトインWebサーバーを停止させるには[CTRLキー]と[Cキー]を押すべし。

「赤枠のアドレスをブラウザに入れたら/home/vagramt/php_lessonsの中身にアクセスしますよ」ということらしいので早速…。

f:id:R_de_aru:20180607205857p:plain

出た!!!!こんにちは世界!!!!

また、エラーの確認についてだが、ビルトインWebサーバーのログを確認するのが手っ取り早いとのこと。試しに、以下のようにphpファイルを変更。

<?php
//コメント
#コメント
/*
コメント
コメント*/
  echoo "Hello,From the TOP!!";
?>
<!DOCTYPE html>
<html lang="ja">
<body>
  <p>Hello World <?php echo "From PHP";?></p>
</body>
</html>

この状態でブラウザを更新すると…

f:id:R_de_aru:20180607210320p:plain

動作していませんのメッセージ。今PuTTYを確認すると…

f:id:R_de_aru:20180607210519p:plain

これはヤバそうだ。赤文字を読んでみると、7行目が何かおかしいのでは?と出ているのが分かる。すごいな、分かるんだ…。

 

#4

変数とデータ型について。その前に、PHPの終了タグの後ろに何か出力するものがない場合は終了タグを省略するのが推奨されているとのこと。これからは先ほど書いていたhtml部分はいらないので、htmlとPHPの終了タグは消しておく。

まず、変数とはなんぞやというところから。レッスンによると、

変数:データに付けるラベル」

…まぁ、わかりやすく言うとこんな感じだと思います。

個人的には数学で出てきたxやyにいろいろな値(文字もOK)を入れるイメージ。

PHPの変数は、$(変数名)というように、頭に$マークをつける。今回はこんな風に。

$msg = "Hello,From the TOP!!" ;

変数に値を入れるときに使う=だが、これは「値が等しい」という意味ではなく「右辺を左辺に代入する」という意味で代入演算子と呼ばれる。

コードを下記のように書くと、$msgに入れた文字列が出力される。画像は省略。

<?php

$msg = "aaa";

echo $msg;

PHPで扱えるデータ型は以下の通り。

  • 文字型 string
  • 数値 integer(整数) float(浮動小数点数)
  • 論理値 boolean(True/False)
  • 配列
  • オブジェクト
  • Null

仕事のVB6でもよく見かける方々なので、見知らぬ土地に来たけど知り合いがいたような安心感を覚える。

驚くのは、PHPでは変数にデータ型を宣言する必要がないということ。楽になる反面、どの変数がどのデータ型なのか分からなくなりそう。

そういうときには以下の命令を実行すればデータ型がわかる。上記の$msgのデータ型を知りたいときは…

var_dump($msg) 

と入力する。 ブラウザには以下のように出力される。

string(20) "Hello,From the TOP!!" 

 string型で20文字、内容は「Hello,From the TOP!!」であることがわかる。

 

#5

定数を使ってみよう。

定数とは、プログラム上で変更されない値に付けるラベルだというイメージ。

自分も仕事のときはそういうイメージで扱っております。

定数を定義するにはdefineという命令を使い、定数の名前と値を渡す。

define("MY_EMAIL","xxx@email.com") 

こうすると「MY_EMAIL」という定数に「xxx@email.com」という文字列を渡したことになる。ちなみに、定数名は慣習的にすべて大文字で書く。変数とは違って$はつかないので間違えないようにする。

定数に値を渡そうとすると、ビルトインWebサーバーでエラーが出る。

「自動的に定義される定数」というのがあるらしい。以下のコマンドで確認が可能。

 

var_dump(__LINE__);  // 現在の行数

var_dump(__FILE__);  // 現在のファイル名

var_dump(__DIR__);    // 現在のディレクト

 LINEなどの前後は半角のアンダーバーが2つずつ。どこかで使うかも。

 

#6

数値の演算をする。

四則演算については+(加算)、-(減算)、*(乗算)、/(除算)を使う。

余りは%で算出、**でべき乗となる(べき乗演算子はPHP5.6から対応)。

以下のようにPHPを書いてみよう。

$x = 10%3; //余り1

$y =  30.2 / 4; //7.5くらい

var_dump($x);

var_dump($y);

 すると以下の結果が出力される。

int(1) float(7.55) 

 $xは整数なのでinteger、$yは小数点があるのでfloatとなっていることが分かる。

単項演算子についても扱う。++--で表現されるもので、「1足すor1引く」という意味になる。

$z=5;
$z++;
var_dump($z);
$z--;
var_dump($z); 

 このように書くと、ブラウザには以下のように出力される。

int(6) int(5) 

代入を伴う演算子というのも見ていく。試しに以下のコードを…。

$x=5;
$x=$x+2; 

こうすると$xには7が入る。まったく同じ結果を出すには以下の書き方もある。

$x=5;
$x+=2; 

この書き方は足し算だけでなく、四則演算すべてに使える。今回出てきた演算子全部でできそうな気もする。

$x=5;
$x*=2;
var_dump($x);

 とすれば、画面には

int(10) 

と出力される。

 

今回はここまで。

今夜はおすすめしていただいたスターデューバレーを楽しもうと思います! 

PHP入門:echoでHello,World!

うちの会社はダラダラ残業する風潮がとても強いですが、時間の使い方が下手になりそうで怖いのでスパッと帰ることにしています。残業代もないし…。

 

今日からPHPの学習を始めます!!

ドットインストールの「PHP入門」、お世話になります。全30回。

 

#1

そもそもPHPとはなんぞや。

一言で表すと、高度なWebアプリケーションを作るための言語。Webサーバー上で動作。

PHPの公式サイトは以下のリンクから。

PHP: Hypertext Preprocessor

最新情報やドキュメントの閲覧ができる。ドキュメントには日本語版もある。

このレッスンを始める前に以下のレッスンをやっておくといいとのこと。

・HTML入門 (全15回)
・ローカル開発環境の構築 [Windows編 or Mac編] (全14回)
UNIXコマンド入門 (一般ユーザー編) (全16回)

見覚えのない子がいますねぇ…。

今回のレッスンではローカル開発環境を使ってPHPを動かしていく。

Vagrantなどで仮想マシンを起動し、そこにフォルダを作って勉強していく。

動画で使っているPHPのバージョンは5.6。

UNIXコマンド入門、先にやった方がいいかなぁ。

心配はしつつも、とりあえず必要になったらPHPを中断してそちらに移ることにする。

 

ここで復習、仮想環境の起動/終了方法をまとめておく。

★現在使用している環境

VirtualBox Ver5.2.12

Vagrant Ver2.1.1

PuTTY 64bit Rerease0.7

Cyberduck Ver6.5

Atom(エディタ)

★仮想環境の起動・アクセス方法

PowerShellで仮想環境のあるフォルダまで移動

自分の場合はC:\(フォルダ)\MyVagrant\MycentOSまで移動する。

PowerShellのコマンドcd (移動先)を使う。

②移動したらPowerShellVagrant Up!!

ここで少し時間がかかるが、これで仮想マシンの起動は完了。

③続いてPuTTYを起動、MyCentOSのIPなどをを記憶させているので呼び出し

コマンドプロンプトみたいな画面でユーザー名とパスワードを入力

初期設定のままなので、ユーザー名もパスワードもvagrant

これで起動とアクセスの準備が完了。

適宜Cyberduckを使ってphpファイルなどを転送していく。

PowerShellはexitで終了しても構わないが、仮想環境をシャットダウンするときにまた使う。

★仮想環境のシャットダウン方法

Cyberduckを終了

右上の×でOK。

PuTTYを終了

 普段はPowerShellを閉じるノリでexitコマンドを打って終わっている。

PowerShellVagrant haltを実行

PowerShellで起動時と同じくcdを駆使して仮想環境が置かれたフォルダへ移動。

その後Vagrant Haltを実行する。

これで仮想環境のシャットダウンが完了。

ちなみにVagrantのコマンドはいいまとめを見つけたので以下にリンク。

【まとめ】Vagrant コマンド一覧

 

#2

気を取り直して続きをば。

仮想環境上にindex.phpを作成。Cyberduckでフォルダを開いて右クリック→「NewFile」でファイル名を「index.php」とすれば作成完了。

 PHPの大きな特徴は、HTMLに直接埋め込んで書くことができること。

なので、今回は先にHTMLを書いた上でPHPをその中に書いていく。やっててよかったHTML。ありがとうHTML。ちょちょいっと下記のHTMLを書く。

<!DOCTYPE html>
<html lang="ja">
  <body>
    <p>Hello World</p>
  </body>
</html>

今回は出力される文章を「Hello World From PHP」としたい。「From PHP」の部分をPHPで書いていこう。

PHPを書く際、開始タグと終了タグを忘れないこと。

開始タグは<?phpとなり、終了タグは?>となる。

<?php (PHPの文) ?> 

という形が原則なので覚えておこう。

文字列を出力するにはecho(エコー) を使う。「えちょ」じゃない。

文字列はダブルクォーテーションで囲って表現し、文の最後にはセミコロンをつける。

よって、上のコードを次のように修正。

<!DOCTYPE html>
<html lang="ja">
  <body>
    <p>Hello World <?php echo "From PHP"; ?></p>
  </body>
</html> 

 文頭にPHPを書くというやり方もあるらしいので、上のコードをさらに修正。

<?php

echo "Hello, From the TOP!!";

?>

<!DOCTYPE html>
<html lang="ja">
  <body>
    <p>Hello World <?php echo "From PHP"; ?></p>
  </body>
</html>  

 また、PHPでのコメントの書き方には2パターンある。

①1行のみの場合は//もしくは#を行の頭につける。

②複数行にまたがる場合、/* */で囲う。

 

続きをやろうと思っていたけれど、野暮用が入ったのでまた明日。

この調子だと週末にガンガンやりそう。楽しみ。

仮想環境の終了は忘れずに!!面倒なのでバッチファイル作ろうかな…。