今日も適当ダイアリー

PHP や Javascript や Symfony、BEAR.Sunday などのWeb周りのことを中心に。それ以外のことも気まぐれに投稿します。

php

第89回PHP勉強会@東京でBEAR.Sundayのお話をしてきました #phpstudy

blogger からはてなブログに移行したんだけど、面倒だから適当に移行して以前の記事が 404 Not Found になってたりしてごめんなさいな @madapaja です。 もう4月も終わりますね。 やること、やりたい事が多くて時間が足りてません。 さて、先日 4月28日にリ…

MongoDBの地理空間のインデックスを試してみる

MongoDB面白いですね。 ドキュメントが親切なのでありがたいのですが、なかなか日本語の記事が無かったりするので、Geospatial Indexingについて試してみた事を投稿しますよ!マニュアル:MongoDB internal corp site Geospatial Indexing は MongoDB ver1.3…

RGB色空間とHSV色空間の相互変換 PHP版

PHP配列とCSS色表現の相互変換 - 今日も適当ダイアリー に続いて、 relColors に使った関数を公開します。色の明度や色相を計算するために、いったんRGBで表現された色情報を、HSV色空間に変換した上で計算を行いました。 HSV色空間については HSV色空間 - W…

PHP配列とCSS色表現の相互変換

前回(色をアルファブレンドする - 今日も適当ダイアリー)にて、 relColors に使った使い回せそうな関数の公開を始めたのですが、ユーティリティ関数を書くのをすっかり忘れていました。ということで、色テキスト表現からPHP配列の相互変換の関数を提示して…

色をアルファブレンドする

先日このブログで relColors という関連色を表示するための自作ツールをローンチしたこと書いたので、それについての話題です。 関連色を簡単に見つけられるツール「relColors」作ってみました。 - 今日も適当ダイアリー当初の予定では、PHPのソースを公開す…

PHPとMongoDBでセッション管理してみる

補足(2010-08-28追記): 下記 mongoSession クラスは一部のPHPバージョンでAPCを使用している場合、正常に動作しない場合があるようです。(静的メソッドがキャッシュに乗らない場合がある?) PHPとAPCでバグ報告がされており、現行バージョンでは解決済み、…

CentOS5.5にMongoDBをインストールしてみる

この記事で説明している yum リポジトリはすでに使えなくなっています。 下記記事で、改めて説明を行っていますので、そちらも併せてご覧いただければと思います。 http://blog.madapaja.net/2011/09/20-mongodb-1-mongodbjp.html ドキュメント指向データベ…

相対パスから絶対URL(http://〜〜)への変換

PHP

とあるURLの相対パス(./ とか ../../hoge/ とか)から絶対URL(http://〜〜)の情報を取得したいような場合、PHPではそのような関数などはないため、自力でなんとか解決しなければなりません。自分のために作ったけど、自分のための備忘録代わりに投稿して…

プログラム言語を始める時にはフレームワークに手を出さない

PHP

PHPに限らず、プログラム言語に手を出すときには、特定のフレームワークから入らずに、純粋に言語から勉強し始める事をお勧めします。 昨今のフレームワークは手間を減らし、安全で保守のしやすいプログラムを開発しやすくするために、多くの機能を搭載して…

PHPは型がないのではなく、自動型変換を行ってくれる言語です

PHP

PHPの長所と短所の両方としてあげられる項目として、「PHPは型を意識せずにプログラミングできる」というようなことが言われる場合があります。 PHPは、基本的に場合に応じて、型を自動的に変換(キャスト)するため、初心者にとって入りやすいポイント、と…

PHPでシングルトンを利用

PHP

デザインパターンのひとつに、シングルトンパターンというものがあります。これは、アプリケーションに対して、一度に1つしかオブジェクトのインスタンスを許可したくない場合に使うもので、例えば、アプリケーション内で1つのデータベースハンドルを使い…

PHPでもif文の代わりに三項演算子(条件演算子)が利用できる

PHP

タイトルの通りなのですが、PHPでも三項演算子(条件演算子)が利用できるので、特定の場合では、if文を条件演算子に置き換えたほうが、可読性が増す場合があります。 そこで、三項演算子を知らない人のために、ここでちょっと解説しておきます。 条件 ? 真…

PHP で生データから POST/GET の全データを取得する

PHP

PHP で POST を取得するには、通常、$_POST 変数が使われるが、下記のような配列になっていない フォーム の場合、同じ変数に格納しようとするため、全データを取得することができません。 <form method="post"> <input value="AAAAA" name="a" /> <inpu value="BBBBB" name="a" /> <input value="CCCCC" name="a" /> <input value="CCCCC" name="a" /> <input value="D&E" name="a" /> </inpu></form>

PHP を学び直す 第一回:ごくごく基本的な事

PHP の初級者、中級者向けに、PHP をきちんと学び直す、という事で、PHP 構文、文法などの基礎的な所をまとめていきたいと思います。というのも、PHP を使っている身であっても、忘れてしまっていたり、知らなかったり、もしくは、マニュアルの意味がいまい…

jWikiParser - PHP Wikiパーサ

最近、PukiWikiぽいWikiパーサが必要だったのですが、PukiWikiがGPLだったので、中のコードはパクれない。。。結局、PukiWikiとLivedoorWikiの整形ルールを参考にしながら、オリジナルWikiパーサを作ってみました。あまりテストしてないのとちょっと手抜きが…

PHPの文字化け対策

PHP

PHPのフォームなどで、文字のやりとりをしていると、文字化けを起こす場合があります。特に、文字コードがShift-JISだったりすると「機能」が「機\能」になってしまったりする場合があります。これは、PHP4やPHP5の設定ではmagic_quotes_gpcがonになっており…

IEでSSL(https)だとPHP経由でのファイルのダウンロードに失敗する

ファイルのダウンロードをコントロールしたり、ダウンロード数をカウントするために、PHP経由でファイルを転送したい場合ってのがあるのですが、キャッシュに残るのも気持ち悪い、とかで、たいてい、下記のようなスクリプトで対応してきました。