PHPに関するask11のブックマーク (123)

  • Do You PHP はてな - 出力バッファとflush()・ob_flush()

    しばらく使わないとすっかり忘れてしまうので、まとめてメモ。 ありがちなネタとして、 プログレスバー(進捗状況をリアルタイムに表示) 「お待ちください」と表示させて裏で処理を実行し、処理が終わったら結果を表示する などがありますが、これらを行うには出力データのバッファリング/フラッシュを行うことになります。 で、PHP的にはob_*関数やflush関数を使うことになりますが、[PHP-users 18135]プログレスバーは実現可能か?のスレッドから flush()が動作する条件は、出力バッファが無いこと ob_flush()が動作する条件は、出力バッファのネストレベルが1であること 出力バッファのネストレベルはob_get_level()で取得できる output_handler、output_buffer(> 0)を指定すると、ネストレベルが変わります という注意点が挙げられます。 たと

    ask11
    ask11 2009/02/18
  • phpでのバックグラウンド処理@阿部 - メディアリュウム:開発チームのブログ

    今回は、ちょっとイレギュラーな書き込みになります。 何故かは、過去ログを見ていただければわかっていただけるでしょう(苦笑) では、早々に今日のネタである「phpでのバックグラウンド処理」について書いてみようと思います。 phpは、比較的新しい言語ですし、文法もCやC++に似ていることもあり、とっつきやすい言語でもあります。 ただ、重たい処理(多大なDB処理など)を行うと、ブラウザの動き自体も停滞してしまうのが、欠点ではあります。 そこで、バックグラウンド処理を・・・となるわけですが、LinuxWindowsでは外部プログラム呼び出し時の挙動が違うため、WebサーバのOSを考慮に入れなければなりません。 phpにはsystem関数や、pctrl_xxxx系統の外部プログラム呼び出しはあります。 LinuxでもWindowsでも上記の関数は使えます。 ただし、Linuxではコマンドライン(W

    phpでのバックグラウンド処理@阿部 - メディアリュウム:開発チームのブログ
    ask11
    ask11 2009/02/14
  • 続PHPのアクセサ - CODE NAME: TUNE34

    ここ1ヶ月はバタバタしててブログを書く事ができませんでした。書くネタがないというのもありますが、時間をつくってブログを書き続けるというのは当に難しいですね。でも少しずつでも何かアウトプットしないとなあ。。 それで最近はてなブックマークなどをよく見るようにしているのですが、そこで感じるのはPerlコミュニティの活発さです。例えばアクセサやmixinなどPerlでのオブジェクト指向プログラミングを支援する為の「Moose」というモジュールの使用がトレンドだと紹介されれば、呼応するように多くのブログで言及されていたりします。 一方、私がメインで使用している同じLL言語のPHPでもPHP5から格的なオブジェクト指向プログラミングが出来るようになっていますが(PHPのアクセサは以前このブログでも取り上げました)、今回はちょっと「Moose」の真似をしてみてPHPでも「読み書きの制御」と「型定義」

    続PHPのアクセサ - CODE NAME: TUNE34
    ask11
    ask11 2009/02/05
  • cakePHP Tumblr component : straighten

    試しに晒してみます。TumblrのAPIを扱うComponentです。まだちゃんとテスト出来てませんが、サンプルと思って頂けると幸いです。 tumblr.php PLAIN TEXT PHP: <?php /** * Tumblr Component * * @author Masahiko Satoh * @version 0.1 * @license http://creativecommons.org/licenses/LGPL/2.1/deed.ja * @link http://straighten.jp * */ App::import('Core', array('Xml')); class TumblrComponent extends Object { var $email = null; //Your account's email address. var $pas

    ask11
    ask11 2009/01/21
  • PHP で復号可能な暗号化を行うときのまとめ ( ラボブログ )

    スパイスラボ神部です。 ちょっとわけあって、PHP で複合化可能な暗号化を処理を組み込むことになりました。いったん暗号化して DB に格納し、あとで複合化するという手順です。 さすがに生でパスワードを格納するのは嫌ですし、調べてみると意外と全体の流れを解説したものはあまり多くはなかったもよう。せっかくですのでスタンダードな暗号化/複合化についてまとめてみたいと思います。 -暗号化が好きだ! - Favorites! 順を追ってあたりをつけていきます けっこう情報が少ないので、順を追って調べていきます。 -PHPの可逆暗号化関数について - 教えて!goo とりあえず、mcrypt 系を使うのがよさそうだ、というヒントが得られました。 -PHP: mcrypt_generic - Manual まずは上から mcrypt_cbc がいいかな?と思ってみてみると、mcrypt_generi

    ask11
    ask11 2009/01/21
  • HTTP_Request2 がリリースされました&簡単な使い方 - 肉とビールとパンケーキ by @sotarok

    HTTP_Request2 バージョンがあがってインターフェイスが変わったので多分この記事の内容はもうあまり役に立たないような気がします.(2010-03-21 追記) 0.1.0-alphaです。 PHP5 的な、HTTP_Requestの後継にあたる位置づけのようです。 なんか昨日HTTP_Requestを使おうとおもってマニュアル見ようとしたら見つけました。びっくり。 主な違い 主な違いは多分以下のかんじです。 Adapterが選択できるようになった 今のところ、Socket、cURL、Mock Mockはテスト用に使える インターフェースがちょっと使いやすくなった 例外なげてくれるようになった Net_URL2に依存 これまでのHTTP_Requestを知っている人は、若干使い方が違うので注意が必要です。まあ似たようなものですが。 使い方 サンプルコード <?php require

    HTTP_Request2 がリリースされました&簡単な使い方 - 肉とビールとパンケーキ by @sotarok
    ask11
    ask11 2009/01/15
  • HTTP_Request2

    Easy Install Not sure? Get more info. pear install HTTP_Request2 Pyrus Install Try PEAR2's installer, Pyrus. php pyrus.phar install pear/HTTP_Request2 PHP5 rewrite of HTTP_Request package (with parts of HTTP_Client). Provides cleaner API and pluggable Adapters: * Socket adapter, based on old HTTP_Request code, * Curl adapter, wraps around PHP's cURL extension, * Mock adapter, to use for testing pa

    ask11
    ask11 2009/01/15
  • PHPのarray_multisort関数が激便利だったので紹介 : akiyan.com

    PHPのarray_multisort関数が激便利だったので紹介 2007-10-17 追記:2007-11-08 [を] PHP の array_multisort は Schwartzian Transform 向きかなで鋭い指摘をいただきました。たしかに関数名から言っても「array_multisort」ですから、この例はusort向きでしたね...。 説明のシンプルさを求めるあまり質が抜けおちてしまってました。反省です。苦しいですが、array_multisortの質への「前段階」のシンプルな解説としてどうぞ。 array_multisort関数は、sort関数などではソートできないような多次元の配列をソートするためのPHPの関数です。SQLのORDER句に似た動作を配列に対して適用することができます。 たとえばこんな形式の売り上げデータがあったとします。 $sales = a

    ask11
    ask11 2009/01/15
  • 第8回 クロスサイトスクリプティング対策の落とし穴 | gihyo.jp

    今回は熟練したWebアプリ開発者なら常識のクロスサイトスクリプティング対策の落とし穴を紹介します。 JavaScriptを排除しているつもりで排除に失敗?! 最近はSanitize(サニタイズ)という言葉の代わりにValidation(検証)という言葉をよく聞くようになったと思います。Sanitizeの意味を辞書で調べると「汚れている物をきれいにすること」とされています。この意味の通り汚れた変数をきれいにして使えば安全に利用できるとする考え方に基づくのがサニタイズ手法です。典型的な例は、「⁠テキストを出力する前に"<"と">"を取り除く」方法があります。 例1 "<"と">"をereg_replaceで取り除く $safe_text = ereg_replace($_GET['text'], '[<>]', ''); この$safe_textを <a href="/script.php?t

    第8回 クロスサイトスクリプティング対策の落とし穴 | gihyo.jp
  • 2php : EclipseにPHPプラグインをインストール

    EclipseにPHPプラグインをインストールする EclipseはJavaだけではなく、PHP用のプラグインもインストールをすることが可能です。PHPは最近ではかなり着目されている言語ですので、インストールしていても損はないかと思われます。ちなみに、このサイトの筆者は最初はEclipseではなく、Macromedia製のDreamWeaverを使って開発していましたが、PHPに慣れた頃から、秀丸エディタしか使わなくなりました。しかし、独りではなく、複数の人間が絡んでPHPなどのプログラムを作成する場合は、やはりEclipseが役に立つかもしれません。 PHPプラグインをダウンロード 2004年6月13日現在、PHPのプラグインは商用バージョンと非商用バージョンとが存在します。今回は、非商用バージョンを使うことにします。まず、http://sourceforge.net/projects/

    ask11
    ask11 2008/11/14
  • Zend_DbでO/Rマッパー体験 - 気が向いたら

    例えば、 SELECT a.*, b.group_id, c.option_name FROM user AS a, group AS b, option AS c WHERE a.name = 'foo' AND a.group_id = b.group_id AND a.option_name = c.option_name というクエリと同じ内容に、O/Rマッパーでアクセスするには… 用意するもの Zend_Db_Table_AbstractをextendしたZend_Db_Tableクラス 今回の例でいうと… <?php class dao_user extends Zend_Db_Table_Abstract class dao_group extends Zend_Db_Table_Abstract class dao_option extends Zend_Db_Table_

    Zend_DbでO/Rマッパー体験 - 気が向いたら
  • http://www.debuggeddesigns.com/open-source-projects/php5tube

    ask11
    ask11 2008/11/10
  • Openpear

    Openpear is a PEAR Repository Channel and Subversion Hosting Service. since November 2008 以前からお使いですか? 以前の Openpear をお使いだった方は、以下のコマンドを実行する必要があります pear channel-update openpear.org チャンネルを登録する pear channel-discover openpear.org 利用可能なパッケージをリストする pear remote-list -c openpear パッケージをインストールする pear install openpear/package_name バージョンや安定性を指定してパッケージをインストールする pear install openpear/package_name-1.0.0 pear insta

    ask11
    ask11 2008/11/02
  • 乱数生成器の取扱い – PHPとPython

    (Last Updated On: 2008年9月25日)Stefan Esser氏のブログでmt_srandとそれほどランダムでない乱数(mt_srand and not so random numbers)というエントリが8/17に掲載されています。気になっていたのでPythonの実装も調べてみました。 乱数生成器は擬似乱数生成器 PHPの乱数生成器にはrandとmt_randの2種類がありますが、randはlibcのラッパー関数でmt_randはMersenne Twisterアルゴリズムを利用した乱数生成器です。乱数生成器といってもどちらも擬似乱数生成器なのでそれぞれ、srandとmt_srandで与えたシード同じであればその後に生成される乱数(擬似乱数)は同じになります。これはコンピュータサイエンス系の学科を専攻していれば常識ですが、ご存知でない方も少なくないと思います。 シード

    乱数生成器の取扱い – PHPとPython
    ask11
    ask11 2008/10/31
  • PHPでのセキュリティ対策についてのメモ - Liner Note

    ask11
    ask11 2008/10/27
  • PIF・FPM勉強会でライトニング・トーク | Ecogrammer manno

    ask11
    ask11 2008/10/20
  • IDEA * IDEA

    ドットインストール代表のライフハックブログ

    IDEA * IDEA
    ask11
    ask11 2008/10/15
  • Zend Framework - 日本語マニュアル

    表目次 2.1. サンプル CMS 用のアクセス制御 3.1. 設定オプション 3.2. サーバのオプション 3.3. デバッグメッセージ 3.4. Active Directory 用のオプション 3.5. OpenLDAP 用のオプション 4.1. Core フロントエンドのオプション 4.2. Function フロントエンドのオプション 4.3. Class フロントエンドのオプション 4.4. File フロントエンドのオプション 4.5. Page フロントエンドのオプション 4.6. File バックエンドのオプション 4.7. Sqlite バックエンドのオプション 4.8. Memcached バックエンドのオプション 4.9. Xcache バックエンドのオプション 6.1. Zend_Config_Ini コンストラクタのパラメータ 9.1. 通貨記号の設定を指定する

  • PHP入門

    これから PHP のプログラムを開始される方を対象とした PHP 入門です。 PHP での開発環境をローカル環境に構築する手順や、 PHP を使ったプログラミングの方法に関して実際にサンプルプログラムを作成しながら解説していきます。

    PHP入門
    ask11
    ask11 2008/10/06
  • CakePHPを使ったMVC設計のベストプラクティス - Sooey

    CakePHPを使ったMVC設計のベストプラクティス 個人的にはCakePHPはあまり好きではないのですが、CakePHP開発メンバーによるMVCデザインの記事 (CakePHP のおいしいべ方)で紹介されていたBest Practices in MVC Design with CakePHP (php|architect’s C7Y)はMVCフレームワーク利用者にとってとても有用な情報だったので、訳してみました(php|architectの方には翻訳許可を頂いています)。 この記事を読んでドメインモデルに興味を持った方は、エンタープライズ アプリケーションアーキテクチャパターン(PoEAA)やDomain-Driven Design: Tackling Complexity in the Heart of Softwareに手を出してみるのもいいかも。他に、InfoQにユーザー登録すれ