DIコンテナがなにやら大仰なものとして勘違いされているような気がしたので、機能を極限まで削ぎ落とした最小のDIコンテナを書いた。 これにはAOPは当然ないし、設定ファイルなどもない。 <?php // DIContainer.php class DIContainer { protected $componentFactory; function __construct(ComponentFactory $c) { $this->componentFactory = $c; $c->accept($this); } function get($name) { $name = strtolower($name); if (!isset($this->objects[$name])) { $this->objects[$name] = $this->componentFactory->get(
目的 http://jp2.php.net/manual/en/funcref.php PHP: Function Reference - Manual の用な体裁でPerlのドキュメントを整備したいと思います。 なんでもPHP -> Perlに移行組とかには需要があるそうです(by junichiroさん)。 PHPからPerlにくる人にモダンなPerlを知ってもらいまっしょい。 やる事としては、PHPのリファレンスにある各組み込み関数と同等の実装をPerlで行った場合にどうなるのか?というコードを集めたいと思います。 「PHPのこの関数と同じ事をPerlでどうやるんだ?」といった需要を満たせるようになればいいなぁ。 Viewer wikihub で見れます。 http://wikihub.org/wiki/php-funcref-in-perl Community #perl-casu
Eclipse 3.5 Galileoの「実に面白い」新機能とは:ユカイ、ツーカイ、カイハツ環境!(6)(1/3 ページ) 2009年6月24日に、オープンソースのIDE(統合開発環境)「Eclipse」の最新版であるEclipse 3.5、コードネーム「Galileo」の正式版がリリースされました。本稿では、その新機能を紹介します。 「Io」ではなく、「Galileo」なのは、なぜ? 私事ではありますが、最近、「MR.BRAIN」というTVドラマにはまっています。MR.BRAINは、脳科学者である主人公が脳科学を使って、トリックが仕掛けられた難事件を解決していくという内容ですが、少し前に流行った福山雅治主演の科学者「ガリレオ」が難事件を解決するTVドラマを彷彿とさせる内容で、毎週楽しみにしています。 さてガリレオといえば、Javaの世界ではEclipse 3.5のコードネームGalile
Google App EngineのJavaサポートがもたらしたもの Google App EngineがJava言語をサポートしたことで、JavaだけでなくGroovyやJRuby、Rhino(JavaScript)といったJavaVM上で動作するスクリプト言語をGoogle App Engine上で動作させようという試みが行われている。すでにGrailsやRuby on Railsなどのフレームワークも動作しているようだ。 様々なスクリプト言語の中でも特に多くのWeb開発者が使用しているのがPHPだ。PHPのJava実装としてはCaucho Technologiesで開発されているQuercusがある。これはもともとアプリケーションサーバResinでPHPを動作させるために開発されたものだ。 本稿ではMoriyoshi Koizumi氏がGitHubで公開しているquercus-gae
サイトのパフォーマンスを上げる、PHPでCSSファイルを圧縮転送する各種方法 2008年12月25日- 3 ways to compress CSS files using PHP サイトのパフォーマンスを上げる、PHPでCSSファイルを圧縮転送する各種方法 1. ob_start で gzhandler を使う方法 <?php if(extension_loaded('zlib')){ob_start('ob_gzhandler');} header("Content-type: text/css"); ?> body{ background-color:#000000; } <?php if(extension_loaded('zlib')){ob_end_flush();}?> gzip圧縮なので、無理にphpにする必要もないですが、まず基本の方法。でもまだ不十分ですね。 2. 1の
<html> <head> <title>Ascii</title> <style> body{ line-height:1px; font-size:1px; } </style> </head> <body> <?php function getext($filename) { $pos = strrpos($filename,'.'); $str = substr($filename, $pos); return $str; } if(!isset($_POST['submit'])){ ?> <form action="<?echo $_SERVER['PHP_SELF'];?>" method="post"> JPG img URL: <input type="text" name="imag
年内のPHP4サポート終了に向けて、PHP5への移行が進む昨今です。 PHP5で推奨されていないスクリプトをチェックするのがE_STRICTです。E_STRICTが有効なのは分かっていたのですが、実際にどんなスクリプトがE_STRICTに引っかかるのかが、あやふやでした。 そこでE_STRICTで出力されるメッセージをPHPのソースから抜き出してみました。どのようなスクリプトがE_STRICTに引っかかるのか(引っかからないか)のヒントになればと思います。 ちなみにE_STRICTの活用方法としてマニュアルには[-l]オプションによるチェックが書かれていますが、スクリプトを実行しないと発生しないE_STRICTもあるので、実際には実行して確認する方が良いです。 1. Accessing static property %s::$%s as non static インスタンス変数をクラス変数
PHPはソースコードを読めばわかるとおりC言語で書いてあります。 そのC言語の中でPHPがどんな処理をしているのかをデバッガであるgdbを用いて見ることができるのでそれを紹介します。まぁ普通のgdbの使い方なんですが:p ソースをダウンロードしてコンパイル PHP-5.2.6のソースをダウンロードします。 まず./configureするとのMakefileができます。 このMakefileの中で-gオプションがついていることを確認しましょう。*1 これがデバッガ(gdb)用のオプションで、コンパイルされたバイナリファイルにソースコードとの対応付けができます。 次にmakeします。時間がかかります。 サンプルファイル makeしている間に次のようなPHPファイルを作成しましょう。 <?php $i = "12"; $k = intval($i); ?> これは文字列の"12"をintval関
A ridiculously easy-to-use PHP script for resizing images the smart way. One of the challenges that comes with maintaining a graphic-intensive website like Shifting Pixel is finding a way to get high quality images throughout the site with as little effort as possible. To tackle this, I developed the Smart Image Resizer and have been using it around the site for the past few months. I couldn’t be
はじめに Delphi for PHPは、Windows向けビジュアル開発ツールとして定評のあるDelphiの開発スタイル、つまり、コンポーネントをドラッグ&ドロップ操作で配置し、プロパティとイベントを設定して開発するスタイルで、PHPによるWebアプリケーションを開発できるツールです。開発環境はWindows向けですが、作成したアプリケーションは、ピュアPHP 5で動作可能ですので、Linuxなど他の環境にも配布し、動作させることができます。 本稿では、3回シリーズでDelphi for PHPの基本的な使い方を紹介します。Delphi for PHPのトライアル版は、CodeGearのWebサイトからダウンロードできますので、本稿を参照しながら試してみてください。試用する前に「Delphi for PHPの現在」 本稿執筆時点で、Delphi for PHPは、Update 2がリリー
PEAR Log を使って Firebug にログを出力する 2007-10-05-1: [PHP][Firefox][JavaScript] PEAR Log 1.9.11 から Firebug にログを出力することができるようになったみたいなので試してみました。 - PEAR :: Package :: Log http://pear.php.net/package/Log - Firebug - Web Development Evolved http://www.getfirebug.com/jp.html require_once 'Log.php'; $log = &Log::singleton('firebug', '', 'PHP', array('buffering' => true), PEAR_LOG_DEBUG); $log->log('デバッグレベルのログ', P
About The PHP IDE project delivers a PHP Integrated Development Environment framework for the Eclipse platform. This project encompasses the development components necessary to develop PHP-based Web Applications and facilitates extensibility. It leverages the existing Web Tools Project in providing developers with PHP capabilities. Syntax Highlighting Syntax Validation Content Assist Code Navigati
PHPからDBを使うときにはPEAR::DBをお使いの方もまだたくさんいらっしゃると思います。しかし、PEAR::DBのマニュアルにも「This package been superseded by MDB2 but is still maintained for bugs and security fixes」(このパッケージの代わりにMDB2の使用が推奨されますが、バグの修正、セキュリティフィックスは引き続き行われます。)と書かれているとおり、今後はPEAR::MDB2をお使いになることをお奨めいたします。 ということで、今回はPEAR::MDB2についてご紹介したいと思います。 PEAR::MDB2 マニュアル http://www.go-pear.org/manual/ja/package.database.mdb2.php MDB2についてはこちらをご覧下さい http://ww
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く