wordpressがCMSとしてメジャーになっていますが、
これはPHPとmysqlでできていますよね。

よくわからないので、
PHPの長所、短所をわかりやすく教えてください。
よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

http://www.google.co.jp/search?hl=ja&safe=off&q= …

後は表面的な物のみだけど
・長所
手軽。
ライブラリが豊富(PECL,PEAR)
セーフモードの存在(ただし6で無くなるらしい)で下手なプログラマでも最低限のセキュリティは確保できる。その代わり使えない機能がある。
フレームワークやテンプレートエンジンが豊富にそろっていて選択肢が広い。
・短所
手軽さのせいで素人レベルがプログラムを作ってセキュリティーホールを作りやすい。
旧来の構造化プログラミングとオブジェクト指向型の両方で書くことができるので下手な人がソースを書くとその両方を中途半端に使った変なソースになる。(これはC++やWeb系で対を成すPerlなどにも言えること。)
バージョン間での言語仕様の変更により互換性(下位互換も上位互換もともに)が乏しい場合がある。それによサーバのphpのバージョンの違いでソースの書き換えが必要になることも
変数宣言が必要ない。それにより変数に意識することなくなんでも放り込める。(これは長所にもあるけど次に書いてある所も含めると短所となり得る諸刃の剣)
でも文字列比較のif文で「==」で比較するあほが後を絶たない。
    • good
    • 0
この回答へのお礼

おおまかなイメージが想像できました。
ありがとうございます。

お礼日時:2011/04/18 09:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qメソッドの中のオブジェクト?

メソッドの中のオブジェクト?

オブジェクト志向を勉強しています。WSHも勉強しています。

オブジェクトはメソッドとデータで構成されていると学びました。

下記URLのWshNetworkオブジェクトではメソッドの中に更にオブジェクトがあるように見えます。
メソッドの中にオブジェクト、プロパティの中に更にオブジェクトを持つことがあるんでしょうか?

http://www.atmarkit.co.jp/fwin2k/tutor/cformwsh15/cformwsh15_01.html

Aベストアンサー

>メソッドの中にあるオブジェクト?だと思ったのですが

メソッドがオブジェクトを返すケースは

1) あらかじめオブジェクトが持っていたオブジェクトを返す。
2) メソッドでオブジェクトを作成して返す。

などがあります。WSHで使うオブジェクトはCOMオブジェクトなので
2) のケースが多いでしょうね。

いずれにしても、メソッドはオブジェクトではないので、「持つ」という表現は
変です。

Q私は、PHP開発環境として秀丸エディタを使い始めたのですが、PHP言語

私は、PHP開発環境として秀丸エディタを使い始めたのですが、PHP言語の入力時に「ファイルタイプ別設定」で「Dreamweaverに似たPHP強調定義ファイル2」を適用し、PHP言語を強調表示にしたいと思っています。
しかし、設定のリストで新しく「PHPファイル」と作り、デザインの強調表示→読み込みで「php.highlight」を選択し適用するまでは自力でできたのですが、この状態の保存の仕方がわかりません。強制的に保存をしても、共通設定として保存されてしまいます。PHPだけに適用したまま保存をする方法はあるのでしょうか?
あるのでしたら、その方法を教えてください。お願いします。
あと、同じく強調表示の「PHPまるごと強調表示 Ver1.0」は現在では使用できないのでしょうか?

Aベストアンサー

PHPとは関係なく、秀丸エディタの使い方の問題です。

> 設定のリストで新しく「PHPファイル」と作り、デザインの強調表示→読み込みで「php.highlight」を選択し適用するまでは自力でできたのですが、この状態の保存の仕方がわかりません。

*.phpファイルを開いている状態で「ファイルタイプ別の設定」を選ぶとダイアログの上の方が
「.PHPの設定 [共通設定] 」
とかなってませんか?まずは、この「共通設定」をあなたが作った「PHPファイル」に変更して「OK]としてください。
以降、.phpを開くと「PHPファイル」の設定が有効になります。
その後で、あらためてhighlight等を設定してください。

実際はすぐにOKを押さなくても、 ダイアログの上部の関連付けを変更→設定を変更→「OK」の順でやればいいのですが、上の方法だと確実だと思います。

Qphpでオブジェクト指向と呼べる設計をするには・・・

phpで、なるべく同じ処理は関数化し、
ひとつの大きな処理としてまとめています。

これは、オブジェクト指向といえるのでしょうか?
オブジェクト指向とはもっと高度で汎用性が高く
たんなる関数化ではオブジェクト指向とはいえないでしょうか?

綺麗なオブジェクト指向とは一体のどようなものなのでしょうか?

どこまでオブジェクト化すれば
オブジェクト指向なのかよく分かりません。
使いまわしがきけばオブジェクト指向なのでしょうか?
他のプログラムに影響を与えなければオブジェクト指向なのでしょうか?

質問が抽象的ですが、よろしくお願いします。

Aベストアンサー

>たんなる関数化ではオブジェクト指向とはいえないでしょうか?

いえない。それは「構造化プログラミング」というものだ。プログラムを処理ごとに整理し構造化する手法だな。

オブジェクト指向は、「処理ごと」に整理するのを超え、「独立して扱える個々のプログラムの集合体」として設計する。これはクラスとして設計される。それぞれのクラスは、他のプログラムに依存せずそれぞれ単独で機能する形で設計されなければならない。そうして設計されたクラスの組み合わせによりプログラム全体を構築する。これがオブジェクト指向プログラミング。

関数は、ただ「一つの機能をまとめたもの」に過ぎない。これに対し、クラスは「機能と、値をパッケージ化」する。そのクラスに必要な機能をメソッドとして用意し、そのクラスを利用するために必要な情報をすべてメンバー変数として自身の中に保持する。そのクラスを利用するのに必要な情報は、すべて自分自身の中にある。そうした独立性のあるオブジェクトとしてプログラムを定義するのがオブジェクト指向。

ただ、PHPの場合、ちょっとしたものだとわざわざオブジェクト指向を持ち出さなくとも作れてしまうので、なかなかオブジェクト指向の考えを実践するのは難しいところがある。オレも、ちょっとしたものならまずクラスなんて定義しないで作っちまうし。すっきりと美しく作られたオブジェクト指向を理解したいなら、PHPの場合、MVCによるフレームワークを勉強するのが割と手っ取り早いんでないかと思うな。CakePHPとかZend frameworkなんかを実際に使ってみると、オブジェクト指向がどういうものか、次第にわかってくるんでないかな。

>たんなる関数化ではオブジェクト指向とはいえないでしょうか?

いえない。それは「構造化プログラミング」というものだ。プログラムを処理ごとに整理し構造化する手法だな。

オブジェクト指向は、「処理ごと」に整理するのを超え、「独立して扱える個々のプログラムの集合体」として設計する。これはクラスとして設計される。それぞれのクラスは、他のプログラムに依存せずそれぞれ単独で機能する形で設計されなければならない。そうして設計されたクラスの組み合わせによりプログラム全体を構築する。こ...続きを読む

QPHP言語の環境変数 x_size について と PHPを学ぶにあたって

PHP言語の環境変数で
x_size とは何をあらわしますか?
教えてください。
それと、、PHPを本格的にはじめようとおもっているのですが
PHP4を勉強したほうがいいですか?

Aベストアンサー

自信がある回答と、ない回答なのでわざとレスを分けました。

>それと、、PHPを本格的にはじめようとおもっているので
>すがPHP4を勉強したほうがいいですか?

当然4です。現在最新版は4.1.2です。
また、もうすぐ4.2のリリース、さらにはPHP5の噂も聞きます。
バージョンアップはバグフィクスの意味合いも強いので、出来るだけ最新版を使うように心がけた方がいいと思います。

QVBAのクラスオブジェクト

VBAのコレクションオブジェクトについての質問です。

一般的な説明では、
・コレクション(Collection)とは、同じ種類のオブジェクトの集合体をいいます。
となっているのですが、


 以下のような自分で作成するコレクションオブジェクトもあるみたいです。
この場合、同じ種類ではないオブジェクトでコレクションを作れるのでしょうか?それともこの場合も、同じ種類のオブジェクトでないといけないのでしょうか?

・Collectionオブジェクトを使うと、文字列、数値、オブジェクトを要素とする独自のオブジェクトを作成できます。
  Dim colTest As New Collection 

Aベストアンサー

 Excel VBAで説明すると、

 Excel.WorkBookクラスのWorkSheetsプロパティに設定されているオブジェクトがExcel.WorkSheetオブジェクトのコレクションオブジェクトとなるね。この場合、「コレクション」という言葉は一般的な「集まり(コレクション)」という意味だ。
 この時、WorkSheetsプロパティの実体はExcel.WorkSheetsクラスのインスタンスであり、WorkSheetsクラスはWorkSheetクラスのオブジェクトの集合を保持している。WorkSheetsクラスのソースが無いので分からないが内部ではCollectionクラスで管理しているのかもしれない。

 これに対し、
 Dim colTest As New Collection
 はCollectionというクラスのインスタンスを作成しているのであり、コレクションはCollectionクラスを指している。このCollectionクラスはAddやRemoveなどのメソッドを持っており、引数がObjectなので文字列も数値も何らかのオブジェクトも要素とできる。基本はこいつを内包したクラス(AddやRemoveを特定のクラスを引数にして用意する)を作成する事になる。

 Excel VBAで説明すると、

 Excel.WorkBookクラスのWorkSheetsプロパティに設定されているオブジェクトがExcel.WorkSheetオブジェクトのコレクションオブジェクトとなるね。この場合、「コレクション」という言葉は一般的な「集まり(コレクション)」という意味だ。
 この時、WorkSheetsプロパティの実体はExcel.WorkSheetsクラスのインスタンスであり、WorkSheetsクラスはWorkSheetクラスのオブジェクトの集合を保持している。WorkSheetsクラスのソースが無いので分からないが内部ではCollectionクラスで...続きを読む

Q【PHP】Basic認証以外でメジャーな認証方法は?

PHP歴1年、MySQL歴3ヶ月程度の職業プログラマなのですが、今回会員専用ページを作ることになり認証について勉強しています。
Basic認証より安全で「一般的な」認証方法は何でしょうか?

希望として、
・Basic認証のようなポップアップウインドウは出したくない。
 (教えてgooログインのような感じが理想)
・パスワードの送信は暗号化したい。
・できればログアウトもしたい。
といった感じです。

環境は以下の通りです。
・ファーストサーバー(レンタル)
・PHP5.2.6(Apache DSO) MySQL4.0.24 Linux 2.4.30
・PEAR/シェル不可 

1人でやっているため何が常識なのかわかりません。
お詳しい方、よろしくお願いいたします。

Aベストアンサー

ANo.1です。

>ところでセッションに認証済みの情報を持たせるということは、
>管理すべき全てのページをPHPで動的に作るということでしょうか。

 「管理する全てのページ」が具体的にどういう範囲かがちょっと判らないのではっきり答えられませんが、たとえば、「ログインしていなければ見る事のできないページ」であれば、この部分はphpで作成しておく必要があります。
 ログインしていなくても見られて構わないページは通常のHTMLでもOKです。

 ただし、携帯サイトなどのクッキーが使えないサイトの場合は、HTMLなどの静的ページからはセッションIDが引き渡せない場合があるので、この場合は全てphpで作成しないと、ログインが途中で切れてしまう場合はあります。

Q枠オブジェクトを内側のオブジェクトに合わせる方法

枠オブジェクトを内側のオブジェクトに合わせる方法

タイトルにある通りなのですが、枠のオブジェクトを内側のオブジェクトに合わせて自動で縮小・拡大する方法はありますか?

Aベストアンサー

ソフトが不明ですが・・・?
自動と言うほど簡単ではないですが、Illustratorなら。
内側のオブジェクトを選択ツールで選択>編集>コピー>編集>前面へペースト>オブジェクト>グループ>効果>形状に変換>長方形>「値を追加」にチェック・「幅に追加」と「高さに追加」の数値を共に0mmにして、OK>オブジェクト>アピアランスを分割。

Q現在php(php5)とDB(MySQL)の勉強として情報管理システム

現在php(php5)とDB(MySQL)の勉強として情報管理システムを作成しているのですが,
認証機能でつまづいています.


私が認証機能を使いたいのは以下の場面です.

? 利用者がログインする場合
 ただし,利用者側と管理者側を区別できるようにする

? パスワードを変更したい時,パスワード変更画面へログインする場合


?は,PearのAuth_HTTPモジュールを利用して,DBに登録してあるidとパスワードを組み合わせてBasic認証をするところまでできました.(管理者側のみ)

これで出来たと思ったのですが・・・
Basic認証はwebブラウザを閉じるまでログイン状態が続いてしまうので,他に認証を使いたい場面で認証の意味がなくなってしまいました;
(すでにログイン状態なので簡単に入れてしまうんです;)

1度ログインした状態で,さらに認証機能をつけるにはどうすればよいでしょうか?

現状をうまく説明できていなかったらすいません.
php,DBともに初心者なので単純な質問かもしれません;
よろしくお願いします.

現在php(php5)とDB(MySQL)の勉強として情報管理システムを作成しているのですが,
認証機能でつまづいています.


私が認証機能を使いたいのは以下の場面です.

? 利用者がログインする場合
 ただし,利用者側と管理者側を区別できるようにする

? パスワードを変更したい時,パスワード変更画面へログインする場合


?は,PearのAuth_HTTPモジュールを利用して,DBに登録してあるidとパスワードを組み合わせてBasic認証をするところまでできました.(管理者側のみ)

これで出来たと思ったのですが...続きを読む

Aベストアンサー

Basic認証にはログアウトという仕組みがないですからね
セッションを使った認証をしてみてはどうでしょうか?

Qイラレでグループ化されたオブジェクトを選択

イラレCS5を使っています。


複雑な形状をした複数のオブジェクトがグループ化されたオブジェクトがあるとします。
これの一部を選択したいのですが、
ダイレクト選択ツールを使って、Shiftキーを押しながら選択していくと
グループ化されたオブジェクトの中で複数のオブジェクトを同時に選択することが出来ます。
しかしながら、例えば、A、B、Cというオブジェクトを選択した状態で
C、D、Eというオブジェクトを選択すると、
Cの選択が外れてしまいます。

簡単なオブジェクトだとCだけ選択し直せば良いのですが、
複雑なオブジェクトだとこういう操作は難しくなってしまいます。

どうすれば、A、B、Cというオブジェクトを選択した状態で
C、D、Eというオブジェクトを選択してもABCDEすべてのオブジェクトが
選択出来ますでしょうか?

Aベストアンサー

グループ内のオブジェクトを選択する時に、ダイレクト選択ツールではなく「グループ選択ツール」(ダイレクト選択ツールの長押しで出ます)でオブジェクト一部をクリック(ドラッグして選択する必要が無い)すると、そのオブジェクト全体が選択出来ます。
ABCを選択後に、ABCDEを選択する為になぜCを再選択する必要が有るのでしょうか、ABCを選択後にShiftを押してDEを選択すれば良いと思いますが・・・。
途中で、CDEを選択状態にする必要が有るなら、ABCを選択後にShiftを押して、DEを選択してABを選択すれば、CDEが選択出来ます。
又は、そのグループを「選択ツール」でダブルクリックすれば、グループ選択モードになって、グループ解除した状態と同じ様に選択ツールで選択可能です。
戻す時は、上のグレーの帯をクリックするか、画面内をダブルクリック。

QPHP言語でCGIをマスターしたい

 今晩は、これからPHP言語でCGIをマスターしたいのですが、
基礎から中級程度までを解説している
サイトなどがあれば教えて頂けないでしょうか。
 PHP言語もCGIについても全くの初心者なのですが、Perlのサイトはあるのですが、どうしてもPHP言語で
覚えたいのです、宜しくお願いします。
 書店でも探したのですが、なかなか希望にあうようなものが本が見つかりませんでした。
 

Aベストアンサー

何度も同じような質問がここにあがっていますので過去ログをみる
ところから始めればよいでしょうけど、まぁ公式を読むというのが
原則です。

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


人気Q&Aランキング

おすすめ情報