こんにちは。zer0_256です。
2回目の投稿になります。完全に自分のためのアウトプットですが誰かの役に立てたら幸いです。
今回はタイトルの通り、1ヶ月でPHPをやってみた感想などを書いていきます。
※大学との兼ね合いもあり、今回MySQLはやっていないのでPHPのみの感想やアウトプットになります。
開発環境
まずは前提事項を共有。(この情報は2019年6月19日現在の情報)
PC: MBP(OS Mojave 10.14.5)
ツール: VirtualBox(ver 6.0.8)
Cyberduck(ver 7.0.0)
・Vagrant
・CentOS
エディタ: VSCode(ver 1.35.1)
Mac純正ターミナル
なぜこの環境を選んだのか
MacなんだからXAMPPとかMAMPじゃないのかという声が聞こえてきますが、これには割とちゃんとした理由があります。
今大学でC言語をやっているのですが、大学で使用するソフトはWindows専用。
最初はXcodeでやってたんですが、ある日ファンが回りまくり、キーボードが触れないレベルに暴走。
原因はXcodeでした。。。(スペックが8GBで妥協した自分も悪い気がします笑)
というわけでローカル環境にC言語をどうせ移行するんだったら、PHPも同じ環境でやればいいかなという考えがありました。
ただ、タブが増えるのでモニター出力してない自分のような人にはあまり勧めないです。
偶然大学の別の講義で仮想サーバーの話をしていたので自分はラッキーでしたが、これを勧めるかと言ったら微妙。
ドットインストールユーザーなら勉強がてら作ってみるのはアリかなと思います。
ただ、割とCyberduckが機嫌良くなかったのでそこだけは注意。
私が使ったのはこちら。
ローカル開発環境について
Unixコマンドについて少し触れておきます。
PHPとかをやるだけなら
・ls
・cd
・mkdir(ファイル転送ツールで作ることが多かった)
・pwd
・tabキーでの補完
・矢印キーの履歴使用
これだけ知ってれば不便はないです。
この辺やればすぐに出来ます。あとは慣れ。
Unixコマンドについて
前置きが長くなりましたがここからが本題
#作ったもの
・おみくじ 初心者向け(配列とecho、組み込み関数が分かればできる)
・掲示板 メッセージとユーザーを入れて年月日、時刻とともに表示
・画像アップローダー 画像をアップロードするだけだが、結構歯ごたえある。(あくまでも個人の見解ですが)
やってみて
まず思ったのは、JSやHTMLとかに比べて反映されるのがバック(ユーザーに見えない部分)が多いから。エラーをブラウザに表示する工夫をした方が楽。ということ。
自分はそう言いつつターミナルのエラー文を読んでました笑
今回はLTの登壇の日程が迫っていたので基礎からじっくりプロダクト作成までに行く時間と余裕がなく、(一応普通に大学生やってますしw)基礎をサラッとやってから分からないところを埋めていくって感じでやってました。
基礎を最初にやるのは大事ですが、そこに長い時間をかけるのも割と時間が勿体無い。
でも、基礎からプロダクトを作るというハードルは確かに高いです。
逆に、今回は時間がなかったからこそ、こういう順序でしたが結果的にやってよかったなと思います。
しかも、プロダクト作ってる時って楽しいですが、基礎ってぶっちゃけつまんないなーってずっと思ってて。
最初って他の言語との違いとかに苦しむと思うんです。
おみくじとか簡単なものでも、基礎の時に配列ってどんなメリットあるのかなとか思うことあると思うんですが、それがプロダクトの中でどう使われているのかを知ることで基礎やってよかったって思うんですよね。
最初は自分でも出来そうなものを選んで(最初のうちはレベル差を知るだけでも大変だとは思う。)、そこからステップアップしていくのがいいと思います。
私が個人的に苦戦した箇所
・変数に$マークをつける
これはコード書きまくるうちにめっちゃ出てくるからいやでも慣れる
・foreach
あまり得意ではなかったけど、プロダクト作ってると結構出てくる。
ふーんって感じでも問題ないような気がする。知りたいと思ったらググるくらいの気持ちでいい。
配列の中身を一つずつ出せるくらいの認識。
・class instance constructor
最初にやると絶対ここでぶつかる気がする
クラスは抽象的
インスタンスは具体的って認識。
これは慣れるしかないと言っても違和感が残るような気がするからわかる人に聞いた方が早い笑
終わりに
なんかグダグダな感じになってしまいましたが、次はMySQLも絡めてプロダクトを作っていきたいと思います。
ここまでお読みいただきありがとうございましたm(_ _)m