はじめに
私は広島で駆け出しエンジニアをやっている学生インターンです!今までいくつかのウェブサイトを作成してきて、特に便利、大切だと感じた技術を自分の経験と一緒に紹介したいと思います。これからウェブサイトを作りたい!PHPでポートフォリオを作っているが、何をして良いかわからない。そんな方の少しでも助けになればと思います!
目次
- 自分が作成したウェブサイトの概要
- セッション
- 正規表現
- トランザクション
- PDO
- 最後に
- 参考文献
#1 自分が作成したWebサイトの概要
-
#####サイトの目的
- 部活動紹介ができるサイト
-
#####開発環境
- エックスサーバー
- データベース
- MySQL(phpmyadmin)
- フロント
- HTML
- CSS
- ちょっとJavaScript
- バック
- PHP
-
######実装した機能
- ユーザー管理機能(サインアップ、サインイン)
- 投稿機能
#2 セッション
セッションとは、通信の開始から終了までのことです。 クライアントとサーバーで通信を行う場合であれば、クライアントからサーバーへ接続した時点でセッションが始まり、サーバーから切断するとセッションが終了します。 この一連の流れを管理することをセッション管理と言います。
実際に利用できるところ
PHPでセッションに変数を持たせることができます。変数を持たせることで、ページ遷移しても、指定されたページから現在のページに遷移してきたのだということが確認できます。ログインの時などにIDとパスワードを入力した後ページ遷移すると思いますが、これにより他ページからの侵入を防ぐことができます。似たもので、トークンなどもあるので調べてみてください。
#3 正規表現
正規表現とは、ある特定のパターンを持つ文字列を指定する表現記法の一つです。
####実際に利用できるところ
ログイン時に、ID,パスワードを入力すると思います。それにデータベースを操作するSQL文などが含まれていたとします。すると、悪意のある人に、簡単にデータベースに保存されていた個人情報を抜き取られてしまいます(SQLインジェクション)。これを防ぐため、IDやパスワードにSQL文で使われるような文字が含まれている場合はログインができないようにしなければなりません。そこで使えない文字を指定する必要性が出てきます。その使えない文字を正規表現で表現することができます。
こちらに正規表現がチェックできるアプリがあるので、参考にしてみてください!
#4 トランザクション
トランザクションとは一連の複数処理をひとまとまりとしてまとめたもののことです。
####実際に利用できるところ
具体例をいうとデータベースの処理をする過程にデータベースに接続する過程、データベースの情報を探す過程、その情報を変数に格納する過程の3つがあるとしましょう。すると、PCなどの環境的問題や、間違えて変な入力をしてしまい、処理が途中で止まってしまった場合、データベースの情報が壊れてしまったり、流出してしまったりということがあります。それらを防ぐためにトランザクションを利用します。トランザクションは上の例で言えば一連のデータベースの処理において途中で処理が終わってしまった場合は、その途中の処理を破棄して、トランザクションが始まる前に戻すという目的で利用します。それによりデータベースが壊れてしまったり、情報が流出してしまったりすることを防ぎます。逆にデータベースの処理が正常に行われたときはトランザクションを終了し、次の処理に移ります。
#5 PDO
PHPを使ってポートフォリを作成する初学者も多いと思います。データベースを利用するといったらMySQLかPostgreSQLが主流なのではないかと思います。PHPではSQLが利用できる関数があります。例えば、mysql_connect関数や、pg_connect関数などです。これらはSQLごとに使えるハンドラですが、もし違うデータベースを利用したいとなったときどうするのか、という問題が出てくると思います。
####実際に利用できるところ
PDOは何のデータベースを使っているかを隠蔽してくれるもので、PDOを使うことで、どのデータベースを利用する場合でも同じ関数を使うことができるので、将来データベースを変更することがあっても、PDOオブジェクトを作成する時に指定したパラメータだけを変更するばいいことになります。そのため変更をしやすくなるという利点があります。
#6 最後に
自分はまだまだ未熟なため、自分の成長を楽しみながらやっていければと思います。初学者の皆さん一緒に楽しみましょう!
#7 参考文献
https://www.javadrive.jp/php/pdo/