PHPカンファレンス福岡2017の登壇資料です。
PHPカンファレンス福岡2017の登壇資料です。
PHP7からは無名クラスが使えるようになりました。 どういった場合に無名関数を使う機会があるかなぁと考えていると、ふとマイクロフレームワークの無名関数部分の代わりに使うと良いんじゃないかと思いやってみましたというのがこの記事。 [追記] 実際にSlim3 のアプリで使えるようにcomposerでインストールできるようにコードを整理しなおして用意してみた。 Slim3 ではなく、もっと薄いPHP7フレームワークを書き始めてみた記事はこっち。 無名関数 vs 無名クラス また、PSR-7でリクエストとレスポンスのインターフェースが決められ、それに従ったフレームワークやミドルウェアが出てきています。そこで、PSR-7 のサポートをした Slim3 と PHP7 試してみます。 まずは、Slim3 のドキュメント通りに Hello World すると: <?php use \Psr\Http\Me
【2021/10/15 追記】 この記事は更新が停止されています。現在では筆者の思想が変化している面もありますので,過去の記事として参考程度にご覧ください。 脆弱性について 参考リンク PHPにおけるファイルアップロードの脆弱性CVE-2011-2202 PHP 5.4.1リリースのポイント 上記に対する補足説明 PHP 5.4.1以降 PHP 5.3.11以降 どちらかを満たしているならば,脆弱性は(今のところ)無い.どちらも満たしていないと, $_FILES 変数の構造を崩す攻撃 ../ をファイル名に含めて送信する攻撃 (ディレクトリトラバーサル) の何れか,もしくは両方の脆弱性を所持していることになるので要注意. 脆弱性対策と注意事項 $_FILES Corruption 対策 改竄されたフォームからの複数ファイル配列送信対策 脆弱性が修正された環境でも 改竄フォーム対策 も兼ねて
たにぐちまことさんの よくわかるPHPの教科書がこのたび改版されて、よくわかるPHPの教科書 【PHP5.5対応版】として出版されました。旧版はmysql関数を使ってSQL呼び出ししていましたが、mysql関数がPHP5.5にて非推奨となったための緊急対処的な内容となっているようです。つまり、従来mysql関数を呼び出していた箇所をmysqliの呼び出しに変更したというのが、主な変更点のようで、これ以外はあまり変更点は見あたりません。 既に、Amazonでは、熱烈な読者の方からの詳細のレビューが届いています。 神本御降臨! 言わずと知れたPHPプログラミング書籍のロングセラー。 2010年9月に発売された前作の改訂版。 PHPのバージョンも最新の5.5に対応、内容は前作と殆ど同じ。 少し前に前作を購入した方も本書を購入した方がいいでしょう。 【中略】 それにしても、帯の「3万人に読まれた定
x86のLinuxにてPHPを普通にコンパイルすると2GBまでのファイルしか扱えない!OSやファイルシステムが対応していても、だめ。普通にコンパイルするとファイルシステム周りは32bit空間(ファイルシステムだと約2GB分)しか扱えないらしい。 アプリケーションからログを出力してて、気づかないうちに2GBになったら、アプリケーションが途中で止まっちゃう。 ここに、対応策が書いてあった。 http://bugs.php.net/bug.php?id=36478 gccへ”-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64″というフラグをgccへ渡すと、ファイルシステム周りのライブラリは64bit空間を利用できるようになる。 例: % CFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" ./configure
文字セット 適切な文字セットをサーバーレベルで設定しておくのが理想であり、MySQL のマニュアルの » Character Set Configuration にもそうするよう書かれています。 しかしそれ以外にも、各 MySQL API には実行時に文字セットを指定する方法が用意されています。 警告 文字セットと文字のエスケープ 文字セットはきちんと理解して設定しておかないといけません。 すべての操作に影響が及び、セキュリティの問題を引き起こす可能性があるからです。 たとえば、文字列のエスケープ (mysqli なら mysqli_real_escape_string()、 PDO_MySQL なら PDO::quote()) は文字セットの設定に従った動きをします。 これらの関数は、クエリで設定した文字セットは使わないことを知っておくことが大切です。 たとえば次の例のような設定をしても
Symptoms When you try to open a Microsoft Office document or a PDF file by typing an HTTPS URL for the document in the Address bar of Internet Explorer 6 Service Pack 1 (SP1), you may receive the following error message: Cause This issue occurs if the server sends a "Cache-control:no-store" header or sends a "Cache-control:no-cache" header. Resolution Important This section, method, or task contai
オオヒダです。最近Twitterのおもしろさがわかってきました。おそい。 というわけで、今回はTwitter APIを使っていてちょっと気づいたことについて書いてみたいと思います。 TwitterAPIを利用してつぶやきを投稿するとき、"417 Expectation Failed"というレスポンスが返ってきてしまい、投稿を行えないということがたまにありました。 うーんこれは困る・・・ということで、調査してみました。 そもそも417 Expectation Failedとは何か?ということですが、これを理解するには100 Continueというレスポンスについてあわせて知っておく必要があります。 クライアントからサーバに対して大きなリクエストを送る場合、HTTP1.1ではまずそのリクエストが受け入れ可能かどうかをサーバに問い合わせることができます。この際、受け入れ可能であることを示す一時
こんにちは。 シナプスソフトのかわせ@おばグラマです。 私以外誰も更新しなくなった当ブログですが、気にせず好き勝手に投稿しますよ! ほぼ半年ぶりですがががが。 さて、タイトルの件。 今更ながら Zend_GData 試してみました。 検索してみても最近触ってる人少ないカンジです……。バージョン1.0が出てから5年くらい経つので当然かもしれません。 気を取り直して、ダウンロード&インストール! 特に何をしなくても、解凍して /library にパスを通せば動きます。 さっそくデモを試しましょう。 /demos にデモが入っています。WEBブラウザ越しでも、コマンドラインでも使えます、気が利いてるぅ! 今回はGoogleドキュメントの文書を扱いたかったのですが、こんな私にぴったりのAPIがあります。Google Documents List Data API です。Zend のリファレンスガイ
Zend_Gdata does not provide an interface to any other Google service, such as Search, Gmail, Translation, or Maps. Only services that support the Google Data API are supported. Service classes - inheriting from Zend_Gdata_App. These also include other classes such as Zend_Gdata, Zend_Gdata_Spreadsheets, etc. These classes enable interacting with APP or GData services and provide the ability to ret
大変お待たせしました。FuelPHP の入門書 『はじめてのフレームワークとしての FuelPHP』 がついに7月2日に発売されることになりました。待った甲斐があったと思われるような完成度の高い書籍に仕上がりました。 この本は、以下のようなことが当てはまる人に自信を持ってお薦めします。 FuelPHP に興味があるが、Web の情報は断片的で、しかも正確なものかどうかもよくわからなくて困る FuelPHP の全体像や考え方を手っ取り早く知りたい また、以下のようなことが当てはまる人にも是非お読みいただきたいです。 PHP は使ってるけど、フレームワークって何?Smarty とどう違うの?まだ使ったことがないので知りたい PHP 使ってるけど、どうにもレガシーでこの会社大丈夫か?と疑問を感じる 使ってるフレームワークがオレオレフレームワークでしかも実装がイケてない。あと、他人がメンテできず困
内容紹介こんなフレームワークが欲しかった!FuelPHP は、2011 年7 月に最初のバージョン1.0 がリリースされた最新のフレームワークです。先行する多くのフレームワークを参考に、PHP 5.3 の機能をフルに活用しゼロから開発されました。最初からMongoDB やRedis をサポートし、RESTful なコントローラをすぐに作成できる最先端のフルスタックなフレームワークです。しかも、シンプルで覚えやすく、かつ、軽量高速です。 新しいフレームワークですが、すでにGitHub では100 人以上の開発者がFuelPHP の開発に参加しており、ユーザも徐々に増え、品質や安定度も急激によくなってきています。本書は、そのFuelPHP の2012 年6 月にリリースされた最新のバージョン1.2 に関する日本初の入門書です。 本書のテーマは、フレームワークを使ったことのないPHP ユーザの方
皆さん、こんばんは。笹亀です。 7月もあっという間に10日間が過ぎて、夏真っ盛りになってきました。 自分も夏対策でアイス眠というマットレスを購入して夏を乗り越えようと思っております。 さて、本日はストアドプロシージャについて検証をしてみたいと思います。 ストアドプロシージャとは、一連のSQL文や処理に名前をつけて保存したものです。 PHPの関数と同じでSQLを関数みたいにしたものがストアドプロシージャになります。 MySQLではストアドプロシージャはMySQLでは5.0から利用が可能です。 今回はMySQLのストアドプロシージャの使い方だけではなく、 生PHPで記載したときとのパフォーマンスを比較してみたいと思います。 MySQLのストアドプロシージャを呼び出して処理をするPHPプログラムとストアドプロシージャで作成したものと同じSQLを実行するPHPプログラムを作成します。 上記2つのプ
もともとPECLにあって、PHPのバージョン5.2.0から標準に組み込まれたfilter拡張モジュール。URLのクエリ文字列やPOSTされた入力文字列の妥当性検査と「サニタイズ」という2つの役割を果たすもので、また突っ込みどころがいろいろあるんだけど、まあ利用法によってはそれなりに便利なんだと思う。で、個人的には使わないな、とスルーしていたんだけど、その拡張モジュールの提供するfilter_var()という関数がメールアドレスの妥当性検査にも利用できるという話を今回の騒動で知ったので、ちょっと中身を見てみることにした。 ちなみにfilter_var()自体は、指定されたフィルタの種類が妥当性検査フィルタだった場合には、妥当な場合に第1引数に与えられた値そのものを、妥当でない場合にfalseを返すことになっている。 <?php var_dump(filter_var("...aho...@e
FC2ブログからMT5.2.7に引っ越す このブログも開発継続する気ないので引っ越… 開拓日誌ブログ上 me | コメント(0) Vyatta 6.6R1でやったーぶいっv もうルータ買わない!… 開拓日誌ブログ上 me | コメント(0) PHP 5.5の新機能 最近ぜんぜん注視してなかったけど、センス… 開拓日誌ブログ上 me | コメント(0)
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く