memo.xight.org

日々のメモ

カテゴリ : PHP

2ページ目 / 全10ページ

PhpUnit - PHPのユニットテスト自動化ツール

Reference

SourceForge.net: PhpUnit
http://sourceforge.net/projects/phpunit/

PHPUnit
http://www.go-pear.org/manual/ja/html/package.php.phpunit.html

Do You PHP? - PhpUnit - 最強のユニットテスト自動化ツール
http://www.doyouphp.jp/tips/tips_phpunit.shtml

PEAR hacks - PHPUnitの使い方
http://www.aglabo.com/agl/proevo/PHP/PEAR/phpunit-howto.html

PhotoCabi-diary - 2004-11-18 - PHPUnitの使い方
http://www.photocabi.net/mt/archives/000049.html

Smartyを使った開発でデバッグを行う方法

Summary

Smartyを使った開発でデバッグを行う方法.

常にデバッギングコンソールをポップアップ表示

$smarty->debugging = true;


常にデバッギングコンソールをHTML内に表示

$smarty->debugging = true;
$smarty->assign('_smarty_debug_output', 'html');


URL に SMARTY_DEBUG が含まれる場合にデバッギングコンソールを表示

$smarty->debugging_ctrl = 'URL';


テンプレート変数 debug を利用してポップアップ表示

{debug} 


テンプレート変数 debug を利用してHTML内に表示

{debug output='html'} 


debug_print_var 修正子を利用して,割り当てられた変数を表示

{$foo|@debug_print_var}


debug_print_var 修正子を利用して,割り当てられた変数を表示

インデント1単位,100文字まで表示.
インデント1単位は半角スペース2文字分.
{$foo|@debug_print_var:2:100} 


Reference

cl.pocari.org - Smarty を使った開発でデバッグを行う 4 つの方法
http://cl.pocari.org/2006-11-29-1.html

Smarty - $debugging
http://smarty.php.net/manual/en/variable.debugging.php

Smarty - $debugging_ctrl
http://smarty.php.net/manual/en/variable.debugging.ctrl.php

Smarty - {debug}
http://smarty.php.net/manual/en/language.function.debug.php

$debugging
$debugging_ctrl
{debug}

PearのServices_JSONを使ってPHPの変数を簡単にJSON形式にする

Summary

日本語を使う場合はUTF-8の変数を渡す必要がある.

require_once('Services/JSON.php');

$json = new Services_JSON();
$obj = array(
    'id'   => array(
       'foo',
       'bar',
       array('aa' => 'bb')
       ),
       'foobar' => $string,
       'a'   => 123 ,
       'b'   => true
);
$js = $json->encode($obj);
echo $js; 


Reference

phpspot開発日誌 - PearのServices_JSONを使ってPHPの変数を簡単にJSON形式にするサンプル
http://phpspot.org/blog/archives/2006/11/pearservices_js.html

12のPHP最適化テクニック

Summary

 1. staticメソッドが使えるなら使おう.速度は4倍になる
 2. __get, __set, __autoload は使わない
 3. require_once は重い
 4. include, requireで読み込むファイルはフルパスにしよう
 5. スクリプト開始時のUNIXタイムを $_SERVER['REQUEST_TIME'] で取れる
 6. strncasecmp関数やstrpbrk関数を使えるケースはこれらを使い,正規表現は使わない
 7. preg_replaceはstr_replaceより速い,しかし,strtrはpreg_replaceより4倍速い
 8. 引数を,単体か配列かで自動判別するようなコードは出来るだけ避ける
 9. @ を使ったエラー制御はとても遅い.→ @fputs($fp, "?");
10. $row["id"] は $row[id] より7倍速い.
11. PHPのエラーメッセージは重い. (noticeとかwarningとか)
12. for ($x=0; $x < count($array); $x) のように,
    forの中でcountを使うと毎回countが呼ばれるので使わない.

Reference

12 PHP optimization tips
http://www.moskalyuk.com/blog/php-optimization-tips/1272

via

phpspot開発日誌 - 2006-11-21 - 12のPHP最適化テクニック
http://phpspot.org/blog/archives/2006/11/12php.html

phpMyEdit - データベースのメンテナンス画面を生成

Summary

phpMyEditSetup.phpにアクセスしウィザード形式で進んでいくと,
最終的に指定したテーブルの操作用ライブラリが出来上がる.

Reference

phpMyEdit: Instant MySQL Table Editor and PHP Code Generator
http://www.phpmyedit.org/

via

phpspot開発日誌 - 2005-11-07 - phpMyEdit: DB操作コード自動生成
http://phpspot.org/blog/archives/2005/11/phpmyedit_welco.html

MOONGIFT - phpMyEdit - データベースのメンテナンス画面を生成
http://oss.moongift.jp/intro/i-2816.html

MOONGIFT - phpMyEdit レビュー
http://oss.moongift.jp/review/i-2817.html

Services_Delicious - del.icio.usのAPIを利用するためのPearパッケージ

Summary

del.icio.usのAPIを利用するためのPearパッケージ.
[2006-08-09] より del.icio.us のAPIがHTTPSのみを受け付けるようになった.

Reference

p4lifeのメモ - 2006-09-02 - PEAR::Services_Delicious 0.5.0 をリリースしました
http://d.hatena.ne.jp/p4life/20060902/1157210163

Services_Delicious

phpspot開発日誌 - 2006-08-21 - 新しくなったdel.icio.usのAPI仕様と投稿サンプルプログラム
http://phpspot.org/blog/archives/2006/08/deliciousapi.html

del.icio.us/help/api
http://del.icio.us/help/api/

del.icio.us - blog - 2006-08-06 security (everybody feels better with)
http://blog.del.icio.us/blog/2006/08/security_everyb.html

Yahoo! API News - 2006-08-15 - del.icio.us and Answers (by Jeremy Zawodny)
http://jeremy.zawodny.com/blog/archives/007202.html

via

phpspot開発日誌 - 2006-09-06 - del.icio.usのAPIを叩くPearパッケージ『Services_Delicious』がアップデート
http://phpspot.org/blog/archives/2006/09/deliciousapipea.html

PEAR::Contact_AddressBook - アドレス帳のインポート,エクスポートを可能にするPEARパッケージ

対応するアドレス帳

Eudora
KMail (KDE Mailer) CSV
Mozilla/Thunderbird/Netscape CSV
Microsoft Outlook CSV
Microsoft Windows Address Book (WAB)/Outlook Express CSV
Palm Pilot CSV
Yahoo! Mail Address Book
Gmail Address Book

Reference

Contact_AddressBook

via

phpspot開発日誌 - 2006-09-04 - アドレスブックのインポート/エクスポートを可能にする『PEAR::Contact_AddressBook』
http://phpspot.org/blog/archives/2006/09/pearcontact_add.html

ffmpeg-php - PHPで動画を扱うためのライブラリ

Summary

PHP 4.3.0+ , GD 2.0+, FFMPEG[2006-07-13-3] が必要.

Sample

<?php
$extension = "ffmpeg";
$extension_soname = $extension . "." . PHP_SHLIB_SUFFIX;
$extension_fullname = PHP_EXTENSION_DIR . "/" . $extension_soname;

// load extension
if(!extension_loaded($extension)) {
	dl($extension_soname) or die("Can't load extension $extension_fullname\n");
}
?>


Reference

ffmpeg-php
http://ffmpeg-php.sourceforge.net/

ffmpeg-php - API documentation
http://ffmpeg-php.sourceforge.net/apidoc.php

via

MOONGIFT - ffmpeg-php
http://oss.moongift.jp/intro/i-2267.html

smarty_ajax - Ajaxを使ったアプリを簡単に作れるSmartyプラグイン

Summary

Smarty タグがJavaScriptコードに変換される.

ajax_update

<a href="#" onclick="{ajax_update update_id='intro_content'
  function='update_intro' params='page=about'}">About</a>

  - parameters

url URL for AJAX-query (指定されなかった場合は現URL)
method query method (デフォルトは get, get か postを選択)
update_id アップデートされるHTML内のID
function 呼ばれる function
params URLエンコードされたパラメータ

ajax_call

<a href="#" onclick="{ajax_call function='calculate'
  params_func='calc_params' callback='calc_cb'}">Calculate</a>

  - parameters

url URL for AJAX-query (指定されなかった場合は現URL)
method query method (デフォルトは get, get か postを選択)
function 呼ばれる function
params URLエンコードされたパラメータ
callback クエリが完了した後に呼ばれる関数 (JavaScript)
params_func クライアント側でパラメタ操作を行う関数 (JavaScript)

ajax_form

{ajax_form method="post" id="form_register"}
Any form-element can be placed here
{/ajax_form}

  - parameters

url URL for AJAX-query (指定されなかった場合は現URL)
method query method (デフォルトは get, get か postを選択)
params URLエンコードされたパラメータ
id form ID
callback クエリが完了した後に呼ばれる関数 (JavaScript)

Reference

Dmytro Shteflyuk’s Home - 2006-02-19 - AJAX-enabled Smarty plugins
http://kpumuk.info/ajax/ajax-enabled-smarty-plugins/

smarty_ajax - AJAX-enabled Smarty plugins
http://kpumuk.info/samples/smarty_ajax/

via

phpspot開発日誌 - 2006-08-15 - Ajaxを使ったアプリを簡単に作れるSmartyプラグイン『smarty_ajax』
http://phpspot.org/blog/archives/2006/08/ajaxsmartysmart.html