Behavior-Driven Development and Automation Testing Using Cucumber Framework W...

Behavior-Driven Development and Automation Testing Using Cucumber Framework W...
Chris Shiflett: SERVER_NAME Versus HTTP_HOST SERVER_NAMEとHTTP_HOSTの比較。 次のように値を取得すると一見、どちらも同じ値を取得できます。(値はリクエストしたサーバのホスト名) $_SERVER["SERVER_NAME"]; $_SERVER["HTTP_HOST"]; ただ、それぞれにおいて、取得方法が違ってきます。 HTTP_HOSTはリクエスト時に host:〜 で指定した値が返され、 SERVER_NAMEは、リクエスト時の host:〜 を使うものの、指定が無い場合は httpd.conf等に記述したServerNameディレクティブがデフォルトで使われます。 更にSERVER_NAMEはhtmlentitiesによってエスケープされるようです。 リクエストヘッダーの値をそのまま取りたい場合はHTTP_HOSTを使
Services_TwitterはPHPで簡単にTwitter APIを使用できるPEARパッケージです。 ライセンス インストール 必須環境 pearコマンドを使った場合 pear環境を使えない場合 リファレンス 更新履歴 TODO ライセンス このライブラリはThe PHP License, version 3.01の元に公開されています。 インストール 必須環境 Services_TwitterはPHP4.3.0以上の環境で動作する事を前提に作成されています。 pearコマンドを使った場合 Services_TwitterはPEARパッケージで提供されています。PEARコマンドからインストールを行うことが可能です。 # pear install -f http://labs.transrain.net/files/Services_Twitter-0.4.0.tgz 情報取得時にJS
とある日が今から何日後? というのをPHPでやるならどうするのがいいんだろう そんな感じで調べていたらPHP による日付・時刻・時間の計算・演算のまとめ – hoge256ブログを見つけました これこれ、って思ったけどよくよく見てみるとちょっと情報が古いような、2007年の記事だし・・・ という訳でちょっと書き直してみました 現在時刻の取得 echo date('Y-m-d H:i:s'); $date = new DateTime(); echo $date->format('Y-m-d H:i:s'); 日付/時刻のパース 日付/時刻を表したある書式の文字列から、年、月、日、時、分、秒を取得します echo date('Y-m-d H:i:s', strtotime('2011-08-12 10:35:20')); $date = new DateTime('2011-08-12 10
2007/11/13: 3.と4.が同じ内容となっていましたので、4.の内容を変更しました。 ここ最近PHP4.1.2で稼働していたシステムをPHP5.1.6へ移行しています。 移行の際に発生した問題とその対応をメモしておきます。 ちなみに全ての内容がPHP4->PHP5で必要なものではないです。PHP4も4.1/4.2/4.3/4.4の間でちょこちょこ変わっているので、一部の内容はPHP4間の移行でも修正が必要になります。またPHP4.4に適応しているスクリプトをPHP5へ移行するなら修正内容は少なくなります。 1.Notice: Only variable references should be returned by reference 「function &method()」と定義しているメソッドでスカラー値を返すと発生します。 <?php class Hoge { functi
PHP / ソーシャルサービスなどのWebテック系情報と、ガジェットやドローン、日々のアレコレを綴るブログ。 はい、備忘録です。 PHPでTwitter APIのアプリケーションを作成するにあたって、PHP5であればPEARやPECLを捏ねくり回してシャシャっとつぶやけるんだけど、PHP4となるとこれまた・・・・・・。オレのメインクライアント様の環境はPHP4なんだよなぁ。 PEARのOAuthはPHP5だと云うし、ネットでさらされている各種モジュールもPHP5。しまいにゃSignatureを作るのに必要なHMAC-SHA1、というかhash_hmacまでPHP5。Compatにも入ってないし。 とりあえずがんばって晒すテスト。 以下ソース。 PHP5で書けばこんなに簡単!! setConfig('ssl_verify_peer', false); $consumer_request =
ごあいさつエントリだけというのもなんなので、引き続きfujimotoです。実質上1つめのような気がするこのエントリでは、PHPが3倍くらい(少なくとも2倍くらいは...)速くなるGree Fast Processorというのを先月作ってみたのでご紹介です。 すぐわかるまとめ Gree Fast Processorというのを使ってみると、シンプルなsymfonyのプロジェクト(xav.ccで試しました)でも2倍弱、結構複雑なアプリケーションだと7倍くらい速くなったりします。いくつかの制約がありますが、パフォーマンスに飢えているかたはお試しください。 こちらはなんかすごい速くなっている感じのグラフ(一番上が速くなった版のRequests per Second、赤が通常版のRequests per Second): これはさすがにbest caseすぎる気がしますが、普通にやっても2倍弱くらいは
iPhoneからWebでHTMLのフォームから写真をアップロードしてもらったときなど、画像が回転して表示されてしまう場合があるようです。原因はExifのOrientationの値が「1」以外になっていること。 画像の向きの情報がExifに埋め込まれているけれど、ファイル自体は回転していない(=撮影した向きになっていない)ために表示がおかしくなるのです。 ブラウザーの仕様によりますが、ExifのOrientationの値を無視して、ファイルを表示しようとすると撮影した向きとは合わない表示になってしまうことになります。 解決するには、アップロードされたときにExifのOrientationを見て、サーバー側で画像を回転させてしまうのがオススメ。回転して、ExifのOrientationの値を正しい向きに補正します。 以下、PHPのimagick拡張を使った場合の例。 <?php $imagic
クラスを理解するうえで重要になってくるのがオブジェクトです。クラスとオブジェクトは似て非なるものです。オブジェクトとはクラスを元にしてつくられたコピーを指します。クラスでは「データを保持できる」という性質をもっているため、複数の処理でひとつのクラスにアクセスした場合、データの上書き(不整合)を引き起こす危険があります。そのため、処理に応じクラスのコピーを作成し、そのコピーに対してアクセスすることが考えだされました。実際に使う場合には、まずクラス本体には手を加えず、オブジェクトと呼ばれるクラスのコピーを作成しそれを処理の対象としてプログラムを組んでいきます。 TOP インスタンス化 クラスのコピー(オブジェクト)を生成することを「インスタンス化」といいます。インスタンス化とは、クラスを扱うための「自分専用の領域」を確保する行為ともいえます。PHPでは、クラスのインスタンス化を次のようにnew
初期のPHP5にはいくつものバグがあり、安定度も低かったため、PHP4からの移行がなかなか進みませんでした。 「PHP4とPHP5では全く互換性がない」 「PHP5はバグだらけだ」 「PHP5は動作速度が遅い」 そんな風に思われてしまいました。 自分も最初はPHP5に対してあまり良い印象は受けていませんでしたが、約1年前に安定度・処理速度が改善されたPHP5.1系をインストールしてみて印象はガラッと変わりました。(PHP5.1については、【PHPウォッチ】第22回 PHP 5.1ついにリリース,大幅な高速化を実現し重大なセキュリティ問題も修正:ITpro参照) 今では、もうPHP4には戻りたくないくらいです。 PHPについて、「バージョンが変われば別言語」(404 Blog Not Found:そろそろPHPに関して一言いっとくかより)と言っている人もいましたので、PHP4からPHP5移行
PHP Performance Series: Caching Techniques - Mike Willbanks : getting into the mind of a php developer. PHPでパフォーマンス向上のためのキャッシュテクニック色々が紹介されていました。 取得に時間のかかるデータはキャッシングで高速化、は当たり前の処理ですが、その方法もいろいろあり、コードが紹介されていたので解説 apc によるキャッシング方法( APCの説明 ) APCはPHPのコードを共有メモリなどに中間形式にキャッシュしておいてPHPの実行速度を上げるための仕組みです。 そのAPCエクステンションを有効にすると、データをキャッシュしておくためのAPIも提供されます。 <?php if (($config = apc_fetch('config')) === false) { requ
おそらく、数年前のWordPressの解説本の知識でいる方にとって、かなりオドロキの進化がなされているのではないかと思うのが、WordPressのカスタムフィールド周りの機能です。 たとえば、ピックアップ商品としてフラグを立てた商品の中から、価格が500円以上のものを最新5件取得して表示する、みたいなコードは、WordPress3.5ではこのように書けます。非常にスッキリしております。 <section> <h1>ピックアップ商品</h1> <ul> <?php // 投稿の取得条件を設定 $args = array( // 'product' 投稿タイプから取得 'post_type' => 'product', // 最新の投稿を5件取得 'posts_per_page' => 5, // カスタムフィールドで絞込み '
プロジェクト名に愛が無い そしてリポジトリ名がncrm(多分New CRMの略)。だったら更に新しいの出たら何になるのか。nncrmか?nnncrm、n5crmとかschemeの仕様みたいになっていくのかと小一時間(略 テストが無い テストぉ?そんなお上品なもんなんざぁ、とんとお目にかかったことねーなぁ? バリデーションが無い バリデーション?そんなお上品なもんなんざぁ(略 サーバーがrootログインの許可+IP制限している セキュリティを高めたいのか低めたいのかどっちなのか。使い辛いわ。 バージョン管理システムがよくわかってない なぜトップにぶち撒けられてる?trunkはどこ?branchesとtagsはなぜ空? メソッドが大文字から始まる あんた絶対Windows畑から来たね?同じ調子でPHP書かれても困るんだヨォ。 全テーブルに共通のプレフィックスが付いている いや、データベース名が
平素より「PHPプロ!」をご愛顧いただき、誠にありがとうございます。 2006年より運営してまいりました「PHPプロ!」ですが、サービスの利用状況を鑑みまして、2018年9月25日(火曜日)をもちましてサービスを終了させていただくことになりました。 サービス終了に伴いまして、2018年8月28日(火曜日)を持ちまして、新規会員登録ならびにQ&A掲示板への新たな質問、回答の投稿を停止させていただきます。 なお、ご登録いただいた皆様の個人情報につきましては、サービス終了後、弊社が責任をもって消去いたします。 これまで多くの皆様にご利用をいただきまして、誠にありがとうございました。 サービス終了に伴い、皆様にはご不便をおかけいたしますこと、心よりお詫び申し上げます。 本件に関するお問い合わせはこちらよりお願いいたします。
ようこそ 時代遅れの情報がウェブ上にあふれている。そんな情報を見たPHP初心者は戸惑ってしまうだろう。そして、まずい手法やまずいコードが広まってしまう。 そんなのはもうやめよう。PHP: The Right Way は気軽に読めるクイックリファレンスだ。PHPの一般的なコーディング規約、 ウェブ上のよくできたチュートリアルへのリンク、そして現時点でのベストプラクティスだと執筆者が考えていることをまとめた。 大事なのは、 PHPを使うための正式なお作法など存在しない ってこと。 このサイトの狙いは、はじめて PHP を使うことになった開発者に、いろんなトピックを紹介すること。 経験豊富なプロの人にとっても、これまで深く考えることなく使ってきた内容について、新鮮な見方を伝えられるだろう。 このサイトは、決して「どのツールを使えばいいのか」を教えるものじゃない。 いくつかの選択肢を示して、それぞ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く