
はじめまして。
現在、phpを独学で勉強しています。
as3も多少触った事があるので、phpの柔軟な動きに感動して、楽しみを覚えています。
現在は、「パーフェクトphp」と言う本を片手に勉強を続けているのですが、自分のレベルより本のレベルが高いように感じてます。
現在はフレームワークを作っているのですが、正直最終的にどのような動きになるのか理解できないまま、本を参考に書いています。
最近、このような勉強方法に意味があるのか?と疑問を感じるようになりました。
でも、冷静に考えてみると、次のレベルのプログラムを覚えようと思うと、必ず必要な事だと感じてます。
そこで、質問なんですがみなさんは、初めどのようにしてプログラムを覚えましたか?
私のように最初は意味が今一つかめていなくても、参考書などを最後まで読み通すことで、ある程度理解できるようになるのでしょうか?
ちなみに、私のレベルはphpの本当に基本的な事は理解できていると思います。
オブジェクト指向やクラスと言った事も意味は理解していると思います。
ただ、今までフレームワークを余り使ったことがなく・・・正直、本を片手にプログラムを書いていても意味があまりないのでは?
と疑問に思ってしまいます。
なにか、よい勉強法などがあれば教えて頂けませんか?
宜しくお願いします。
No.5ベストアンサー
- 回答日時:
>PHP絡みの参考書で「オブジェクト指向」について理解が深まる書籍があれば教えて下さい。
現時点では、そういう書籍は和書では出版されていません。
もともとPHP自体が、オブジェクト指向を念頭に開発されたものではなく、そういう専門知識を持たない非プログラマでもちょっと勉強すれば、Webシステムを簡単に作れるというのが売りでした。
それで、PHPを使ってWebシステムを開発し、e-コマースなどのビジネスを始めるベンチャー企業が急増してしまった。
そして他社との差別化を図るために、他社よりも見栄えも使い勝手も良いWebシステムにしようと、システムがどんどん肥大化していったわけです。
そうすると、必然的にオブジェクト指向で開発をしないと収拾がつかない状態になったので、PHP5から、オブジェクト指向の一部をサポートするようになりましたが、2009年リリースのPHP5.3までは、名前空間がサポートされていなかったので、PHPを使った本格的なオブジェクト指向開発を行える環境が無かったわけです。
そんなわけで、PHPをベースに「オブジェクト指向」を解説した書籍が、これまで出版されてこなかったし、PHPはやたらと関数を多用するので、PHPを通じて「オブジェクト指向」の設計手法を初めて勉強するのは、あまり適切ではないと思います。
「オブジェクト指向」によるシステム設計手法を初めて勉強するには、Javaをベースにした専門書を読むのが一番良いんじゃないかと思いますが、そのためにはJavaを修得しないといけないというジレンマがあります。
No.4
- 回答日時:
「パーフェクトPHP」は私も持ってますが、あれは他言語でオブジェクト指向を修得済みの人が、PHPでオブジェクト指向プログラミングをする場合の参考書です。
本の中でも、「本書はオブジェクト指向についての解説書ではないため、…、オブジェクト指向プログラミングに関する専門的な内容は、他の参考書を参照してください。」
と書いてあります。
なので、本の中のサンプルコードを写経しても、
>このような勉強方法に意味があるのか?と疑問を感じるようになりました。
という状況に陥るのは当たり前です。よって、
>オブジェクト指向やクラスと言った事も意味は理解していると思います。
とありますが、オブジェクト指向やクラスについて、99%、理解していないと思います。
先ず、オブジェクト指向プログラミングについて、きちんと理解することを勧めます。なお、世界的に全く知られていない日本の三流ライターが書いた入門書によく出てくる
「オブジェクトとは、現実世界に存在する”物”の抽象的概念をコンピュータ上に実現したモノである」
という説明は、”完全に”間違っていますので、オブジェクト指向について、世界的に認められている第一級の専門家が書いた専門書を読んでみることを勧めます。
この回答への補足
回答ありがとうございます。
確かに・・オブジェクト指向について頭でっかちになっていた部分があると思います。
回答者さんが言われるように、100%の理解は得れていないと思います。
>>「本書はオブジェクト指向についての解説書ではないため、…、オブジェクト指向プログラミングに関する専門的な内容は、他の参考書を参照してください。」
確かに書いていますね。
基本的な事を学びながら、必ずPHPを習得したいと思います。
また、よろしければPHP絡みの参考書で「オブジェクト指向」について理解が深まる書籍があれば教えて下さい。
回答ありがとうございました。
No.3
- 回答日時:
基本的な事が分かっている、ということであれば、とりあえず掲示板を自分の力でイチから作ってみてはどうでしょう。
フォームの扱いやファイル(またはデータベース)への書き込み、画面の遷移が一番分かりやすいシステムなので
最初に作成するなら、丁度良いのではないかと。
後は一度作ったものをもう一度みなおして、練り直す作業(リファクタリング)を繰り返す感じですかね。
また、他者が公開しているプログラムのソースなどを見て、自分の頭の中で翻訳する作業なんかも勉強になります。
他者が作成したプログラムの中で、見たことがない関数とか出てきたら、Web上にあるPHPマニュアルで確認します。
例えば、fopenという関数を調べる場合は、
http://jp.php.net/fopen
とアドレスを叩けば、すぐにfopenの関数の概要がわかるページに飛べます。
また、Xamppなどでもよいので自分のPCにApache+PHPの実行環境つくっておくと、手軽に実行出来るので
書いて消して実行して、が素早く行えるので、PHPの勉強には良いと思います。
フレームワークに関しては、Webサイトを何度も構築した人が、より簡単に構築出来るように、数人からなるプロジェクトが
スムーズに回せるようにするために作ったようなものなので、まず、自力で一からつくって試行錯誤をして
何かしら完成させることをしないと、ただ制約が多くて覚えることが増えるだけで、面倒くさいだけな気がします。
No.2
- 回答日時:
>現在はフレームワークを作っているのですが、正直最終的にどのような動きになるのか理解できないまま、本を参考に書いています。
どうしてそのようなコードを書くのか理解せずにただ丸写しなんて小学生でもできます。
質問者のやっている事は意味ありません。
>私のように最初は意味が今一つかめていなくても、参考書などを最後まで読み通すことで、ある程度理解できるようになるのでしょうか?
なりません。
どうしてそうなるのか理解せずにただ読むことなら小学生にもできるでしょう。
>初めどのようにしてプログラムを覚えましたか?
何も参考にせずに何か自分で作る。
本はわからないところがあったときに読む。
この回答への補足
回答ありがとうございます。
グサッと言われた感じで、反省しています。
はやり、確実に覚えるのは何か目的を持って作ることですよね。
「理解できない・・・」と言う概念で、参考書を読むのではなく、分からない事は調べながら、また、一度完成させて、もう一度同じコードを書けば理解も深まると思いますので、頑張って行きたいと思います。
ありがとうございました。
No.1
- 回答日時:
PHPプログラマーですが、現在Flash lite1.0を勉強しろと指示されているものです。
新しい言語にチャンレンジするのはなかなか大変なものですよね。
参考になるかはわかりませんが、私がやっている方法は
なにか目的をつくってそれを作ります。掲示板でも、入力ホームでもなんでもいいです。
勉強したことを個人用のwikiに自分の為に説明するメモを書きながら勉強する。
わからない自分の為に説明しながら書くって感じですね。
そうすると普段は「まぁ、とりあえず動いてるしいいや」ってとこでも説明の為に記述しないとなので調べないといけなくなります。で、一応調べて記述するんですが、後日見てみるとよくわからなかったりするので、もう一度調べてみる・・
そんな感じで進めてますね。
後々、これどうやったっけ?とかすぐに見直せますし
ちなみに自分は@wikiを使ってます
http://atwiki.jp/
この回答への補足
回答ありがとうございます。
本当に新しい言語を理解するって大変ですよね。でも楽しかったりするんですが・・・
なるほど、wikiを使って自分のデータを構築するっていい方法ですよね。
たまに、あれ?このやりかたってどうだったけ??
って思う事ありますから、見習いたいと思います。
目的を持って学ぶ事は大切ですよね。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
phpのheader("Location:#pos")...
-
フォームで戻った際に入力済み...
-
セッション関数を使わずにファ...
-
PHP8でWarning:Undefined varia...
-
composerをインストールしたい...
-
アンドロイドスマホでのphp ech...
-
Postgresの特定のカラムからス...
-
ここで言う空文字の意味とは?
-
phpの問い合わせフォームを作っ...
-
marginの値でマイナス値を設定...
-
submitで思うようにページが遷...
-
HTML PHP ラジオボタンのイベント
-
php でqiitaのサイトにあったフ...
-
SplFileObject を利用したとき...
-
PHPの勉強してます。 配列のと...
-
BASIC認証のフォームをデザイン...
-
アップロードファイルを表示す...
-
複数のパソコンの中の1つのパソ...
-
返信機能のツリー構造の深さを...
-
PHPについて。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MSFormsとは何ですか?
-
VBAの「for i=1 to cells(…」...
-
データベースのデータをTextBox...
-
超恥愚問ですが、CとC++の間に...
-
C++ですごろくゲーム作成
-
複素関数はどこはあんまりやら...
-
XMLとUMLの相違点?
-
Excel VBAマクロをマスターする...
-
エクセルVBAを動かすノートPC...
-
サーブレットで電卓をつくる
-
VC#とVC#.NETの違い
-
WEBページを作成するためには、...
-
cin.peek() cin.ignore(100,'\\n')
-
OSS(オープンソースソフトウェ...
-
独学でweb制作の勉強の勉強して...
-
TypeScriptとNode.js
-
php、Java(Servlet等)の両方を...
-
これから人工知能について独学...
-
オブジェクト指向の利点と欠点
-
ホームページを趣味で作ろうと...
おすすめ情報