タグ

phpに関するnoiz9のブックマーク (31)

  • PHPのinterfaceとは何か

    久しぶりの更新です。最近、修行だと思って色々なを読み漁っているのですが、やっとこさPHPのinterfaceが分かるようになってきた感じがあるので、まとめてみます。 インターフェースは、クラスから"ユーザー定義型"の能力のみを分離した言語機構です。PHPのそれはJavaのinterfaceのパクリです。 "ユーザー定義型"という単語を使いました。動的型付き言語のことを「型のない言語」と言う人がたまにいるんですが、とんでもねー間違いです。PHPにだって型はあります。変数が型を持たず、値が型を持っているというだけの話です。 interfaceを宣言する文法はクラスとよく似ていますが、キーワードclassの代わりにキーワードinterfaceを使います。中身は定義のないメソッドの宣言を書きます。なお、定数も含めることが可能です。 <?php interface FooInterface { c

    PHPのinterfaceとは何か
  • PHPUnit マニュアル – 第14章 コードカバレッジ解析

  • PHPUnitのDBUnit拡張を使ってみる

    アライドアーキテクツの伊藤です。 前回のエントリでは、PHPUnit系のお話を書きましたが、今回もしつこくPHPUnit系のお話を書きます。PHPUnitでテストを書いている時、データベースへの接続が発生するようなテストがあった場合、皆さんはどうしてますでしょうか。 レガシーコード改善ガイドによれば、データベース接続を伴う単体テストはあまり望ましくない為、データベース接続を伴うクラス、メソッドとの依存関係を排除して単体テストを書くべきとあります。 僕もそれが来あるべき姿だと思いますが、今回はその話は一旦横に置いておき、PHPUnit上で使えるDBUnit拡張について書かせて頂きます。 使い方 通常のテストクラスは「PHPUnit_Framework_TestCase」を継承して作りますが、DBUnitを使う場合は「PHPUnit_Extensions_Database_TestCase」

  • PHPで関数・メソッドの存在を調べる関数 - (DxD)∞

    Day by Day Infinity – Webな日々(HTML/XHTML/CSS/JavaScript/PHP/CMS) PHPで、ある関数が存在するかどうかを調べるためにはfunction_exists関数を使います。しかし、この関数ではメソッドの存在は調べることはできません。メソッドが存在するかどうかを調べるにはmethod_exists関数を使います。 文字列からその関数やメソッドが存在するか調べたいと思ったのですが、関数とメソッドを同じように調べたいという場合には、function_exists関数とmethod_exists関数を上手く使い分ける必要があります。PHPにありがちな、やりたいことは似ているけど関数は別々というやつですね 😡 function_exits関数の使い方は、引数に文字列で関数名を渡すだけです。 if (function_exists('func')

  • Do You PHP? - log4php - PHP版log4j

    以前、NullObjectパターンを使ったlog4jもどき(物には遠く及びもしません)をつくって遊んでいましたが、log4jPHPプロジェクト当に進んでいるようです。その名も「log4php」。。。そのままなネーミング。。。 こちらの方は、2004/3/7付けでApacheのLogging Services Projectの方で活動をしているようで、Javaで一般的になっているロギングフレームワークであるlog4jを様々な言語(C++Perlを初め、なんとPL/SQLも!)へポートしているようです。なお、完全にlog4jと同じ機能が実装されているわけではないので、log4phpの実装状況を確認しておくことをオススメします。 Log4php家 http://www.vxr.it/log4php/ Logging Services - log4php http://logging

  • 裏Oracle関数マニュアル - Do You PHP?

  • 裏OCI関数マニュアル - Collection編 - Do You PHP?

    裏OCI関数マニュアル - Collection編 ここにある情報はかなり古くなっており、正しくなくなっている可能性があります。掲載しているサンプルコードiなどは、最新のPHPでは動作しない、もしくは、別途設定・調整が必要になるかも知れません。情報を鵜呑みにせず、あなたの手を動かして、あなたの目で確認してください。 Oracle関数についてもずいぶん前にやりましたが、今度は裏(?)OCIマニュアルです(2002/10/21時点でマニュアルに説明がないだけで、関数のAPIは表示されています)。とりあえず、Collection関連のみです。 今回確認した環境は、(Web)Apache1.3.27+Oracle8.1.7iEE+PHP4.3.0pre1、(DB)Oracle9.0.1iな環境です。それ以外の環境(特にOracle9.0.1)では動作の確認は取れていません。 [2002/10/

  • 裏OCI関数マニュアル - Column編 - Do You PHP?

  • Vim で PHP 開発するためにやってる設定 3 つほど | バシャログ。

    どうもこんにちは、インフルエンザ明けの nakamura です。寝過ぎて腰痛めたっつーの。 以前は IDE 使ったりもしていましたが、ここ数年 PHP 書く際は Vim を使ってます。Vim に関してはまだまだ初心者から抜け出せてないんですが、PHP 用にやってる設定をいくつか紹介してみたいと思います。こんなのもやっとくと便利だよとかあれば教えて教えてー。 関数名とか補完 Vim には辞書ファイルを読み込んで補完に使える機能があります。ということで、とりあえず PHP 組み込みの関数や定数の辞書ファイルを作りましょう。 作り方は色々あると思いますが、僕はいつも以下のサイトのスクリプトを使わせてもらってます。 Vim で使用する PHP の辞書ファイルを作成するスクリプト - Memo リンク先にも書かれてますが、dict.php をダウンロードしたら以下で組み込みのクラス名、関数名、定数名

    Vim で PHP 開発するためにやってる設定 3 つほど | バシャログ。
    noiz9
    noiz9 2013/05/10
  • Vim で使用する PHP の辞書ファイルを作成するスクリプト - Memo

    普段 Vim を使って PHP のコードを書いてる訳だけど、 autocomplpop.vim を使うと辞書ファイルから自動的に補完してくれるので、無いと生産性が落ちる。 で、辞書ファイルはワンライナーとかで、 # php -r '$f=get_defined_functions();echo join("\n",$f["internal"]);'|sort > ~/.vim/dict/php.dict作ってやっていたんだけど、組み込みのクラスや定数(特に DIRECTORY_SEPARATOR )とか長い奴を補完してくれないので、生成するスクリプトを書いて、 CodeRepos にコミットした。 /lang/php/misc/dict.php – CodeRepos::Share – Trac 使い方 # php dict.php | sort > ~/.vim/dict/php.dic

    Vim で使用する PHP の辞書ファイルを作成するスクリプト - Memo
  • PHP5.3.2以降ではfcloseで自動的にアンロックされない

    PHP家サイトでflockの説明を読んでいたら、以下の変更履歴に気がつきました。 5.3.2 ファイルのリソースハンドルを閉じたときにロックを自動的に解放する機能が削除されました。 ロックの解放は、常に手動で行わなければなりません。 http://php.net/manual/ja/function.flock.php ところがネットの解説を見ると、ロック開放はflock($fp, LOCK_UN); ではなく、fcloseでやれとしている解説が結構あります。 (4)fcloseの前にflock解除するな … fcloseの前にflock(ファイルポインタ, LOCK_UN) する人は実に多いのですが、これははっきりと間違いだと断言します @ITPHPの記事が突っ込みどころ満載 - 暴言満載 LOCK_UNは普通は使われない。ロック開放はfclose()関数でやるのが鉄則。 http

    PHP5.3.2以降ではfcloseで自動的にアンロックされない
  • PHP での「全角のみ」チェックはこれでいいんじゃないの

    こんなのを書いたら PHP での半角文字チェックはこれでいいんじゃないの – 頭ん中 「わかるけど、それ何がうれしいの」 という感想が寄せられました。 「半角のみ」チェックを使う場面が思いつかないということで。 なので、これを基にして「全角のみ」チェックも作りました。 全角のみなら必要になることあると思うんですよ。 お問い合わせフォームの住所入力欄が全角縛りになっているときとか。 そもそも全角限定なんていう仕様をやめた方がいいとは思うんだけど、 知らないところでいつの間にかそういうことに決められていて どうにもこうにも変更はままならぬ、ということってありませんか。 文字列のすべての文字について それが半角かどうかをチェックして 半角が入っていたら false, 見事すべて全角と確認されたら true を返す。 半角判定に前掲の is_hankaku() を使っています。 ただ、繰り返します

    PHP での「全角のみ」チェックはこれでいいんじゃないの
  • webアプリを作ったら、必ず確認するべきセキュリティのチェックリスト | Web活メモ帳

    個人情報の漏えいは企業に取ってリスクの一つですが、 2011年では約628万4000人の漏えい事故が発生しています。 1日あたりに換算すると1.7万人の個人情報が流出しています。 その中にはバグやセキュリティホールから、不正アクセスによるものまで数多くありますが、 自分で作成したアプリケーションで出来る限りリスクを減らすために、どのようなチェックをすれば良いか知っている必要があると思います。 最近はWordPressやCakePHPなどのオープンソースのものを使うのが主流になっていますが、セキュリティ実装、チェックの仕方が分かっていないと 脆弱性のあるアプリケーションを作る事になってしまいます。 そこでオススメなのが、どんな攻撃をされるのかを知ること。 そのためにはWEB上の細切れの情報を読むのではなく、体型的にまとめられたものを見るのが オススメです。 PHPで開発している方は、以下の書

    webアプリを作ったら、必ず確認するべきセキュリティのチェックリスト | Web活メモ帳
  • 特集:PHPUnit3で始めるユニットテスト|gihyo.jp

    運営元のロゴ Copyright © 2007-2025 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    特集:PHPUnit3で始めるユニットテスト|gihyo.jp
  • PHP Simple HTML DOM Parserがとっても便利

    HTMLをパースしてきてDB化したり、RSSのテンプレに落とし込む…と言ったことを少し前からしているのですけど、1つ2つならいざ知らず対象サイトが増えてくると正規表現で何かし続けるのはたいそう無理があります。そういうわけでDOMを使ったりXPathを使ったりもしていたのですが、どちらもHTMLの構造にぴったりとは言えなくて、高度なことが出来るが故に記述が複雑になってしまうのでした。うーん。慣れるまでにハードルがあるな… そんなことを思っていたのですが、ふとした拍子に見つけたライブラリ「PHP Simple HTML DOM Parser」を利用してみたらば、とてつもなく便利でびっくり。jQueryのようなセレクタでガンガン指定して持ってくるスタイルでわかりやすいのなんの。 $text = $dom->find('#todays_darling', 0)->innertext; //今日のダ

    PHP Simple HTML DOM Parserがとっても便利
  • PHPの開発効率を上げる10個の関数 - PHP,MySQL,Flex,JSな日々+イラストとか

    「追記とか」にコメントの返答や追記をしてますので合わせてどうぞ。 かれこれ3年くらいPHPをやっているので、せっかくなので10個の便利な関数を並べてみました。 作業効率がかなりアップするので、これからPHPをやってみようかなぁって思う方は知っておくと便利だと思います。 変数、配列の内容をキレイに表示する関数「d」 変数や配列の内容をHTML構文でキレイに表示してくれます。 しかも、var_dumpと書くとタイピングが大変なので「d($hoge)」として簡単に記述。 これだけでも作業効率8倍 function d() { echo '<pre style="background:#fff;color:#333;border:1px solid #ccc;margin:2px;padding:4px;font-family:monospace;font-size:12px">'; foreac

    PHPの開発効率を上げる10個の関数 - PHP,MySQL,Flex,JSな日々+イラストとか
  • JenkinsでPHP開発を自動化するのまとめ

    これまでJenkins+PHPで色々な処理を自動化させてきたので、今までの記事をまとめてみました。 さくらVPSにjenkinsを入れてみたときの備忘録 jenkinsで新規ジョブを作成して、Subversionと連携してみる Phingをjenkinsと連携させてみる jenkinsでCheckstyle pluginを利用して、CakePHPのコーディング規約をチェックする PHPMD(PHP Mess Detector)をjenkinsで利用してみる PHPCPDとjenkinsを利用して、冗長化したコードを検出してみる jenkinsにPHPDocumentor2を連携させてみる CakePHP2.X+PHPUnit+jenkinsでテストを自動化する ここまでの処理をまとめたビルドファイルもgithubのほうにアップしています。 myPhingBuildXml – github

  • (PHP)プログラマのためのVIM (9) - PHP向けカスタマイズ - おぎろぐはてブロ

    Yahoo!のAndreiさんのプレゼンのPDFを勉強がてら訳していってます。訳は微妙です。 元記事: Andrei Zmievski: "VIM for (PHP) Programmers" slides and resources この記事シリーズまとめはこちら: (PHP)プログラマのためのVIM (まとめ) - おぎろぐはてな カーソル位置・カーソル移動・マーク・挿入 削除・検索 置換・テキストオブジェクト コピー/削除/貼り付け、レジスタ undo ビジュアルモード、ウィンドウ、タブ 補完・マップ・オプション セッション、misc、ヘルプ そのまえに ここからは、Andreiの実際使っているvimの設定についての説明が含まれます。ファイルは元記事からダウンロードすることができます。 カスタマイズ vimをカスタマイズするには、~/.vimディレクトリにファイルを配置 filety

    (PHP)プログラマのためのVIM (9) - PHP向けカスタマイズ - おぎろぐはてブロ
  • vimで手軽に文法チェック(syntax check) - Study03.net 対シンバシ専用

    お昼べた後にコーディングとかしてくると、よく眠くなるよねw?眠くなると、簡単な文法ミスをおかしがちだよね。文法ミスをした事に気づかずに、ブラウザでアプリ動かすと、画面やエラーログに「syntax error」とか出てきてイラッとなるよね。イラッとなると「もう今日は仕事とかいいから早く家に帰ってニートしたいなー」とかニート志望の動機が膨らむよね。そうすると、特に取り柄のない僕なんか、人生破綻コースまっしぐらだよね。そしたら最終的にはリストカッターで、当にありがとうございました。みたいな残念に結果になっちゃうんだよ。 そうならないためにも、ブラウザとか実行してから気づく前に、コーディングしてる最中に、syntaxのチェックをしちゃおう。 PHPで文法チェックするときは、こうだよね。 php -l hoge.php けど、vimで一旦保存して閉じて、上のコマンドをわざわざ打つのは、正直メンド

    vimで手軽に文法チェック(syntax check) - Study03.net 対シンバシ専用
  • 備忘録。:2012年03月 - livedoor Blog(ブログ)