2022新入社員ブログ山本慎太郎  第4回

皆さんこんにちは!

もう年末なのですね…気付けば、、街はイルミネーションの灯りで煌びやかです。私はもうすぐ23歳になるので、自分自身に灯りを付けたいですね。

さあ、今回のテーマはPHPとララベルの社内での学習についてです!

7月はPHP、8月はララベル(PHPのフレームワーク)の学習をしました。まだ暑い夏のことでした。

弊社では、PHPを使用したwebアプリ開発案件がいくつかあります。社内研修ではPHPの基礎的な扱い方を1か月かけて学習しました。
学習の課題として、PHPで簡単なアプリケーションを作成しました。機能は↓のような簡単なものです。

機能
・データ新規登録ページ
・登録データ一覧ページ
・登録データ検索機能
・削除機能
・登録データ編集機能

・データ新規登録ページ

入力フォームを作って、データベースに登録する機能を作成します。入力した値が、どのようにしてプログラムを通過しデータベースに入っていくのかを意識しながら作ります。また、不正な入力値がデータベースに登録されないようなセキュリティのことも考えます。

新規登録画面

・一覧表示

新規登録で作成したデータが、正しくページに一覧として出力されるようにプログラミングします。ページネーションという1ページに表示できる件数を設定する機能の実装がとても苦しかったのを覚えています…その分完成した時の快感が強いです!

・検索機能

登録したデータの中から、条件に一致するワードを検索したい!といった機能です。
ここで、6月に行ったSQLの学習が生きてくるのです。ここでも、検索欄に不正文字列の入力でエラーが起きないよう実装します。

検索、一覧表示画面です。非常に検索項目が多いです

・削除機能、編集機能

データの削除や、編集が行えるよう実装します。これも、SQLの知識が生きます。

不明点や、うまく実装できない点などは、先輩社員の力を借りながら、少しずつ完成させていきました。こうして、7月が終わり8月になります。

8月は、laravelに入ります。laravelとは簡単に言うと、PHPの複雑なコードをより簡単にするプログラムとかのひな形です。

laravelを用いて、7月と同じ機能のアプリケーションをまた1から作成します。同じ機能で同じPHPの言語ですが、書き方はだいぶ異なります。例えば、ページネーション

$countlist = $state->fetch(PDO::FETCH_ASSOC);

foreach ($countlist as $data) {

            $countnum = $data;

        }

if (!empty($_GET[‘page_id’]) === true) {

            $page_id = $_GET[‘page_id’];

        } elseif (empty($_GET[‘page_id’])) {

            $page_id = 1;

        }

$offnum = ($page_id – 1) * 10;

$max_page = ceil($countnum / MAX);

    if (empty($page_id)) {

        $now = 1;    } else {

        $now = $page_id;

    }for ($i = 1; $i <= $max_page; $i++) { if ($i == $now) {

            echo $now . ‘ ‘;

まだ、、続く….長いよ…

これをlaravelで書くと…

‘users’ => DB::table(‘users’)->paginate(10)

↑たった一行で!

みたいに、楽に、かつできることも多いというのが特徴なのです。

PHPとララベルの違いを味わいながらの8月でした。

そして、9月になり、OJT形式で実際の業務に入っていきます。

ということで、今回はここまでです。読んでいただきありがとうございます!

よいお年を…