Quoraにてこんな質問が出ていました。
Do developers memorize all tags, classes and functions?
開発者はタグやクラス、関数を全部覚えているのですか?と。
まあざっと回答を見る限りNoが多いですね。
僕の感覚で言うと、
HTMLタグ:8割は覚えているかな。HTML5で増えたタグとかはちょっと自信なし。
クラス:bootstrapのクラスなんかはあまり覚えていない。col-sm-6とかよく使うものくらいかな。
関数:言語にもよるけど、やっぱり覚えていないものが多い。覚えていても引数が怪しかったり。
それでもまあどうにかなるものです。
ある程度はあいまいでもちゃんと検索すれば少しググれば出てくるし。
ほとんどの案件はもともとあるものに付け加える感じですし。
mysqli_connectとかだいたいラッパーされているしフレームワークによって違うので、覚えてもキリがないというか。
ただ、関数の仕様とかは覚えておいたほうがいいものは多いのですけど。
こういう関数をこう使ったらバグが出た、とかは覚えておいたほうが同じミスは防げるようになるので。
昔は色々オフライン環境で動かす事も多くて辛かったことも多いけど、やっぱりWeb界隈はWebで検索しながらになってしまうのですよね。
コピペのつぎはぎはあまりしたくないけど、そうならざるを得ないこともあるのが悲しいところ。
あと、関数覚えるよりも使い方を覚えたほうが色々と役に立つこと多かったりするかも。
PHPのfile_get_contentsは関数にタイムアウト時間を設定できないからcurlを使ったほうがいいとか、そういう細かなところは関数だけ覚えていてもしょうがないです。