脱オッパッピーのPHPの勉強方法と初心者おすすめの本
「PHPがわかったらなぁっ」ていう願う人は多いのではないでしょうか?
Webサービスを作るまではいかなくてもWordPressのちょっとしたカスタマイズなどPHPがわかると出来ることが格段に広がり、様々なことが自動化できて楽になります。
プログラムには様々な言語がありますが、ちょっとしたホームページやブログのカスタマイズならPHPでほぼ対応できます。PHPは、プログラム言語の中でも比較的習得が簡単と言われておりますが、実際にチャレンジしてみて挫折した人も多いはず。
PHPの初心者向けの本は多数ありますが、PHPを習得するのは言われるほど簡単ではないと僕は思います。現場で学べたり、良い先生が近くにいれば良いのですが、そんな恵まれた環境にいない人も多いはずです。
今回は、独学でPHPがちんぷんかんぷんだけど、大体見えてくるようになる僕なりの方法をご紹介します。
スポンサーリンク
必要な知識
HTMLの知識は必要です。もしわからない場合はまず、HTMLを学習しましょう。
また、ブラインドタッチも出来ると役に立ちます。これはプログラムに限った話ではありません。ブラインドタッチは「やる気」と「慣れ」なのでなるべく早めに手を付けましょう。ピアノやギターでは小指がつりそうな僕でもなんとか出来るようになりました。
ブラインドタッチについては多くのフリーサービスもありますが、僕はかなり昔ですが「特打」で上達しました。「何指を使うのか?」などがよくわかり、お勧めです。すぐにダウンロードできるので覚えたい人はぜひ始めてみて下さい。(※windows)
特打 ダウンロード初心者がPHPを覚えることが出来ない理由
本を購入してもなかなか初心者がPHPを理解できない理由は
- 言語が、理解できない。
- いきなり突き放される。
- 本のコードにバグがある。
という3つの大きな理由の可能性が高いです。
言語が、理解できない。
PHPだけには限りませんが、プログラムには「変数」「配列」「関数」「定数」などなど、「数学出来ないと無理じゃね?」みたいな馴染みのない言葉がガンガン出てきます。「変数」や「配列」はわかってしまえば簡単ですが腹に落ちるまではなかなか不可思議な存在です。「箱?入れ物?変数と配列は同じなの?どうなの?」みたいな。そんな意味不明の言語が連続で出てくると読んでいるうちに頭からケムリが出てきて、
ハイ
オッパッピー!!
小島よしおのギロスチョピ~前へ前へ~ DVDってなります。
いきなり突き放される。
結構多くの本に見られるのですが、途中まで良い感じで勉強できていても、いきなりわからない関数等が出てきて突き放されます。
「えっ?」って。
彼氏とドライブに出て高速でいきなり下ろされる感じ。
PHP書籍の著者は当然、PHPにめちゃくちゃ詳しい人ばかりなので「これくらいはわかるよね?」的なコードが大した説明がなく突如として現れたりするので初心者はその時点で遠い目になります。だいたい、本の中頃あたりでふいに出ます。
本のコードにバグがある。
本の通りにコードを記載しても上手くプログラムが動かない場合が往々にあります。
そんな時は、「本の名前 正誤表」などでググれば大体どの本も用意されているのですが結構、記載ミスがあります。致命的。初心者には当然わかるはずもなく途方に暮れてしまうのです。
PHPのおすすめの本と勉強法
PHPを勉強する上では
- とにかくコードを書くこと
- 簡単なプログラム(掲示板など)を作成してみる事
とよく言われますが、HTMLくらいしかわからないレベルの状態で模写を始めてもなかなか理解できません。僕がまず、PHPを覚えるために必要なことは「全体を見る事」だと思います。これは「簡単なプログラム(掲示板など)を作成してみる事」に当たるのですが、いきなりこれを始めれば良いというわけではなくここに来るにも手順が必要です。
そして、もう一つ大事なのはココまでくる間は無理に覚えようとしない事です。「あ~、そういうのがあるのか~。よ~わからん。」で良いと思います。
まずは言語をボヤッと知る
まず、「変数」や「配列」など基本的な言語を簡単に知るため(覚えるためではなく「知る」ため)にお勧めなのが、「PHPの絵本」です。この本でPHPがわかるようにはなかなかならないと思います。「論理型」とか「NULL」とか「スコープ」とか言われてもオッパッピーですが、PHPにはそういうのがあるのだとめげずにとりあえず「最後まで読む」事が重要です。
この時点では、まだコードを書いたりサンプルを作る必要はないかなと個人的には思います。
やっぱり、おすすめ「よくわかるPHPの教科書」
そして、次に理解を深めるのにお勧めなのが「よくわかるPHPの教科書(たにぐちまこと)」です。先日、セキュリティ面で注意記事(後述)がありましたが、それでも僕はかなりお勧めだと思います。この本の良いところは
- ミス記述が少ない
- 突き放されない(いきなり、わからない事にならない。)
- 必要なこと以外掲載されていない
- わかりやすいサンプルがある
という4点に尽きます。
僕が持っているのは第10刷ですが、だいたい8刷の時点で記事修正が完了しています(正誤表)。そして、だいたいのPHPの本は「hello word」から始まって「正規表現」や「クラス」「オブジェクト指向」など盛り沢山ですが、この本にはPHPで巻末で作るサンプルのためくらいの必要最低限の内容しか記載されていません。
その為、混乱せずにPHPとMySQLを使用してどういうことが出来るのか?という全体を知ることが出来ます。
用意されているサンプルはデータベースを使用した基本的なプログラムと「Twitter風のひとこと掲示板」です。
この、余計な知識はまず置いておいてPHPで出来る事やそれぞれの「意味」の基本を掴めるとようやくPHPを学んで利用していく入口に立つ事が出来るはずです。つまり「変数」や「配列」が実際にどう使われるのか?という事などですね。
但し、これらのコードは「もし『よくわかるPHPの教科書』の著者が徳丸浩の『安全なWebアプリケーションの作り方』を読んだら」にて「安全なWebアプリケーションの作り方」の著者、徳丸浩さんに脆弱性を指摘されていますので、一通り制作してみた後に読むと、良い勉強になると思います。
体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践1点だけ「置いて行かれる」箇所について
先ほど置いて行かれないと、言いましたが一点だけ「?」となるページがあります。P238の
1 2 3 |
<?php if($error['email']=='blank'):> <p class="error">* メールアドレスを入力して下さい</p> <pre class="lang:default mark:1,3 decode:true"><?php endif; ?> |
の箇所です。それまでの説明の「if文」には
1 2 3 4 |
if(条件){ 繰りかえしの内容 }else{ ... |
しか出てこないので、いきなり「endif」が出てきてわからない人は「;」ではなく「:」である事も「ポカーン」となるかもしれません。些細なことですが本当にこういう事で迷宮に入っちゃうんですよ。最初は・・・
参考 http://aym.pekori.to/php/migration.if-endif.html
本を理解する手順
僕は、以下の順だと初心者の方でも頭に入りやすいかなと考えます。
- まず、「よくわかるPHPの教科書」を最後まで読む。よくわからなくても最後までとにかく読む。
- そして今度は最初からサンプル作成前まで読む。よくわからなくても最後までとにかく読む。
- 次にノートに書いて、サンプル作成前まで少し「覚えようとしてみる」
- 次にローカル環境で実際にサンプル前までコードを書いてみる
- 最後にレンタルサーバーで「ひとこと掲示板」を作成してみる
非常に何度も繰り返しで面倒に感じるかもしれませんが、勉強の肝は「繰り返し、復習」です。
最後の頃にはPHPで出来る事が割合とハッキリ見えてくると思います。そうなれば、応用や「こういう時は?」という感じで意味のある学びを進める事が出来るはずです。
レンタルサーバーでの作成してみる
ローカルではなく、実際にレンタルサーバーで作成するとより理解が深まります。(但しレンタルサーバーでのPHPの練習は禁止されています。作成する上で十分な知識がついてから使用しましょう。)
今回は「エックスサーバー」を例にしてみます。
基本的なことはローカルと変わりませんが初めてだとデータベースに接続するためのユーザ名やパスワードが異なる点でも躓くとかもしれません。
1 |
mysql_connect('ホスト名','ユーザ名','パスワード') or die(mysql_error()); |
まずは、最初のデータベースの作成になりますが、本にあるようなphpMyAdminからの新規データベースの作成はレンタルサーバーでは禁止されている場合があります。エックスサーバーも同様です。
その為、最初のデータベースはサーバーの管理画面より作成します。
本書では「mini_bbs」の作成を説明されていますがサーバーにてデフォルトの名称が最初から設定されていますので「(デフォルトの名称)_minibbs」などで作成してみます。あと、画像が「ECU-JP」になっちゃってますが「UTF-8」にして作成します。
「MySQLユーザーの追加」で設定する「ユーザーID(ユーザ名)」と「パスワード」は接続時に使用するのでメモしておきましょう。
「MySQL一覧」にてユーザーを設定すれば準備完了です。
先ほどの「ID」と「パスワード」で管理画面の「phpMyAdmin」よりphpMyAdminに入れるようになります。
①のところをデータベース接続の「ホスト名」に記載して、前述の「ユーザーID(ユーザ名)」と「パスワード」を記入すればOKです。後は本の通り進めれば大丈夫です。
相対パスについて
また、相対パスについても理解をしておく必要があります。その点は下記の記事がわかりやすいです。
参考 http://masaboo.cside.com/new_html1/ht_67.htm
次のステップにおすすめの本
紹介した「よくわかるPHPの教科書(たにぐちまこと)」は最初の取っ掛かりとして最適な本ですが、まだまだPHPには学ぶべき事があります。そういった上で次にお勧めなのが「PHP+MySQLマスターブック」です。この本は初版が2014年1月と新しく、「クラス」や「PDO」、その他のよく使うであろう関数や「よくわかるPHPの教科書」には触れられなかった点がわかりやすく記載されています。サンプルの制作方法も「よくわかるPHPの教科書」とはまた異なっており、勉強になると思います。
PHP+MySQLマスターブックWordPressのカスタマイズ
これらで得た基本的なPHPの知識を元にWordPressのカスタマイズに臨むなら「基礎からのWordPress」がお勧めです。著者の高橋のりさんはブログの「Webデザインレシピ」同様に初心者への痒いところに手が届く細かい配慮された内容で且つ、初心者と題しながらWordPressの仕組みを非常にわかりやすく説明してくれています。
基礎からのWordPress (BASIC LESSON For Web Engineers)
ここまで来たら、あとはどんどん手を動かして色々なものを作成していくだけだと思います。サンプル中心の本、「Webサイト制作者のためのPHP入門講座」には「ぐるなびWebサービスのモデル作成」が掲載されています。
まとめ
「PHPなんて簡単だ!」という言葉に騙されて甘く見ていると、なかなか最初の「山」を越えれないんですよね。。
僕自身もまだまだですが、特に最初の頃はオッパッピーの連続でした。読んでいる方のレベルによって良い参考書も学び方も違いがあるとは思いますが、オッパッピーな方はぜひ参考にしてみて下さい。
2014/03/12 | WordPress対応!おすすめのサーバー
この記事が気に入って頂けたらシェアしてくれると嬉しいです。
関連記事
-
WordPressで掲示板を作成する方法~bbsPressの使い方
参考 http://bbpress.org/ 実はなんとなくSTING...
-
続き > 構造化データエラーとアクセス(検索順位)の関係について
※この記事は先日の記事の続きです。 先日の構造化データとアクセス減の記...
-
WordPressユーザー要注意!〜構造化データのエラーでアクセス激減?
既にSTINGERサイトにも告知済みなのですが、当ブログのRSS登録ユ...
-
[ネタ] WordPressプラグインのGoogle Publisher Pluginを試して驚いた
め~んずスタジオさんの記事を見て、 参考 超便利!Googleが公開し...
-
STINGER-ZEROの限定公開~サテライトサイト用テーマ ※Facebookファン専用
自分用に欲しくて、サテライトサイト用のSTINGERテーマ、 「STI...
-
STINGER公式キャラクターのお知らせ
この記事は、RSS登録の方へのお知らせ用です。 僕のWordPress...
-
iPhoneアプリでアフィリエイト!PHG対応WordPressのプラグイン
先日の「僕のWordPressブログで効果を出している+αなカスタマイ...
-
僕のWordPressブログで効果を出している+αなカスタマイズ
ブログをやり始めて、見て貰えるようになるには時間と努力、そしてチャンス...
-
CloudFlareよサヨナラ! WordPressの表示速度が改善するプラグイン「Photon」
僕はずっとWordPressの表示を速くするためにずっと、「Clo...
前の記事: [SEO] ブログ記事の順位変動が見える6つの事例紹介
次の記事:
コメント/トラックバック
トラックバック用URL:
この投稿のコメント・トラックバックRSS