PHPの薬箱
|
先輩に聞くPHPの素朴なギモンをさらにパワーアップさせたQ&A本です。 上級者向けにセキュリティ対策、デザインパターン、フレームワークなどを充実させました。 【amazon】 【楽天】 |
第1章 環境構築 ・日本語対応のためのディレクティブを教えてください ・php.iniのディレクティブを.htaccessで変更できません ・PHPのページをブラウザで表示しようとしたらソースコードが表示されました ・URLにindex.phpを指定しないとアクセスできないのですが ・cgi版でPHPを動かしたいのですがどのようにすればよいのですか? ・phpinfo()が実行できません ・PHP5でdate()を使うとStrict Standards:というメッセージが表示されます ・エラーメッセージに表示されるリンクはなんですか? 第2章 トラブルシューティングとTIPS ・大量のNoticeが出力されています ・'Warning: ... headers already sent ...'と出ます ・特定の処理においてはエラーを無視したいのですが ・デバッグのためトレースをする方法はありますか ・シングルクォートとダブルクォートの違いは? ・requireとincludeの違いは何ですか ・チェックボックスの値を受け取るにはどうすればよいですか? ・別のページに飛ばすにはどのようにすればよいですか? ・日本語のWebページの文字化けはどうしたら防げますか ・フォームで送信された値が文字化けします ・<form>で送信された「表示」という文字が「表示」となります 第3章 セキュリティ ・セーフモードonとoffではどのような違いがありますか? ・セキュリティを考慮したエラーの出力方法は? ・クロスサイトスクリプティングとは何ですか? ・入力値のチェック方法は? ・PhpInclude.wormとは何ですか? ・NULLバイトアタック対策とは何ですか? ・SQLインジェクションとは何ですか? ・OSコマンドインジェクション対策はどのようにすればよいですか? ・ディレクトリ・トラバーサルとは何ですか? ・セッションクッキーでセキュア属性を指定することはできますか? ・セッションハイジャックとは何ですか? ・セキュア属性を指定したらサイト内でセッションを継続できません |
第4章 関数とライブラリ ・関数の引数の個数を可変とすることはできますか ・関数で複数の値を返すことはできますか? ・30日前の日付を求めることはできますか? ・URLからホスト名を求めたいのですが ・正規表現を使った文字列置換はできますか ・文字コードを変換したら文字化けします ・マルチバイト文字列を特定のサイズで切り捨てたいのですが ・ereg_replace()で「Warning: REG_EBRACK」という警告が出ます ・テキストフィールドで半角カナを禁止したいのですが ・メールが文字化けするのですが ・メールの宛先の名前が文字化けしてます ・半角カタカナが送信できません ・メールで添付ファイルを送りたいのですが ・画像を合成することはできますか ・写真に日本語の文字を入れることはできますか ・動的にグラフを生成することはできますか ・グラフに日本語の文字列を入れることはできますか ・お問い合わせフォームでアンチスパム画像を表示したいのですが ・データをPDF形式で出力したいのですが ・既存のPDF文書にPDFlibで文字列を挿入することはできますか ・PDFlibブロックとは何ですか 第5章 PEAR ・alphaバージョンのPEARパッケージのインストールはどのようにするのですか? ・PEARのインストールで「Did not download dependencies」となりました ・PEARパッケージのインストールでWARNINGが出ます ・"Fatal error: Cannot instantiate non-existent class"となります ・HTML_QuickFormではどんなフォームが作れますか ・HTML_QuickFormのautocompleteとは何ですか? ・フォームで日付を入力してもらう簡単な方法は? ・2つの選択部品を連動させたいのですが ・HTML_QuickFormでの検証はクライアント/サーバのどちらで行われますか? ・フィルタの結果がデータに反映されていません ・AuthではユーザID、パスワードはどこに保存するのですか? ・DBにパスワードを登録するにはどのようにすればいいですか? ・ログイン認証に有効期限を設定できますか? ・AuthとAuth_HTTPはどのように違うのですか? ・Text_CAPTCHAとは何ですか? ・ユーザが読み取った文字列の正誤を判断するのはどうすればよいのですか? ・XML_RSSとは何ですか? ・XML_RSSでcontent:encodedの内容が表示されません ・Services_Googleがインストールできません ・Services_Googleでは1度に10件以上の検索結果を表示できますか? ・Services_Googleの検索結果が文字化けしました ・Services_Amazonとは何ですか? ・Services_Amazonでは検索条件はどのように指定するのですか? ・商品画像の情報が得られません ・指定するパラメータや返り値の情報を簡単に知る方法は? ・HTML_AJAXとは何ですか? ・リモートクラスを実行するにはどのようにするのですか? ・Proxyクラスとは何ですか ・オートロードクラスと何ですか? 第6章 データベース ・MySQLのデータベースにアクセスするにはどのようにするのですか? ・MySQLでテーブルの作成はできますか? ・MySQLでイメージデータを格納できますか? ・PHP5ではMySQLは使えますか? ・mysqlとmysqliはどのように違いますか ・プリペアドステートメントとは何ですか ・PostgreSQLのデータはどうやったらアクセスできますか ・pg_insert()とpg_query()でINSERT文を実行するのではどこが違いますか? ・PostgreSQLでイメージデータを格納できますか ・ラージオブジェクトとbyteaデータ型はどのように違いますか? ・SQLiteはPHP4でも使えますか ・データベースへの書き込みができません ・大量の更新処理のスピードを向上させるには? ・SQLiteはオブジェクト指向で記述することはできますか ・データベースの文字列にシングルクォートを含めるにはどうしたらいいですか ・PDOとは何ですか ・DSNの書き方を教えてください ・問い合わせの結果を例外でキャッチすることはできますか ・トランザクションはどのように実行すればよいですか ・プリペアドステートメントはどのように実行すればよいですか ・ラージオブジェクトデータはどのように読み込めばよいですか 第7章 クラスとオブジェクト ・PHP4のクラスはそのままPHP5でも動きますか ・オーバーライドとは何ですか ・子クラスにオーバーライドされないメソッドを作れますか? ・オーバーライドされたメソッドを呼び出すことはできますか? ・インスタンスを生成せずにメソッドやプロパティを参照することはできますか? ・クラスにおける定数はどのように記述すればいいですか ・"public, private, protectedの違いは何ですか?" ・アクセサメソッドとは何ですか? ・抽象クラスは何のためのクラスですか ・インターフェースと抽象クラスはどのように違いますか? ・多重継承は可能ですか ・コンストラクタ内で親クラスのコンストラクタを実行したいのですが ・オーバーロードとは何ですか ・勝手にプロパティを追加できないようにできますか ・__autoload()を使うとどのようなことができますか? ・オブジェクトの比較は==と===でどのように違いますか ・catch節で親クラスと子クラスはどのような順番で記述したらよいですか? ・class_exists()で__autoload()を呼ばないようにしたいのですが ・Standard PHP Libraryとは何ですか? ・イテレータとは何ですか? ・Factory Methodパターンとは何ですか ・Abstract Factoryパターンとは何ですか ・Singletonパターンとは何ですか ・Observerパターンとは何ですか ・Template Methodパターンとは何ですか 第8章 XMLとWebサービス ・XML文書を解析するにはどのようにすればよいですか? ・SimpleXMLで解析したオブジェクトはどのような構造をしていますか? ・SimpleXMLで名前空間を指定して要素を参照できますか? ・DOMとSimpleXMLはどのように違いますか ・DOMで指定した要素名の要素を参照するにはどのようにすればよいですか? ・DOMで指定したid属性の要素を参照するにはどのようにすればよいですか? ・DOMのルートノードから順番に辿るにはどうしたらよいですか? ・DOMで要素を追加することはできますか? ・DOMでDTDの検証を行うにはどのようにすればよいですか? ・DOMの例外処理はどのようにすればよいですか ・PHPにSAXパーサはありますか ・XMLパーサのイベントハンドラとは何ですか? ・XMLパーサで要素名や属性名がすべて大文字になってしまいます ・名前空間を使用したXML文書はどのようにパースしたらいいですか ・XMLReaderとは何ですか ・XMLReaderは名前空間に対応していますか ・XMLReaderパーサでは妥当性の検証はサポートされていますか? ・RSSフィードを解析するにはどうしたらいいですか? ・Webサービスとは何ですか ・SOAPクライアントプログラムの作成方法を教えてください ・SOAPサーバプログラムの作成方法を教えてください ・複雑な構造のパラメータや返り値を受け渡すことはできますか ・SOAPリクエストおよびレスポンスの内容を出力できますか? ・SOPAプログラムのエラー処理はどのようにすればよいですか? ・WSDLを使ってWebサービスを実装するにはどうしたらよいですか? 第9章 テンプレートとフレームワーク ・Smartyとは何ですか ・Smartyで配列の値をループで出力するにはどうすればよいですか ・テンプレート変数にデフォルト値を設定するにはどうすればいいですか? ・Smartyのmailto関数のencode属性はどのような目的で使用するのですか ・テンプレートを複数のファイルに分割できますか ・Zend Frameworkとは何ですか? ・index.phpでは何をすればよいですか? ・コントローラやアクションを指定するにはどうすればよいですか? ・パラメータはどのように指定したらいいですか? ・ビューヘルパーとは何ですか? ・Zend Frameworkでデータベースにアクセスするにはどうしたらいいですか? ・設定ファイルはどのような形式で記述すればよいですか? ・キャッシュデータはどのように保存されますか? ・Zend_FilterとZend_Filter_Inputはどのように違いますか? ・Zend_Feed::import()ではRSSとAtomのどちらを解析できますか? ・symfonyとは何ですか? ・Symfonyのサイトを構築するにはどのようにすればよいですか? ・インストールしたモジュールを変更するにはどこを修正すればよいですか? ・symfonyのトップページのコンテンツを変更するにはどうすればよいですか? ・トップページに表示するモジュールを変更できますか? ・URLの最後に拡張子をつけることはできますか? ・リンクヘルパーとは何ですか? ・JavaScriptヘルパーとは何ですか? ・AJAXヘルパーとは何ですか? ・フォームヘルパーとは何ですか? ・フォームの入力値をチェックするにはどうしたらよいですか? ・symfonyでデータベースにアクセスするにはどうしたらよいですか? ・symfonyサイトの一部をアクセス制限をするには、どのようにすればよいですか? |