book Learning

フレームワークを使う前によくわかるPHPの教科書で勉強すると良い理由

masahide

14年間務めた大手自動車会社を退職 TECH CAMP短期集中コース受講 地元の自社、受託開発企業へ就職 やればできるを発信しています。

4月20日〜6月末(76期)までテックキャンプ エンジニア転職コースを受講し、現在IT企業へ転職活動中のまさひで(@john01tgmck)です。

テックキャンプ 在学中は主にRubyを学んでいました。

しかし、名古屋で転職活動をするとなると、『 JAVA / C# / PHP 』を使用している企業さんが多く、Rubyはほぼ求人がありませんでした。

参考テックキャンプ 卒業後の転職活動記録(東京以外は地獄!?)

【注意!】テックキャンプ の転職保証は「東京」以外の勤務地では無効になります。しっかりと内容を把握した上で受講することをお勧めします。

続きを見る

masahide(筆者)
よし!学習スケジュール立てよう!

学習スケジュール

  1. PHP基礎 ← ココ
  2. WordPress基礎
  3. Laravel基礎
  4. Laravelを使ってweb アプリ作成
  5. JAVA基礎

というわけで、困った時にYouTubeでお世話になっていた「たにぐちまこと」さんの『よくわかるPHPの教科書』を購入

 

動画はこちらです。

学習できる内容

目次

  1. プログラミングとは?
  2. 開発環境の構築
  3. PHP基礎文法
  4. データベースの基本
  5. PHPとデータベースの連携
  6. 応用アプリ作成

応用アプリとしてこのような『ひとこと掲示板』を作成することができます。

プログラミングとは

  • コンピューターに命令を出すこと
  • やりたいことをコンピューターがわかる言葉に変換すること

こちらはCODE .orgというプログラミング学習サイトです。

子供と一緒に楽しく学ぶことができるので、プログラミングの入りにはちょうどよかったです。

 

本書を読む前にやっていた事

おなじみProgateでPHPを1週、ドットインストール でPHP基礎文法を学びました。

そして、何かアプリケーションを作って見たいと思い、本書を手に取りました。

 

 

 

masahide(筆者)
基礎文法ばかり学んでいても眠くなる・・・

 

開発環境構築が学べる

僕はmacを使用しているので、MAMPを使用して環境構築をしました。Windowsの場合はXAMPPを使用します。

MAMPやXAMPPはweb サーバーを立ち上げるアプリケーションになります。

web 上でコードの出力確認をしていくので、サーバーを立ち上げ、web ブラウザで確認していきます。

MAMPアプリフォルダにテキストコードを置いておけば、ブラウザ上で確認できるようになります。

 

PHPとデータベースの連携

基礎文法はProgateドットインストール で勉強していたので、飛ばしました。

masahide(筆者)
本は飛ばして読んでいい!

技術書には必ずしも最初から読み込まなければいけないということはないと思っています。

なぜなら知っていることを何度復習しても新しいことができるようにはならないからです。

というわけで、基礎文法とデータベース学習は飛ばしました。

 

フレームワークを使わないと大変

【フレームワークとは(Wiki)】

プログラミングにおいて、アプリケーションプログラム等に必要な一般的な機能が、あらかじめ別に実装されたものである。使い方としては、クラスライブラリとして実装されている場合は、継承したクラスを作ってユーザーが選択的に上書きしたり特化させたりする(一例であって、他にもさまざまな形態がある)。文脈から明確な場合は単に「フレームワーク」としたり、「アプリケーションフレームワーク」など前や後に別の語をつなげた複合語も多い。

つまり、最初からいろいろ用意されているグランピングをするか、1から自分たちでテントを作るキャンプをするかというイメージです。

フレームワークばかり使っていたので、アルゴリズムを考える力が非常に弱いなと感じました。

本書を読めば、アルゴリズムに強くなり、paizaのランクアップも望めます。

 

ログイン機能の実装

Railsを使ったことがある方ならわかると思いますが「ログイン機能」といえば『devise』というgemがあります。

非常に便利で、簡単にログイン機能が実装できますが、本書の応用アプリである「ひとことTwitter」ではもちろんgem無しで実装します。

ログイン情報を残せるようにCookieを使って一時的に情報を残すこともしています。

Cookie(クッキー)とは、ホームページを訪問したユーザーの情報を一時的の保存する仕組み、またはそのデータです。ID、パスワード、メールアドレス、訪問回数などがユーザー情報として保存されます。これによって再訪問したときにユーザーを特定し、情報を入力する手間が省けます。

例えば、amazonでお買い物をして、次の日にカート情報が残っていたりするのはCookieのおかげです。

 

ページネーションの実装

Railsで「ページネーション」ができる『kaminari』というgemがあります。

こちらももちろんgem無しで実装します。

要件

  • 1ページの中に5件の投稿を表示
  • 次ページを押すと、6〜10投稿目まで表示
  • 最終ページには次ページを表示しない
  • 最初のページには戻るを表示しない

ここで頭を悩ませたのが、次ページへ移行した後の投稿表示です。

1ページ目:1〜5
2ページ目:6〜10
3ページ目:11〜13(end)

2ページ目の6〜10を取得するのに悩みました。

masahide(筆者)
paizaでもCランクでこんな問題出てきます。。。

 

まとめ

本書で学べることはPHPとMySQLサーバーを組み合わせたweb アプリの開発です。

この後にLaravelフレームワークを使った開発を行いましたが、激しく簡単に実装できました。

フレームワークは便利ですが、その構造を理解することで、さらにレベルアップできると感じました。

本では学びにくい!という方にUdemyで動画が出ていたので紹介します。

PHP+MySQL(MariaDB) Webサーバーサイドプログラミング入門

たにぐちまことさんは非常にわかりやすくプログラミングを解説されています。

フロント開発で困ったら、まず、たにぐちさんのYouTubeを視聴しています。

以上で『よくわかるPHPの教科書』を使った感想を終わります。

ここまで読んでいただき、ありがとうございました。

-book, Learning
-,

© 2020 まさブログ Powered by AFFINGER5