人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

現在、PHPを勉強してます。
これまで、PHP、データベース、セキュリティと勉強を進めてきたのですが、
今後何をどういう順番で学習していけばいいのでしょうか?
知ってる限りでもXML、PEAR、Smarty、Zend、Cake PHPといろいろあります。
正直、XML以外は名前を知ってるだけでどういうものかさえわかってません。
・・・というかこれらを全部やる必要があるのでしょうか?
あるいは他にもやるべきことがあるのでしょうか?
順番は回答者の方の主観で結構ですが、簡単にでも根拠を教えていただけると嬉しいです。
以上、よろしくお願いします。

●質問者: taroemon
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:Cake Pear PHP Smarty XML
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● onigirin
●23ポイント

pear は、「勉強」というほど大層なものじゃないので、おすすめですよ。

phpのちょっとした延長なので、ぜひチャレンジしてみてください。

pear smarty を簡単に使ってみたら、

次に進んでみるといいかもです。

zend や cake は、その次のステップなイメージです。

xmlは・・・。必要になれば、でいいんじゃないかなぁ・・・。

たぶん、概念はそんなに難しくないけど、

実用してみないとわかんない気がします。

◎質問者からの返答

ご回答ありがとうございます。

XMLってどうしても必要ってイメージでしたが、

必要にな状態になってからでも良さそうですね。

簡単そうに思えたので最初はpearやってみます。


2 ● pahoo
●23ポイント

目的は何ですか?

ブログをつくる? ECサイト? 携帯サイト? 検索エンジン?‥‥目的に応じて、どんな技術要素を学ぶかという目標を立てるのが良いと思います。


XMLは、他のアプリとのデータ交換、たとえばRSSやWebAPIを目的にするのであれば必要になる技術です。自分が作ったアプリだけで目的が達成されるなら、後回しにしてもいいでしょう。


PEAR、Smarty、Zend、Cake PHP は、「ライブラリ」「テンプレート」「フレームワーク」などと呼ばれるもので、いずれもPHP基本機能を拡張するために用意されたものです。

便利な機能が多いのですが、PHPの性質を知らないで使うと期待通りの動作をしてくれないこともあります。PHP基本機能をマスターしてから使うようにしましょう。

当然、これらのパッケージにもバグはあります。ユーザーが多く、情報も豊富で、早くバグ退治がなされるという観点から、最初はPEARを学ぶのがよいと思います。ただ、ユーザーが多いということは、その分、攻撃者も多いということです。セキュリティ関係の処理は、自作することをお勧めします。

◎質問者からの返答

ご回答ありがとうございます。


>目的は何ですか?

こういうご指摘は確かにごもっともなことですが、

特にこれということを決めず、どういう順番で学習するかという一般論をお尋ねしています。


やはり最初はpearが良さそうですね。

セキュリティについてはなるべく自分で処理するようにします。


3 ● masaboz
●34ポイント

これまで、PHP、データベース、セキュリティと勉強を進めてきたのですが、今後何をどういう順番で学習していけばいいのでしょうか?

それだけ勉強をしておいたのなら、もう勉強の必要はありません。あとは実践的に自分のオリジナリティなプログラムを作成しながら、それと同時にコードの仕組みを知るなど学ぶ必要があるではないでしょうか。オリジナリティなプログラムの発想がつかない場合はいくつかのサンプルコード集の書籍でも買って学ぶと良いと思います。実はオリジナリティなプログラムを作成しながら、それと同時に勉強をされた方が上達の近道となります。


私が以前回答していたので、良かったらご参考お願いします。

http://okwave.jp/qa3921637.html


知ってる限りでもXML、PEAR、Smarty、Zend、Cake PHPといろいろあります。

PEARはPHPの正式に認められたライブラリです。厳密に言えばPHPの開発陣が厳しい審査で合格されたライブラリをPEARとして採用されます。PerlのようなCPANと違ってライブラリの数は極端に少ないのですが、きちんと動作される保証はあると考えれば良いと思います。そもそもライブラリは勉強するのではなく臨機応変ですぐ使いこなされる方が良いでしょう。理解しにくい、または動かないライブラリは提供先にも問題あるので見捨てるのもひとつの取捨選択の手段でしょう。ライブラリは無限に次々と出てくるので、ライブラリ自体を学んでもキリがありません。自分が何を作りたいのか、必要なライブラリだけ探して、それだけ使っていれば良いです。


Smartyはあまり使われません。SmartyはPHPスクリプト(ロジック)とHTML(デザイン)を分離するための効果がありますが、やはりCSSでも同じことが出来るため、Smartyの存在意義が薄れているようです。レンタルサーバの多くはSmartyをサポートしていません。私もSmartyについて学んだのですが、やはり解説サイトや書籍が少ないです。Smartyを学ぶ自体がムダになったと思いますが、Smartyはなぜ使われないのか、それを学んだのもひとつの勉強だと思っています。従って、Smartyは別に覚える必要はないかと思いますが、Smartyの必要性がないのは何故かと知りたい場合は学ぶ価値はあるでしょう。そうすれば、他のプログラム言語やライブラリについて必要の有無が分かってくると思います。


ZendやCakeはフレームワークです。フレームワークは規格乱立しやすいし、どのフレームワークが生き残るかも分かりません。フレームワークは開発を援助する手段のひとつです。フレームワークの用途としては、普段はPHPなどのプログラムはエディタを使って直接コードを書いて動作するのですが、フレームワークを使えばグラフィック(GUIあるいは視覚的)でデータベースを作るとしたら、直接コードを書かなくても、何をしたいのか、指示に従って、対象のファイルを指定するなどして、あとは自動的にプログラムが仕上がってしまうということです。いわばウィザードと同じです。私の場合はプログラミングの上達を狙うということで、フレームワークを一切使わずエディタを使っています。フレームワークはあくまで生産効率を上げるためにあって企業などでは欠かせないかも知れませんが、個人で自分なりのアイデアのプログラムを作りたい場合はエディタで良いでしょう。


・・・というかこれらを全部やる必要があるのでしょうか?

全部やる必要はありません。要するには自分の目的にあった適材適所をやるだけで良いでしょうか。

◎質問者からの返答

丁寧なご回答ありがとうございます。

大変参考になりました。


>それだけ勉強をしておいたのなら、もう勉強の必要はありません。

やってもやっても出口が見えなかったので、

この言葉を聞けてほっとしました。

ご指摘通り、プログラムの自作とサンプルコード集の勉強を中心にして、

必要な物をつまんでいくことにします。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ