5月3日 -PHPの基礎、模写-
1.今日の目標
PHPの基礎勉強を進める。isaraの模写を進める。
2.結果・感想
PHPの勉強3時間で7/8まで完了。あと1/8で基礎学習終了。終わったら模写を進めて、明日からのPHP学習は実践編(paizaラーニングのスキルチェック)に移行予定。おそらく基礎学んだだけだと力にはなってないと思う。実際に使えて意味を持つ。Rubyの基礎勉強した後にスキルチェックしたら応用する力がないことに気付いた経験から個人的にそう考えている。PHPの基礎が一通り終了した。明日はPHPに関してはpaizaラーニングのスキルチェックを数問進めてみたいと思う。しっかり使える知識に出来るように頑張りたい。一番簡単なランクDをとりあえず1問クリア。改行があるらしいんだけどtrimをしなくても問題なかったのが気になる所。
模写に関してはこれから取り組む。模写開始時刻は0:50。セクション5まで終了が1:50。模写開始から1時間程で1セクション終わった。力がしっかりついていると感じる。ちなみにセクション5は「iSaraで「基本的なプログラミングスキル」は教えません」の所。ちなみにこの後のセクションを見ると、これまでの繰り返しのようなデザインが多い。大きく違うのは「運営メンバー」「実現可能です」「isaraで学べる内容」「受講の流れ」「資料請求フォーム」「よくある質問」「footer」の各セクションが今まで作ったのとは違うのでそれぞれ学びがあると思う。それらのセクションに取り組んでいく。
はてなブログのプログラミンググループ参加者の最新投稿、読者の方や☆をつけて下さった方、はてなブックマークランキングなどから色んな人の記事を見た。目新しい情報や参考になる情報など満載だった。学んだことを書き出している今の自分の状態は、学んだらそれで終わりだった過去の自分と比べて、知識の吸収率や吸収意欲が高いと感じる。この状態を保つ、あるいは今より高めるために、これからも学んだことをアウトプットし続けるという習慣は継続していきたいと思う。と同時に、タイピングが早くなければアウトプットするのも一苦労だったと思う。大学時代に授業でタイピングを練習させてもらった経験、友達と競い合った経験は今に生きていると切に感じている。
3.学んだことの書き出し
PHPの基礎
クラスの特性を引き継いだクラスを作ることを継承という
継承元のクラスを親クラス、スーパークラスという
継承先のクラスを子クラス、サブクラスという
class 子クラス extends 親クラス {}で継承できる
クラスを継承すると親クラスの__constructも継承される
親クラスのメソッドと同名のメソッドを子クラスで定義するとメソッドを上書き(オーバーライド)できる
クラスを格納する配列=new クラス名(オブジェクト名){}
parent::__construct(メソッド名)で親クラスのコンストラクターを呼び出せるし、メソッド名を指定すれば呼び出し時に指定なしだとデフォルト値として扱われる
コンストラクターにprivate static クラス変数=0;としてコンストラクターが起動された回数クラス変数++;とすればオブジェクトの数が数えられる
public static function クラス変数() {return 親クラス名::クラス変数;}とすればクラスメソッドが出来る
それを使えばオブジェクトの総数を扱える
組み込みクラス:もともとPHPで機能が定義されているクラス
例:DateTime
$now=new DateTime();
echo $now->format('Y-m-d H:i:s');
グリニッジ標準時(イギリス・ロンドンの時刻)が表示される
$now=set%imezone(new DateTimeZone('Asia/Tokyo'));
で東京のタイムゾーンを指定
例外処理(Exception):例外が発生した際に行う処理
try,catch,throws
例外の例:0で割り算、数値変換で数値以外を指定、配列の範囲外にアクセス、ファイルが存在しない、オブジェクトがnull、引数が不正など
fatal error
try {例外を捕らえたいコード} catch (Exception $e) {echo $e->getMessage();} finally {最後の処理;}
echoの後に好きな文字列でエラーメッセージを出せる
echo $eだけ書けばより詳細な情報が出せる
fputs(STDERR, $e->getMessage());で標準エラー出力にエラーメッセージを出せる
throw new Exception();で意図的に例外を出せる
Exceptionの部分は例外クラスのオブジェクトなら変更可能
RangeException想定の範囲を超えた例外
LengthException想定の長さを超えた例外
InvalidArgumentException
Exceptionクラスは全ての例外クラスの親クラス
発生した例外とcatchの例外が異なるとcatchの部分は処理されない
例外が発生した後の処理は飛ばされてしまう部分があるが、finallyブロックに処理を書けば必ず処理される
模写
要素を横並びにするためには横並びさせたい要素それぞれをdisplay:inline-blockにして、widthで幅を指定してあげる。
4.明日の課題
5.参考URL
色の組み合わせ表
SchemeColor.com: Download, create & share beautiful color combinations
HTML/CSSを使って計算機の見た目を作っている、面白い。
今度真似してみたい。
animationと@keyframesを使ってマウスホバー時の色の変化がまた良い感じ。
https://www.kyoruni.com/entry/20190424/calc
勉強時間管理にいいかも。でも時間管理面倒だからとりあえずリンクだけ貼っておく
bootstrap臭を改善するCSSテクニック
仕事を任せられるエンジニアになるために意識してほしいこと
https://tech.tabechoku.com/entry/2019/05/02/182457
WEBサイト構築の流れ
https://jam25.jp/design/zero-web-create01/
丸2年継続した技術ブログで何が変わったか
https://tomokazu-kozuma.com/what-has-the-technology-blog-changed/