2019.5.18
プログラミング動画の下準備【PHP編#1-アジェンダ-】
この前みたいなノリで、続編であるPHP編のアジェンダもここに記してみようかなって思います。
とはいえ、内容自体がまだふんわりとしてる、っていうかこれに関しては
実際に公開するプロダクト(Anonymous)を作りながら収録するっていう形になるので、正直展開は予想できません。
が、大枠ぐらいは決めておけるのでいまのうちに決めておこうと思います。
1章:プレーンPHP編
基礎的な文法ですね。ぶっちゃけこれだけで一ヶ月は持ちそうなんですけど、詳しくは僕と契約して個人授業受けてね^^^みたいなスタンスでいればいいかなって感じはします。
1-1:phpの環境設定
そーーーーなんですよね。まずphpを表示するためにローカルサーバーを立てなくちゃいけない。こんなのは最初にやるべき話ではないので手を抜く方法を考えます。
いちおうXAMPPとかMAMPとかの紹介をしながら、もちっと簡単に開発環境を構築できる方法を紹介できたらと思います。探して・・・・・・。
レンタルサーバー持ってる人だったら、そこにうぴーするのが一番簡単ですけどね。たぶん僕も最初そうやってたような気がします。
1-2:変数と関数、そしてその引数
開発環境が整ったら、まずは変数と関数についてです。とにかくページを表示させることを優先したいので、書き方だけパパっと教えて雰囲気だけ掴んでもらうのがいいのかなぁと思ってはいます。
ちなみに型についてはやんなくていいかなって思ってます。そのありがたさがわかるのってもう少し後のレベルだと思うので。オブジェクトに関しても同様です。ありがたみがわかって初めて身につくと思います。
2章:Laravel編(1)
ここで、本格的にLaravelを導入し、爆速でWebサービス作りましょう^^っていうお話にシフトできます。
最初は小難しい話抜きにして、とりあえず使ってみようって感じです。
2-1:Laravel環境設定
まぁこれは避けて通れないので頑張ってやりましょう。composerのインストールからサーバー起動まで。
ローカルサーバーが最初から立ってる状態だとよりよいのですが、そんな沼になるようなのをやりたい人は自分で導入して下さい。とにかく安全にartisanサーバーで最初はやったほうがいいと思います。楽しいことから先にやりましょう。
2-2:ルーティングとビュー
ページを表示させるところですね。とりあえずこんな風にすればページは表示できますね、みたいなのをやって、プログラムが必要ないページをHTML編の知識と合わせ作っていっちゃいます。
2-3:フォーム
こっから先の予定は変更する可能性がおおいにあるんですが、とりあえず暫定的にこんなのが必要になりそうだなぁというのを書いておきます。
HTMLの話になるんですが、フォームを作ることになりそうですね。そして値を取得しそれにアクセスするところまでやろうかな。
あ、バリデーションとかに関してはやらないです。楽しいことだけを最初はやった方がいいので。セキュリティの話はまたこんど。
2-4:データベース環境設定
フォームに入力されたものってどうやって保存してるの?っていう話ですね。
SQLiteを使って手軽に作っちゃいましょう。ただ、artisanコマンドからmysqlが覗けるのであれば最初からそっちで作ってもいいかも。悩むところ。
2-5:データベースの基本操作
基本となるCRUDの文法です。とりあえずこれを知っとけばデータベースから引き出せるよ、っていうのをクエリビルダなんか使ってやろっかなーと。
3章:Laravel編(2)
現段階で構想するのはこのあたりまででいいんじゃないか感あるんで、ここまで考えて先は様子を見てって感じかなぁ。
とりあえずデータをサーバーに突っ込んで、それを表示させる、ってとこまでは実装できたので、そこから先の話ですね。
ただ、方針としてどうすべきかってのは悩んでいます。簡単に見せるには、とにかくスパゲッティコードで書いて後からリファクタリングするという手法です。
ただ、個人的には最初から疎結合なコードを目指して書きたいところです。悩みますね。
ちょっと予定を考えてみたんですけど、
やっぱり現時点で予定立てるのは無理って思ったんで切り上げます。
最低限動くようなプログラムを書きつつ、「ここで、コードを修正しようと思った時だるいなあって思うじゃん???」「そこでこれを使います!」みたいな流れがデフォルトになりそうです。
ここらへんでオブジェクトだったり、型だったり、っていうのに手を出そうかなぁと思ってます。
そう、オブジェクトだったら、この日記とかでやらかしてる大失敗として
大量のよくわからん変数を引きずり回すということをしなくても済みますし、型があれば
変数の中身が何なのかよくわからなくなるっていう問題を解決できます。
僕も最初、こういった型のありがたみがわからなくて、とにかくゆるい型を使ってたんですが、今ではガチガチに固めないと気が済みません。何が入ってるかわかってない変数なんて怖すぎます。null安全であってくれ・・・・・・。
そう、もしかしたらコードの実体をちょろっと紹介したかも知れないんですけど、基本的にこの日記って
わりとゴミみたいなプログラムで動いてます。
あまりのメンテナンス性の悪さにリファクタリングしようとしたことがあるぐらいです。結局旨味が少なすぎて諦めたんですけど・・・・・・まじバベルの塔なんですよ・・・・・・何か機能を追加したいなぁって時ほんとにしんどい(笑)
オブジェクト使えば一発で済むようなものをわけわからん引数で引きずり回してるせいでまじで読みづらいし、新しい変数を組み込み辛い・・・・・・。
こういうクソプログラムを量産しないためにも、しっかりとした知識を身に着けましょうね^^^っていう動画にしたい(笑)
僕がほんとに動画を撮ってやりたいことは、このあたりの後悔の話だったりします。なので、ここに到達するのがほんとに楽しみです。
一般的なプログラミング学習って、オブジェクト指向の話がぽんと出てくると思うのですが、
なんでそれがあると嬉しいのか?ってとこに全く触れられてないことが多いんですよ。
もちろん概念的には説明されはするんですけど、やっぱ実例がないとピンと来ないと思います。それを解決したいなぁと。収録するの楽しみです。はい。