タグ

phpに関するlapis25のブックマーク (272)

  • PHPをより高速化するプロファイリングツールあれこれ

    PHPを高速化するために中間キャッシュを使う各種PHPアクセラレータについては以前に「PHPアクセラレータで一番高速なのはどれか?」で書きましたが、そういう方法以外にどこで時間がかかっているのか(ボトルネック)を見つけ出すことによって、根的に高速化するという手法もちろんあるわけで。 そういう作業に役立ちそうなツールがいろいろとあるようなので実際の使い方と一緒に見てみましょう。 SitePoint Blogs >> Faster PHP Apps-Profile Your Code with Xdebug 「Xdebug」というのがどうも一般的のようです。Windows用のモジュールもあり、PHP4だけでなく5にも対応。 Xdebug - Debugger and Profiler Tool for PHP http://www.xdebug.org/ Xdebugだけだとプロファイリング

    PHPをより高速化するプロファイリングツールあれこれ
  • PHPで作成したウェブシステムの質問です。 出力する文字列を日本語、中国語、英語に切り替えが可能にすることで 多言語化を行いたいのですが、具体的にはどうす…

    PHPで作成したウェブシステムの質問です。 出力する文字列を日語、中国語、英語に切り替えが可能にすることで 多言語化を行いたいのですが、具体的にはどうすればよいでしょうか。 また、下記のうち、どちらが有用でしょうか? 1. 配列に格納する $apple[0]= "りんご"; $apple[1]= "apple"; $apple[2]= "林檎"; 2. require を使って言語を切り替える if ($lang == 0) require("jp.php"); if ($lang == 1) require("eg.php"); if ($lang == 2) require("ch.php"); --jp.php-- <?php $apple= "りんご"; $orange= "みかん"; $tomato= "とまと"; ?> ---------

  • php-mode contributerのLennart Borgmanからメールが来た! - kengpong

    昨日久しぶりにメールを確認したところ、Lennart Borgmanからメールが来ていた。 全然知らない人だと思っていたのだけど、内容見て php-mode.el の中を見てみたら、どうやらメンテナ?の人らしい。 内容を解釈すると、どうやら僕が以前書いたEmacsのphp-modeでインデントが妙な事になる件 - kengpongをどこからか聞きつけた模様。 僕は致命的なまでに英語がパッパラパーなため、一応メールを返信したが意味不明になっている可能性もありえるので、ここにやりとりを晒してみる事にする。ちなみに先方の許可は取ってないけど、まぁこれぐらいなら大丈夫かな! まず来たメール Indentation problems with PHP in Emacs Hi I saw you had some problems with indentation of PHP code in Ema

    php-mode contributerのLennart Borgmanからメールが来た! - kengpong
  • CakePHP 1.2beta対応―CakeInfo-0.1.2リリース | Shin x blog

    CakePHPアプリケーションの内容をphpinfo()風に見せるCakeInfoをCakePHP1.2-betaに対応しました。 OpenFLPを表示するとこんな感じです。 主な変更点は以下です。 CakePHP1.2-beta対応 Controllerにaction_methodを追加 今回追加したControllerのaction_methodでは外部からアクションメソッドとして呼べるメソッドを表示しています。これを見ると公開するつもりの無いメソッドが公開されていないかを確認できるので、自作のCakeアプリにて試してみてください。 設置 設置方法は簡単です。 まず[http://www.1×1.jp/blog/download/cakeinfo-0.1.2.zip]からzipファイルをダウンロードします。 あとはダウンロードしたzipファイルを展開し、[cakeinfo.php][l

  • PHP コード最適化 Best Practices 63+ - カタコト日記

    みたいなタイトルの記事を Digg 経由で発見。チートシート代わりにと思い超訳。*1 A Software Architect PHP 最適化 ベストプラクティス! 01. static にできるメソッドは static として宣言しよう。(4倍速い) 02. echo の方が print より速い。 03. echo '文','字'; (カンマ区切り)の方が、'文'.'字' (ドット連結)より速い。 04. ループの最大値は、ループ「内」ではなく「前」にセットしておこう。 05. 大きい配列のような変数は unset() してメモリを解放しよう。 06. マジックメソッド(例: __get, __set, __autoload)は使用を避けよう。 07. require_once はハイコストなのです。 08. include や require でファイルはフルパスで指定しよう。 09

    PHP コード最適化 Best Practices 63+ - カタコト日記
    lapis25
    lapis25 2008/05/23
  • 更新:[PHP]1月31日 PHP勉強会 at 大阪を開催します - ku-sukeのはてなダイアリー

    開催を決定致しました。 1月31日木曜日、大阪の心斎橋でPHPの勉強会をやってみたいと思います。id:ku-sukeが中心となり参加者と発表者を募集しています。初回なのでPHP初級者や他の言語を普段利用してるプログラマの方、 デザイナの方を主な対象に考えています。 ひとまず内容FIXしました! mixiとこのページとevents.php.gr.jpと僕個人の知り合いを合わせると、40を超えるかもしれない勢いなので、座りたい方はお早めにお願いします。 すいません、はてダに地図貼付ける方法おせーてください!>< 開催概要 *日時:2008年1月31日 木曜日 19:30〜20:30(多分のびる) *場所:Apple Store Shinsaibashi ⇒ http://www.apple.com/jp/retail/shinsaibashi/map/ (〒542-0086 大阪市中央区西心斎

    更新:[PHP]1月31日 PHP勉強会 at 大阪を開催します - ku-sukeのはてなダイアリー
  • 冗談で作ったテンプレートエンジンだが - グニャラくんのグニャグニャ備忘録@はてな

    半分冗談で作った、DjangoPHPテンプレートエンジンMuMu。 社内でユーザがついたので、ちょっと手を入れてキャッシュをつけてみた。 パースしたテンプレートをシリアライズして保存するだけだけどね。 テンプレートあてはめ後のキャッシュが欲しいところ。 ドキュメントも一応書いてみた。 http://qwik.jp/mumu/ あとは、newformsをパクって参考にしてフォームバリデーションを作るかね。 MTVのMV部分は作る気はさらさらないけど… [追記]EthnaのrendererをMuMuにする方法が公開されていました。 2007-09-18 - WebProgを極めて居酒屋を開発する 地味にはやらせていこう。

    冗談で作ったテンプレートエンジンだが - グニャラくんのグニャグニャ備忘録@はてな
    lapis25
    lapis25 2008/01/18
  • PHPにおける文字列比較の2a問題 - Unknown::Programming

    PHPの文字列比較に関しては古の時代から皆がいばら道を通っているので今更何か語ることも無いんだけどやっぱり良くハマっちゃうということで軽くメモを残しておく。 とりあえずは先人達の苦悩ということでこのあたりの記事は見ておいた方がいいだろう。 素晴らしき自動的な世界〜或いは「型のない」世界〜 - がるの健忘録 PHPでの入力値チェックのすり抜け 上記記事の方が名づけたと思われる(w)いわゆる「2a問題」というものについて書いていく。 この2a問題というのはもう一度再確認すると <?php $a = '2a'; $b = 2; if ( $a == $b ) { // ここを通る } という問題のことだ。 何故こうなるかは元記事やマニュアル等に詳しく書かれているが、カンタンに説明すると「2a」という文字列を数値評価すると「2」として扱われるということだ。 実はコレはPerlでもまったく同じ問題を

    PHPにおける文字列比較の2a問題 - Unknown::Programming
  • BugTrack/732 - PukiWiki-dev

    [backup] 書き込み時にメモリ不足† 元タイトル: 書き込み時にメモリ不足 ページ: BugTrack 投稿者: みこ 優先順位: 低 状態: 完了 カテゴリー: 体バグ 投稿日: 2004-10-18 (月) 19:52:43 バージョン: 1.4.4 ↑ メッセージ† とりあえず、あまりありえないお話だとは思いますが (^^; いちおう記しておきます。書き込み時に backup.inc.php がmemory_limit エラーが発生したので何故?とおもったら、gzopenが展開しきれずメモリ不足に陥ったようです。 たしかに pukiwiki.ini.php は $cycle=0 で $maxage = 999 としているのでありえないことはないかなとはおもったのですが (^^; レアなケースでも、さすがにエラーはまずいかなとおもい、ここに報告します。 そもそも、PHPでメモリ

  • BugTrack/2159 - PukiWiki-dev

    大きな配列の変換処理にunsetが無い† ページ: BugTrack2 投稿者: ko-zu 優先順位: 低 状態: 完了 カテゴリー: 体バグ 投稿日: 2006-02-02 (木) 01:28:01 バージョン: ↑ 修正† cvs:lib/backup.php (1.11): BugTrack2/159: Just free used memory chunks when copying memory to memory (Patched by ko-zu) あるページのバックアップデータを操作する際、最大でバックアップデータの二倍の量のメモリを確保していた部分について、一倍 + 一履歴分となるように修正 ↑ メッセージ† BugTrack/732やメモリ制限周りの問題を見たのですが、データの配列を全コピーしている所で逐一unsetが必要かと思われます。 make_backup()

  • PHPプログラマにありがちだと思うこと - スコトプリゴニエフスク通信

    ふと思いついたので書き留めてみる。別に他意はありません。 みんな自分のフレームワークを作っている。 みんな自分のORMを作っている。 「でも結局はSQLを直接書くよね」と言う。 みんな自作のテンプレートエンジンを作りたいと思っている。 実際に作っちゃう人は少数。 Zend_CacheではなくCache_Liteを使う*1。PHPを自分でビルドするのが好き。 当然PHP4, PHP5は両方使えるようにしておく。 いろいろconfigureオプションを変えてビルドしてみる。 RCが出るたびにビルドし直す。 でもいずれ飽きる。Perlに関心がない。もしくは敵意を持っている。 焼肉大好き。 【追記】あるかなぁと思いつつ、自分だけのことかも・・・ということを一応列挙。Zend Frameworkを真剣に研究したわけではないのに、「Zend Frameworkって期待したほどのものじゃなかったよねー」

    lapis25
    lapis25 2007/10/26
  • PHP 5.2.4 の新機能

    PHP5.2.4がリリースされています。 基バグフィックス&セキュリティアップデートのようなので大きな変更はありませんが、ChangeLogから興味を引いた変更点をメモしておきます。 –enable-versioningの廃止 追加機能では無いですが。 PHP3/PHP4を同時にApacheモジュールとして実行できるオプションでしたが、今回廃止されました。まあ昨今ではさすがに使っている人はいないでしょうけど、PHP3->PHP4の移行期には必須とも言えるオプションだったので、感慨深いものがあります。 PHPエラーをstderrに出力可能に CGI/CLI版では、display_errors=stderrに設定することにより、PHPエラーをstderr(標準エラー)に出力することができるようになりました。なおデフォルトではこれまでどおりstdoutに出力されます。 stderrPHPエラ

    lapis25
    lapis25 2007/10/02
  • Matzにっき(2007-08-10) [言語] PHP and ActiveRecord PHP on Railsは不可能という話。

    << 2007/08/ 1 1. [言語] 連載:C# 2.0入門 第3回 新しい繰り返しのスタイル − yield return文とForEachメソッド − @IT 2. [Ruby] Shoes, a Tiny Toolkit for Making Browser-like Things 2 1. [OSS] Download Hadoop at OSCON (Yahoo! Developer Network blog) 2. ウェブキャリアでWebエンジニアとしてのキャリアを磨こう 株式会社ウェブキャリア 3. 先達の業界に学ぶプロジェクトマネジメント 第1回 20年は遅れているITプロマネ:ITpro 4. 横浜 3 1. [OSS] 特別講演:「オープンソース・ソフトウェア開発思想とリアルな地域ネットワークの連 2. [Ruby] トークセッション-5:「世界に広がるオブジェク

    lapis25
    lapis25 2007/08/22
  • eAcceleratorが帰ってきた! - Do You PHP はてブロ

    optimizerがonの場合に例外がthrowされない件ですが、ようやくcloseされたようです。 http://eaccelerator.net/ticket/242 2007/08/14 13:20:19付けのコメントでリンクされているeaccelerator-0.9.5.2-test.tar.bz2をCentOS4.5+PHP5.2.3な環境でbuild。optimizerがonであることをphpinfoで確認し、eAcceleratorが例外をcatchしない - Do You PHP はてなでテストした以下のコード <?php class Sample { public function throwException() { throw new Exception('DUMMY'); } } $obj = new Sample(); try { $obj->throwExcep

    eAcceleratorが帰ってきた! - Do You PHP はてブロ
    lapis25
    lapis25 2007/08/17
  • PHP4からPHP5への移行について

    (Last Updated On: 2018年8月13日)PHP4のサポート終了がアナウンスされことに伴い、技術評論社の方からPHP4からPHP5への移行の記事を書く事になりました。毎週新しい記事が公開されます。下記のURLが最初の記事で8/2(予定)から順次続きが公開されます。 http://gihyo.jp/dev/feature/01/php-migration/0001?page=1 記事を書いてみて思ったのですが、自分にとってはPHP4とPHP5両方で動作するコードを書くのはそう難しくないのですが時々PHPでコードを書いている方、PHPの開発状態を把握していない方には結構難しいのではないかと思いました。今回の記事は「移行」にのみ焦点をあててPHP5の新機能はほとんど紹介しませんでしたがかなりボリュームになってしまいました。それでも十分とは言えないです。PHP5への移行をお考えのか

    PHP4からPHP5への移行について
    lapis25
    lapis25 2007/08/01
  • ゼンド、PHP開発企業のための新パートナー制度を発表

    ゼンド・ジャパンは、大規模Webシステムの開発体制強化を目的とする新パートナー制度「Zend Authorized SI Partner」を発表、8月1日から開始することを明らかにした。 ゼンド・ジャパンは7月4日、大規模Webシステムの開発体制強化を目的とする新パートナー制度「Zend Authorized SI Partner」を発表、8月1日から開始することを明らかにした。同制度の第1号のパートナーには、同社と同じくターボリナックスの子会社であるレーザーファイブが認定される予定。 同制度においてパートナーは、PHP統合開発環境「Zend Studio 日語版」10ライセンスをはじめとするPHP開発ツールの無償提供や開発に関するメールサポート(インシデント無制限)といった開発面での支援のほか、ゼンド社が受託した大規模案件の紹介など営業/マーケティング支援を受けられる。 同社では、PH

    ゼンド、PHP開発企業のための新パートナー制度を発表
    lapis25
    lapis25 2007/07/17
  • PHP6.0.0-devを試してみる - 名前空間のサポート - Do You PHP?

    次期メジャーバージョンであるPHP6をあれこれやってみます。今回は、名前空間のサポートです。 PHP5での導入も検討された名前空間のサポートですが、PHP6でついに導入される事になりそうです。家のメーリングリストでは以前から名前空間の仕様決めで盛んに議論されていましたが、Dmitry Stogov氏の提案を軸としたシンプルなものに固まっていったようです。そして2007/07/12、Dmitry Stogov氏によってついに名前空間をサポートするコード一式が家CVSにcommitされました。2007/07/16現在ではCVSはもちろん、snaps.php.netにあるアーカイブにもそれらのコードが含まれています。 前置きが長くなりましたが、サポートされた名前空間がどんな感じなのか、実際にCVSからソースを取得してbuildしたPHP6-devを使って試した結果をまとめてみました。なお、今

    lapis25
    lapis25 2007/07/17
  • PHP4のサポート終了は2008/8/8

    (Last Updated On: 2018年8月13日)現状でもセキュリティフィックスの状態があまり良いとはいえないのでPHP5が利用できる場合は積極的にPHP5を利用すべきですが、2007/12/31まで通常メンテナンス、以後2008/8/8までセキュリティフィックスには対応ということです。 まだの方は早くPHP5に移行しましょう。 間違っても5.1系に移行しないようにしましょう… 5.1系は今現在もメンテナンスされていません… 5.2系のみメンテナンスされています。

    PHP4のサポート終了は2008/8/8
    lapis25
    lapis25 2007/07/17
  • 配列からランダムで要素を抽出する - Unknown::Programming

    覚え書。 Perl版。 my @array = (0,1,2,3,4,5); my $value = splice @array, int rand @array , 1; PHP版。 <?php $array = array(0,1,2,3,4,5); $value = array_shift(array_splice($array,array_rand($array),1)); PHPのことだから一発で抽出できる関数あるもんだと思ってたけど無かったっぽい。 肝心なとこで関数無いんだよないつも・・・。 追記: ちょっと言葉足らずだったので補足。 配列からランダムで要素を”取得”したいわけではなく、”抽出”したいわけです。 つまり上記のソースを実行すると、 @array = (0,1,2,4,5); $value = 3; みたいな感じで元配列から抜き取るような結果になって欲しいと。 Li

    配列からランダムで要素を抽出する - Unknown::Programming
  • http://1470.net/user/ishinao/2007/06/04

    lapis25
    lapis25 2007/07/06