こんにちは!むちょこです。
PHPが大好きで、かれこれ10年くらいwebエンジニアをしています。
今日はリクエストいただいたオススメの勉強方法について詳しくお話してみます。
長いので前編後編に分けました(後編はこちら)。
必要な環境を用意しよう
先にHTMLやCSSに触れたことがある方は驚くかもしれないし、別のプログラミング言語に触れていた方は当たり前でしょと思うかもしれませんが、なんと悲しいことにPHPはブラウザだけでは動きません。
webサーバというものが必要でして、よくApacheが採用されます。他にもNginxなどがありますが、情報量の多さ的に初めはApacheを選択する方が無難かなと思います:)
Apacheのインストール方法は「apache インストール CentOS7」などで調べるとわんさか出てきます。CentOS7の部分は適宜インストールしたい環境の名前に変えてください。
Apacheがインストールできたら、PHPもインストールします。検索方法は同様に「PHP インストール CentOS7」などで調べると、これまたわんさか出てきます。
バージョンは基本的に最新の安定版がおすすめです。古いものは徐々に非推奨やサポート終了になる可能性があり、市場から消えていきますので、特に理由がなければ最新版をインストールしましょう。
「環境構築めんどくさい!耐えられない!!!」
という方も、ご安心ください。
PHPは人気の高いプログラミング言語なので、VPSによってはコントロールパネルの操作だけでインストールが完了するものもあります。
よかったらこちらもご参照ください。
挫折しない!自分で構築しなくていい開発環境3選PHPのインストールと設定が終わったら、次はエディタを用意します。
巷ではエディタ戦争が起こるほどこだわりが強い方が多く、自分に合うエディタを見つけるまではいろいろと迷うかと思いますが
まずは以下が満たせるエディタならなんでも良いと思います。
- 文字コードが指定できる
- 行数が表示できる
ちなみに私はvimを使ってます。
書き方を学ぼう
PHPを始める準備ができたら、PHPのお作法を学びましょう。
方法はPHPの公式マニュアルでも、書籍でも、Progateでも、なんでも良いです。
1点注意してほしいのが、ひとつひとつを完璧に覚える必要はないということです。
真面目な人ほど、完璧に暗記するまで丁寧に反復練習をしてしまいがちなのですが、最初のうちは都度ググりながらの開発でも全然大丈夫です。
ここでは、「どんな書き方やルールがあるのか」「どんなことができるのか」を”知る”に留めてください。
時間が勿体ないので、一通りやったらさっさと次にいきましょう。
なんなら私未だにforeach文の書き方とか度忘れすることありますからね、、、大丈夫大丈夫。
そのうち手が勝手に覚えて、忘れていても何故か打てるという現象が起こります。
プログラムを組んでみよう
さて、ここからが本番です。
人によっていろいろな勉強方法があるかと思いますが、私はひたすら開発をするのが一番の近道だと思っています。
先ほど学んだ書き方を確認しながら、早速開発をしてみましょう。
もし既に作りたいものがあれば、もちろんそれを作っていただいてかまいません。
もしなければ、私から課題を出してみたのでよかったらやってみてください☆
各課題のサポートや、成果物のコードレビューをしてほしい方は、こちらで受け付けています!
レベルに合わせてより良いコードを書くためのお手伝いをさせていただきます。
「とりあえず動く」から一歩先に進みたい方は、ぜひご利用ください!
- for文・while文・foreach文のいずれかを使って、九九表を作る
- 偶数にのみ背景色をつける
実装例
ProgateのPHP2周目が終わったので、@aya_lachelier さんのhttps://t.co/tZns7mhA0uをやってみました。見た目はショボい(デザイン皆無でツライ)としか言えませんが、あれこれ考えて作るのはやっぱ楽しい。
— hayato (@haya_hayabusan) August 5, 2018
カレンダーも作ってみる! pic.twitter.com/7YxBZYprOn
むちょこさん@aya_lachelier の課題に挑戦
— けちーん? (@k_suke5110) December 12, 2018
出来なかったらどうしようとビビりながらでしたが、できてよかったε-(´∀`*)ホッ
クラス名とかはあれだけども…
PHPに最近触れれてなかったので復習
まだ省略できそうなところはあるのだろうかhttps://t.co/7BNIiRbj83 pic.twitter.com/fR2chlbrUV
- Datetimeクラスを使って、カレンダーを作る
- 初期値は今月のカレンダーを表示する
- 「前月へ」「翌月へ」というリンクを用意し、クリックすると表示中の月の前月や翌月を表示する
実装例
シンプルながらようやく完成!!
— hayato (@haya_hayabusan) August 8, 2018
これからフレームワークを導入していきます。CakePHPかLaravelかどっちがいいんだろう・・・ pic.twitter.com/AocNo88tkl
PHPでカレンダーの実装をしてみました!
— るー@Laravel勉強中 (@ru_programing) June 19, 2019
DateTimeクラスの使い方がなんとなく分かった気がする。むちょこさん(@aya_lachelier )のYouTube解説見て、変えられそうなところをアレンジしてみた? pic.twitter.com/9Lmo2IX3RB
ヒント
DateTimeクラスの使い方がわからない方は、こちらの記事をどうぞ✨
PHPのDateTimeクラスで日時を扱う
- 任意の問題と回答フォームを3つ用意する
- 回答フォームの入力欄は、それぞれ文字列、チェックボックス、ラジオボタンとする
- 送信された回答が合っているかどうかを判定して、〇×の結果を表示する
実装例
引き続き、むちょこさん(@aya_lachelier)のブログで勉強を進め、中級課題のクイズを作成してみました!
— るー@Laravel勉強中 (@ru_programing) June 20, 2019
課題の要件満たしてるかは怪しいけどそれなりにやってみた?♂️
この調子で掲示板作成もやってみます。これは難易度高そう、、 pic.twitter.com/KosNrLPwoc
今日はもくもく会でこれをやっていた(๑و•̀ω•́)و✨
— ゆきた@スリープ中 (@yukita_jp) December 15, 2018
むちょこさん@aya_lachelierのブログ https://t.co/GEo1fY9BQE
の中級(最後のやつ)٩( 'ω' )و
こういうことでいいのかな( ๑´•ω•๑)?
ソースコードは相変わらずのクソコードですが…(*´-`)#非公式Progateもくもく会inNara pic.twitter.com/GsKvqCA3Cg
ヒント
これはGETとPOSTどちらを使った方がいいの?と迷った方は、こちらの記事をご覧ください
GETとPOSTの使い分け方法各課題を作り終わった方、お疲れ様でした!つづきは後編へどうぞ!
PHP初心者の方にオススメの勉強方法[後編]
[…] PHP初心者の方にオススメの勉強方法[前編] […]
[…] […]