CGIを勉強しています。PERLを勉強するに当たっての相談です。


以前CGIを勉強するに当たってPHPとPERLがいいと教えていただきました。

CGIにはPERLが一番使われているということで現在PERLを勉強しているのですが

PHPをネット上で見ると PHP+MYSQL と二つ仲良く扱われることが多く少し勉強に躊躇する

自分が出てきました。

今後の自分が作成したいページを知っていただき助言をいただければと考えております。

今後やりたいことですが

①商品を販売するカタログのようなページを作成する。 

http://oskuni.ichiya-boshi.net/dnt.html

具体的には上記の様なページです。

②会員制のページを作成する。

商品を売り買いできてポイントを使用することが出来る。一人ひとりの顧客情報を管理できる。
(会員制のページのテンプレートを少しいじくり使えるようになれればいいと考えております。)

PERLを勉強、それともPHPとMYSQLを勉強したほうがいいでしょうか。

PERLを勉強したほうがいい場合どのデータベース言語がいいかも教えて下さい。

よろしくお願いいたします。

回答の条件
  • 1人2回まで
  • 登録:2008/07/11 14:11:57
  • 終了:2008/07/18 14:15:03

回答(3件)

id:kn1967 No.1

kn1967回答回数2915ベストアンサー獲得回数3012008/07/11 14:33:31

ポイント27pt

question:1215751436

への回答にも書いたのですがWeb制作にはphp+MySQLのほうが格段に楽です。

後から発展してきたphpは、CGIの大先輩perlよりも使いやすくなっています。

phpにはperl互換の機能などもあり、これまで学習した事も無駄にはなりません。


phpに問題点があるとすれば関数が非常に多いという点です。

perlでは複数行書かなければならなかったものがphpでは1命令になっていたりするのですが

その反面として関数の種類が半端ではなく多いのです。

例えばMySQLを操作する関数だけでも下記のようなものになります。

http://www.php.net/manual/ja/ref.mysql.php


関数が多いといっても、必要なものをチョイスすれば良いだけですから

手元に関数マニュアル的な本を置いておくなり

上記のようなオンラインマニュアルページをブックマークしておくなりして

1つ1つこなしていけば、さほど大変ではないでしょう。


時間が許せばperl→phpと進めば理解はさらに深まるのですが

php普及以前の時代ならまだしも、今からならば最初からphpだけでも十分でしょう。

id:aiomock

ご回答ありがとうございます。PERLをもう少し勉強してその後PHPへ移ろうかと思います。ありがとうございました。

2008/07/11 14:38:33
id:pahoo No.2

pahoo回答回数5960ベストアンサー獲得回数6332008/07/11 14:34:47

ポイント27pt

DBについては、商品カタログや顧客管理といった程度であれば、MySQL で十分です。

Perlは MySQL とも連携が可能ですので、引き続き Perl の勉強を続けてみてはどうでしょうか。

ある程度 Perl に慣れてくれば、PHP への移行は難しくありません。


PHP は Web アプリを書くには便利なスクリプト言語ですが、PHP を学ぶとすぐにフレームワークを覚える必要性を感じることになるでしょう。フレームワークを使わなければサイトを構築できないということはないのですが、その必要性を判断するためにはフレームワークを、最低でも1つ覚えなければならず、それにはかなりの時間がかかります。

機能や拡張性の面で見劣りがするかもしれませんが、まずは Perl でサイトを書くことができるようになるのが先決かと思います。


参考サイト

id:aiomock

ご回答ありがとうございます。PERLにてまずサイトを作成してみてそれが出来た後PHPに移れればと思いました。ありがとうございました。

2008/07/11 14:43:38
id:kabiy No.3

Shota Fukumori回答回数20ベストアンサー獲得回数02008/07/14 08:20:27

ポイント26pt

PHPはCGIにはなりえません。半分はApacheのモジュールなどで動いてるので、Perlより動作が軽快ということです。

Perlもモジュール版はあるんですけどね。

MySQLと連携させるならPHPあたりが最強です。

そちらの作りたいものならば、PHPやCakePHP(PHPのフレームワークですね)あたりが一番かと思います。

PHPのPearにはAuthという認証プログラムがあります(MySQL対応)。

Webアプリなどを作るならPHPをオススメしますが・・・

Perlでも連携が可能です。

楽に作れるのはPHPって考えておくのもよいでしょう。

あ、でも、利用するサーバーが対応してるかどうか調べる必要がありますよ!

id:aiomock

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

2008/07/17 20:23:37
  • id:hujikojp
    細かいことですが PHPで「CGIプログラム」は作れないのでは。
    CGIとは WebServerと外部プログラム(Perl script)の間のインタフェース、転じてそれを使った外部プログラムのことです。
    PHPは通常、WebServerの内部でPlug-inとして動くので、CGIプログラムは組めません。

    たぶん、aiomockさんが作りたいのはCGIではなく、動的に生成されるページなのでしょう。
  • id:tezcello
    細かい事ですが...×2

    CGI とは WebServer が外部プログラムを使って得られた結果をクライアントへ返す仕組みでは?
    外部プログラムが Perl であろうが sh, PHP, (コンパイル済みの)C だろうが何でもOKでしょう。
    以前 IIS でサーバのテストしてた時は、VC++ で作ったプログラム(もちろんコンパイル済み)を CGI で動かしてました。

    「PHPは通常、WebServerの内部でPlug-inとして動く」は同意、「CGIプログラムは組めません」は不同意。
  • id:kn1967
    WebServerからは独立したソフトとして外部で動作するのがCGIモード
    WebServerソフトのモジュールとして動作するのがモジュールモード

    Perl 多くはCGIモードであったが最近ではモジュールモード対応のサーバーが増えている
    php CGIモードでも稼動可能ではあるが対応しているサーバは少なくて、基本的にはモジュールモード。

    CGIモードであってもモジュールモードであっても
    コーディング自体はほとんど変わらない。

    技術系とすれば不適切だけれども「目的」と「手段」って意味では
    CGIという言葉を使っても差し支えないと思いますね。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません