PHPの基本のメモ用です。
# ホームディレクトリに移動
cd
# 今後複数の仮想マシンを作ることを想定して、それらをまとめるフォルダ(MyVagrant)を作る
mkdir MyVagrant
# MyVagrantに移動
cd MyVagrant
# 仮想マシンを作るフォルダを作る(MyCentOS)
mkdir MyCentOS
# MyCentOSに移動
cd MyCentOS
# 仮想マシン設定用のVagrantfileを作る
vagrant init bento/centos-6.8
# Vagrantfileを編集して仮想マシンのIPアドレスを192.168.33.10にする
sed -i '' -e 's/# config.vm.network "private_network", ip: "192.168.33.10"/config.vm.network "private_network", ip: "192.168.33.10"/' Vagrantfile
# 仮想マシンを起動(少し時間かかる)
vagrant up
# 仮想マシンの状態確認
vagrant status
# OSを最新状態にアップデート(時間かかる)
sudo yum -y update
# スクリプトを入手するためのgitをインストール
sudo yum -y install git
# gitを使ってアプリケーション設定用のスクリプトをダウンロード
git clone https://github.com/dotinstallres/centos6.git
# centos6フォルダができるのでそちらに移動
cd centos6
# スクリプトを実行(時間かかる)
./run.sh
# もろもろの設定を反映
exec $SHELL -l
# IPアドレス調べる
ip a
変数
# データ型
$msg = "メッセージを入力"
# 表示させる
echo $msg;
# データの型を調べる
var_dump($msg);
定数: 変更されない値につけるラベル
(定数名は全て大文字を使う。 $は不要)
define("MY_EMAIL", "メールアドレス");
# 行数を調べる
ver_dump(__LINE__);
# ファイル名を調べる
ver_dump(__FILE__);
# ディレクトリ名を調べる
ver_dump(__DIR__);
数値型の演算 + - * / % **
# たす
+
# 引く
-
# かける
*
# 割る
/
# 余り
%
# 乗数
**
$x = 10 % 3;
単数演算子 ++ --
# 1たす
++
# 1引く
--
代入を伴う演算子
# $x = $x + 2;を別の書き方
$x += 2;
文字列
# 特殊文字(\n, \t) 変数(改行, タブ)
""
# 特殊文字が使えない
''
# 文字の連結
$s = "文字列" . "文字列"
# if 条件分岐
if($score > 80){
echo "great!";
}elseif($score > 80){
echo "good";
}else{
echo "so so...";
}
# 比較演算子
> < >= <= ==(値が等しい) ===(型も含めて等しい) !=(値が等しくない) !==(型も含めて等しくない)
# 論理演算子 and && , or || , not !
# 真偽値 falseになる場合
文字列: 空、"0"
数値: 0、 0.0
論理値: false
配列: 要素の数が0
null
# switch 条件分岐
$singnal = "red";
switch ($signal){
case "red":
echo "stop!";
break;
case "yellow":
echo "caution!";
break;
case "blue":
echo "go!";
break;
default:
echo "wrong signal" ;
break
}
# ループ処理
while
$i = 0;
while($i < 10){
echo $i;
$i++;
}
do{
echo $i;
$i++;
}while($i < 0);
for
for($i = 0; $i < 10; $i++;){
echo $i;
}
# ループを抜ける
break
# それ以降の処理を実行せずに次のループに移る
配列
$sales = array(
"taguchi" => 200,
"suzuki" => 800,
"nishimura" => 900,
);
もしくは
$sales = [
"taguchi" => 200,
"suzuki" => 800,
"nishimura" => 900,
];
名前をつけない場合は
$colors ["red", "blue", "yellow"];
foreach
$sales = [
"taguchi" => 200,
"suzuki" => 800,
"nishimura" => 900,
];
foreach = ($sales as $key => $value){
echo "($key) $value "
}
# 関数
function sayHi($name){
echo "hi! " . $name;
}
sayHi("Jack");
sayHi("Ken");
初期値の設定
function sayHi($name = "koma"){
echo "hi! " . $name;
}
sayHi("Jack");
sayHi("Ken");
sayHi();
# 小数点以下切り上げ
ceil($x);
# 小数点以下切り捨て
floor($x);
# 四捨五入
round($x);
# 乱数生成
rand(1, 10);
# 文字数を数える
strlen();
# マルチバイトの文字数を数える
mb_strlen();
配列
# 要素の数をカウント
count($colors);
# 配列の要素をある区切り文字で連結して文字列にして返す
implode("@", $colors)
クラスを作る
class User{
// property
public $name;
//constructor
public function __construct($name) {
$this->name = $name;
}
//method
public function sayHi() {
echo "hi, I am $this->name!";
}
}
$tom = new User("Tom");
$bob = new User("Bob");
echo $tom->name;
$bob->sayHi();
# 例外処理
function div ($a, $b) {
try {
if ($b === 0) {
throw new Exception("cannot divide by 0!");
}
echo $a / $b;
} catch (Exception $c) {
echo $c->getMessage();
}
}
div(7, 2);
div(5, 0);
コメント