【PHP】*変数定義の方法について*

「変数定義の方法について(PHP)」をテーマに書きたいと思います!

PHPにおいては、このような書き方で変数を定義します。

<?php
 $name = 'Ichiro';
 //「$」記号を頭につける!
?>

変数の値を出力したい時は、このように書きます。

<?php
 echo $name; //出力:Ichiro
?>


変数名のつけ方にはルールがあります!
良い例・悪い例を見ていきます。

■良い例

<?php
 $name → 英単語を使う
 $userName → 二語以上の時は大文字で区切る
?>

■悪い例

<?php
 $3name → 数字で始まる ※エラーが出る!
 $tokuten → ローマ字 ※エラーは出ないが非推奨
 $年齢 → 日本語 ※エラーは出ないが非推奨
?>

このようなルールがあります。

【PHP】*文字列・数値の出力方法について*

「文字列・数値の出力方法(PHP)」をテーマに書きたいと思います!


例えば Hello, World! 
という文字列を出力したい時は、このように書きます。

<?php
 echo 'Hello, World!'; //出力:Hello, World!
 //もしくは
 echo "Hello, World!"; //出力:Hello, World!
?>

ポイントは

<?php
 //この中に命令を書く!
?>

そして

<?php
 echo '〇〇〇〇';
 //「echo」の後に出力内容を書く!
 //「;(セミコロン)」を末尾につけて区切る!
?>

セミコロンを忘れるとエラーになるので注意です!


さてここまでは文字列の出力でした。
では数値の場合はどうなるのか。


例えば、数値として「5 + 2」の計算結果を出力したい時は、このように書きます。

<?php
 echo 5 + 2; //出力:7
?>

文字列の時のようにシングルクォーターやダブルクォーターで囲みません。
もしシングルクォーターやダブルクォーターで囲むと、出力結果が変わります。

<?php
 echo '5 + 2'; //出力:5 + 2
?>

文字列と判断されて「5 + 2」という文字列が出力されます。

【Ruby】*制約*

「制約」をテーマに書きたいと思います!

 

■制約とは
DBのテーブルのカラムに対して制約をかけ
不正なデータや予期せぬデータが保存されることを防ぐことです。
制約とは特定のデータの保存を許さないためのバリデーションです。
例:同じメールアドレスのユーザーを登録できないようにする
例:名前のデータが空のユーザーを保存できないようにする
 
■制約の種類(4種類)
①NOT NULL制約
②一意性制約
③主キー制約
④外部キー制約
 
ではそれぞれについて見ていきましょう!
 
①NOT NULL制約
 テーブルの属性値にNULL(空の値)が入ることを許さない制約です。
 例:usersテーブルのnameというカラムにNOT NULL制約を設定すると
   nameが空(nil)のレコードは保存できなくなります
   ※名前がないと保存できないということですね!
 
記述はこうです!マイグレーションファイルに記述します。

f:id:strangechameleon8701:20190118211637p:plain

 
②一意性制約

 カラムに設定する制約です。
 「一意性」とはユニークで他とは違うという意味です。
 一意性制約を設定したカラムには同じ値を設定できなくなります
 例:Aさんのemailが「test@gmail.com」だった場合

   emailが、同じ「test@gmail.com」の他のレコードを保存できなくなります。

 一意性制約はテーブル内で重複するデータを禁止する制約です。

 emailカラムに対して一意性制約を設定すると同emailのレコードは保存できません。

 Railsでは、カラムに対してadd_indexメソッドを用いることで

 一意性制約を付けることができます。

 

記述はこうです!マイグレーションファイルに記述します。

f:id:strangechameleon8701:20190118213204p:plain

 

③主キー制約

 レコードが必ず主キーを持っていなくてはいけないことを保証するための制約です。
 主キーである属性値が必ず存在してかつ重複していないことを保証する制約です。
 ※Railsでテーブルを作成する際、主キー制約は元々実装されています。

  Railsでは主キーはidカラムとして自動で作成されます。
  つまりidカラムの値は重複しないようにできています。

 

④外部キー制約

 外部キーに対応するレコードが必ず存在することを保証する制約です。 
 例:student_idが3のレコードを保存するためには

   studentsテーブルにidが3のレコードが存在していなくてはいけません。
 外部キーのカラムに値があっても、その値を主キーとして持つ

 他のテーブルのレコードがなければいけません。

 

記述はこうです!マイグレーションファイルに記述します。

f:id:strangechameleon8701:20190118220838p:plain

 

ユーザー登録の実装や

異なるテーブル同士の紐付けが必要になるような実装を行う際は

この「制約」について理解しておかなければと思います!

 

以上「制約」についてでした!

*自己紹介*

はじめまして!

ブログを開設してみました!

puts "Hello, World!"

タイトルのこれは、プログラミング言語Ruby」のコードです。

僕は毎日プログラミングをしております。

勉強になった事、その他プログラミングにまつわる記事を

定期的に書いていこうと思います!

 

2019年現在、僕は新米のエンジニアです。

同じく新米エンジニアの方や、エンジニアじゃない方にも

「ほお!」とか「へえ!」と言って読んで頂けるようなものに

できればいいなと思っております!

 

ちなみにタイトルの「puts "Hello,World!"」というコード。

これを実行すると「Hello, World!」という文字が出力(表示)されます!

f:id:strangechameleon8701:20190115165234j:plain

「puts "〇〇"」というRubyのコードを書くと

putsの後の〇〇という文字が出力されます。

 

よろしくお願い致します!