PHPカンファレンス福岡での発表資料です。
PHPの関数やコード例の動作確認をどのように行っていますか? 最も基本的な方法は変数や関数の戻り値を逐次、echoで出力する方法でしょう。 しかしこの方法では何度もコード編集と実行を繰り返す必要があり非効率です。デバッガやIDEの使用も解決策の1つですが、大げさすぎたりパフォーマンスの問題がある時もあります。 一方でRubyの世界を見てみるとirbやpryを使ってコンソール上でリアルタイムにコードを試す姿が一般的です。 今回はPHPで対話的なデバッグやコード実行を行えるPshSHを紹介します。 PsySH 従来の手法 php -a PHPには標準で対話シェルモードがPHP5.1以降から搭載されています。 しかしこの機能を利用するには--with-readline付きでPHPがコンパイルされている必要があります。 readlineが利用できない場合はインタラクティブシェルの変わりにインタラク
サイトの構築。作品の販売。ブログの投稿。この他にもさまざまな機能があります。 ログイン サイトをはじめよう 非公開サイト このサイトは現在プライベート設定になっています。
【php】mb_convert_encoding()関数で、変換元の文字コード(第3引数)を指定しているのにWarningが出る こうしたとき、 mb_convert_encoding($str, 'UTF-8', 'SJIS,EUC-JP'); $str が SJISでもEUC-JPでもなかったとき、Warningが出ます。 Warning: mb_convert_encoding(): Unable to detect character encoding in /xxxx/xxxx/test.php on line 2 変換元の文字コード(第3引数)を指定したとき、1つ指定すればその指示通りに強行しますが、カンマ区切りで複数指定すると、’auto’の指定と同様に文字コード判定が発生し、候補の中で解決できないときはWarningが発生します。 このように1つだけ指定したときは、指定に従
RubyでパワーポイントのスライドをPNGにする。 - それマグで!で紹介されていたやり方をPHPに翻訳してみました。 PHPのCOM拡張を使用しています。 com_ppt2png.php <?php require_once 'EventSink_EApplication.php'; function ConvertPPT2Image($fileName) { //COMインスタンス作成し、タイプライブラリをロード $ppt_com = new COM('PowerPoint.Application'); if (!com_load_typelib('PowerPoint.Application')) { throw new Exception("Cannot load type library of 'PowerPoint.Application'"); } //アプリケーション起動
Welcome There’s a lot of outdated information on the Web that leads new PHP users astray, propagating bad practices and insecure code. PHP: The Right Way is an easy-to-read, quick reference for PHP popular coding standards, links to authoritative tutorials around the Web, and what the contributors consider to be best practices at present. There is no canonical way to use PHP. This website aims to
平素より「PHPプロ!」をご愛顧いただき、誠にありがとうございます。 2006年より運営してまいりました「PHPプロ!」ですが、サービスの利用状況を鑑みまして、2018年9月25日(火曜日)をもちましてサービスを終了させていただくことになりました。 サービス終了に伴いまして、2018年8月28日(火曜日)を持ちまして、新規会員登録ならびにQ&A掲示板への新たな質問、回答の投稿を停止させていただきます。 なお、ご登録いただいた皆様の個人情報につきましては、サービス終了後、弊社が責任をもって消去いたします。 これまで多くの皆様にご利用をいただきまして、誠にありがとうございました。 サービス終了に伴い、皆様にはご不便をおかけいたしますこと、心よりお詫び申し上げます。 本件に関するお問い合わせはこちらよりお願いいたします。
FuelPHP へようこそ FuelPHP はシンプルで、フレキシブルな、コミュニティにより開発されている PHP 5 用の Web フレームワークです。現在のフレームワークに対する不満から産まれ、開発者のコミュニティからサポート、支持されています。 FuelPHP はとても移植性が高く、多くのサーバで動き、そして、とても綺麗な構文のフレームワークです。 クイックインストール もしあなたが今すぐに Fuel を試したいと思うなら、高速インストーラを使ってみてください。curl ライブラリを使用し、oil の必要最小限のバージョンをインストールできます。それから、Fuel の新しい完全なアプリケーションを作成できます。 # oil を Web からクイックインストールします $ curl get.fuelphp.com/oil | sh # oil が、たった今、インストールされました。Si
OpauthはPHP向けの認証ライブラリです。抽象化することで多様なプロバイダーに容易に対応できます。 Webサービスで認証を用意すると言っても今は多様な技術が存在します。単なるID/パスワードに限らず、OpenIDやOAuthもあります。サービスプロバイダーごとに実装も若干変わったりします。そうした認証技術を統合して使えるのがOpauthです。 デモです。 Facebook認証です。 問題なく認証できました。各種データも取得できているのが分かります。 こちらはGoogle認証です。 こちらもユーザプロフィール含めて取得できています。 最後はTwitterです。 はい、問題ありません! OpauthはRubyの認証ライブラリOmniauthにインスパイアされて作られており、認証部分を抽象化することでプロバイダーを切り替えて容易に様々なサービスに対応できるようになっています。技術的にはOpe
GAPI 1.3について 2011/6/12 GAPI 1.3 License: GNU GPL v3 GAPIは、Google Analytics Data Export APIのアカウントフィードやデータフィードをPHPで簡単に扱うことができるクラスライブラリです。 ディメンション、指標は配列形式で指定します。 使用可能なディメンションと指標はディメンションと指標のリファレンスにあります。 requestReportData( string $report_id, array $dimensions, array $metrics, array $sort_metric=null, string $filter=null, string $start_date=null, string $end_date=null, int $start_index=1, int $max_resul
PHPアプリケーションの脆弱性は本当に多いのか? アプリケーションの脆弱性を調べるには、CVEを参照するのが簡単です。 CVEとは、NISTが公開しているソフトウェアの脆弱性データベースです。脆弱性を一意に特定できるIDを付与することを目的としています。Webアプリケーションの脆弱性もCVEに登録されています。CVEに2006/12/31に登録されたアプリケーションの脆弱性の数(同じアプリケーションは除く)は次の通りでした。日によって登録される脆弱性の数は異なります。12月31日は比較的多くの脆弱性が登録されました。 通常どおりPHPアプリケーションの脆弱性が目立ちます。特にこの日は同じアプリケーションで複数の脆弱性が登録されていたものがいくつかありました。 同じアプリケーションだけでなく、同じカテゴリの複数のアプリケーションに同じような脆弱性が見つかっている例もあります。 例えば「The
(2009/02/15 17:20)「個人的な感想」を追記しました。また、下記はPHP5.2.1以降の挙動です。PHP5.2.0以前のmb_check_encodingは更にカオスなので、あまり使い物にならないと思います。 (2009/02/16 12:30)追記2:バグっぽいと思った件は本当にバグで、修正がhttp://news.php.net/php.cvs/56276の通り取り込まれました。PHP5.2.9から修正される予定です。 (2009/02/22 16:20)追記3:他のエンコーディングについても調査しました。「(その2 EUC-JP編)」と「(その3 UTF-8編)」も合わせてご覧下さい。 PHPのmb_check_encoding関数が一体何のチェックをしているのか、エンコーディングごとに一通り調べてみます。 まずはSJISとSJIS-win(CP932)について調べてみ
SJIS-WINとは? PHPで文字コードとして「SJIS-WIN」を指定すると、Microsoftが拡張したShift_JISであるWindows-31Jが使われる。 Windows-31Jは、Microsoftが「JIS X 0208-1990」をベースに、NECとIBMの独自拡張文字の一部(一般的にはSJISの「機種依存文字」と呼ばれる?)を取り込んだ文字コード。 (参考:Microsoftコードページ932 - Wikipedia) SJISとSJIS-WINで何が違うの? SJIS-WINの方が文字が多い。 よく使うところでは、下記のような文字はSJISーWINにはあるがSJISにはない。 丸数字 (①②③...⑳)ローマ数字 (ⅠⅡⅢ...Ⅹ、ⅰⅱⅲ...ⅹ)カッコ付きの株 (㈱)はしご高[はしごたか] (髙)たつ崎[たつさき、たちさき] (﨑) SJIS-WINにはあるがSJ
2007年8月から、PHPユーザ会のWebサイトは新しいコンテンツに移行いたしました。古いコンテンツは oldwww.php.gr.jp より閲覧していただけます。 PHP とは PHP は、オープンソースの汎用スクリプト言語です。 特に、サーバサイドで動作する Web アプリケーションの開発に適しています。 言語構造は簡単で理解しやすく、C 言語の基本構文に多くを拠っています。 手続き型のプログラミングに加え、(完全ではありませんが)オブジェクト指向のプログラミングも行うことができます。 Linux や FreeBSD 等の多くの Unix 系システム, Microsoft Windows, Mac OS X など主要な OS で動作します。 また、Apache や Microsoft IIS を始めとした多くのウェブサーバをサポートします。 オープンソース なライセンスでリリースされて
Firefox57にアップデートした際にタブをuserChrome.cssを使ってFaviconize Tabっぽくしたのですが、58.0.1にアップデートしたところxulのidや構造が変わってしまったのか、また元に戻ってしまいました。 ということで、 Firefoxのタブバーを非表示にするまでの流れを解説 – 出不精の横好き FirefoxのuserChrome.css備忘録 – 出不精の横好き あたりを参考にして、chrome://browser/content/browser.xulのインスペクターとにらめっこしつつuserChrome.cssちょっといじってみました。大きくはtabbrowser-tabsがclassからidに変わったみたいですね。最終的には以下の通りです。 @charset "utf-8"; tab .tab-text, tab .tab-text-stack *
(4/17追記)twitter経由でタレコミがありまして、恥ずかしいミスをコッソリ直しました(32bit整数の範囲について)。どなたかわかりませんが、ありがとうございます! PHPの整数(integer型)はCのlong型をそのまま利用しています。つまり、32bit環境であれば整数の範囲は-2^31から2^31-1までとなります。また、PHP 4.4.0以降および5.0.5以降、最大の整数を表す定数PHP_INT_MAXが利用できます。 ところで、最大の整数に1を足すと何が起こるのでしょうか。PHPマニュアルの「整数のオーバーフロー」にも記述がありますが、整数の範囲を超えるような演算の結果はfloat型となります。 <?php var_dump(PHP_INT_MAX); // int(2147483647) var_dump(PHP_INT_MAX+1); // float(214748
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く