ぶろぐ

日記です

php

transactionネスト

PHP

コアmysqlでトランザクションのネストをやろうとすると、savepoint とか使わないといけないけど、Propelかます場合はPropelがメソッドの中でトランザクションのネスト機能を実装している、ということで理解しました。 内側のtransaction 〜 commitはカウント…

nullと0

PHP

if($obj) { $obj->getId(); } 的なコードを良く書くけど、そのままのノリでnull じゃない時これやる、ってコードを書いていたら0が代入された時にバグってしけた。 // hoge=0 $param = Request::getParameter('hoge', null); if($param) { // ここに来る! h…

動的にクラスのソッドを呼ぶやつ

PHP

call_user_funcあるけど構文でいけるからそっちにかっこ良さを感じる年頃。 $function_name($params); call_user_func_ar…

全角カタカナを半角カタカナに変換したい。楽に。

PHP

PHP使ってワンライナーでいける。 echo "カタカナ" | php -r 'echo mb_convert_kana(file_get_contents("php://stdin") , "k", "utf-8");' カタカナ 長い文章をまるまる通して、変換前と変換後でdiff取ってみたけど問題なかった。

PHPで精度の高い計算

PHP

やったことはメモしておこうキャペーン。精度の高い計算、桁数制御。

それ動くのか…

PHP

いっその事エラーにして欲しかった。

hoge

PHP

Symfony1.4メモ

PHP

Symfony触るらしいので、Hello Worldぐらいはやろうと思い。 コードが全く読めない…! となったら怖いので。 インストール 参考サイト→ http://ameblo.jp/itboy/entry-10935734994.html ドキュメントルート以外で動かしたいので、htaccessをちょっと変えるの…

グリッドデザイン

fuelphpで遊んでたら、見た目をグリッドデザインにしたい欲が高まってきたので、jquery.masonryを試してみました。 http://www.takuan.me/lab/grid.php グリッドデザインを適用するjQueryライブラリは、ぐぐってみるといくつか出て来ました。 いくつか触って…

PHPでCSVデータを生成

PHP

ほら、なんて言うかコピペできるところはコピペしたいから、今後役立つかもしれないのでメモ。 CSVの一行目は、連想配列のKeyをCSVのタイトル的な感じで出力しているのだが、順番が毎回おなじになってくれるのか、というところは気になる所だけど、今動かし…

error while loading shared libraries: とか出るときの対処法

共有ライブラリを見にいけてないのでエラーがでている。 find / | grep librarie_name でヒットするのに、エラーが出るときはldconfig使って読み込ませます。 echo "/usr/local/librarie_name/lib" >> /etc/ld.so.conf.d/librarie_name.conf ldconfig

PHPでmemcachedを使ったDaoを書いてみた

PHP

memcachedでDB問い合わせ結果をキャッシュしてる。 デストラクタは要らない気がしているけど、一応。。

PHPでlog

php

error_log($string); な関数が標準で用意されているようで。 http://php.net/manual/ja/function.error-log.phpphp.iniのerror_logパラメーターで出力先が設定されているよう。 設定例 error_log = /var/log/php.log適当に動かしてみた。 [22-May-2012 03:01…

あまり大きな声では言えないけど

PHP

# 昨日はじめてコンストラクタ使いました class Takuan { protected $hoge; // private とかでもいいの? // private にすると子クラスから呼べなくなった。 public function __construct() { $this->hoge = new FooBar(); } public function fooBar() { $th…

json_decode()先輩、引数渡せば連想配列になるんすね

PHP

【追記】 $foo->$barとするだけで参照プロパティを切り替えられる 確かに第二引数でtrueを渡せば連想配列になる 【この記事を一言で言うと】 $hoge = json_decode($json);で作られたオブジェクト(stdClass) $hoge->$foo->$barでアクセス。 $hoge = json_deco…

PHPセキュリティ対策ポイント一覧

PHP

PHPというか、Webアプリケーション全般に言えることかな? 既存の攻撃パターンを勉強しようと思った ので、どういうものがあるか調べてみた ネットで調べようと思ったんですが、手持ちのパーフェクトPHPに詳しく書かれていたので、参考にします。 全部理解す…

ヒアドキュメントが便利だ

PHP

利点とか使いどころ 複数行のわたって文字列を定義できる SQLを書くとき、HTMLのテンプレートを書くときに便利 $hogeなど、変数は展開される 展開されないようにするには、Nowdocを使うか\$hogeのように$をエスケープする 「"」を「\"」のようにエスケープす…

CakePHP1.3.10入れてみた

PHP

やったこと Fedora14に、PHP5.3とMySQL5.1使ってCakePHP動かした(ほぼデフォ環境) 次マッハで構築できるようにメモっとく。 2.0系がリリースされていたけど、いろいろ変っているとめんどくさいので無難に1.3.10を入れる。 (1.2系と1.3系でも結構変わって…

本番環境で、PHPのエラー出力をoffにする

PHP

方法は二つ PHPのコードで、エラー出力を制御する php.iniを変更する方法 PHP側プログラムで、エラー出力を制御する方法 は、下記を参照 http://php.net/manual/ja/function.error-reporting.php php.iniを変更する方法 vi /etc/php.ini display_errors = on…

PHP開発環境構築チャート(centos)

PHP

CentOSでPHP動かす時にすること。 リポジトリ追加 epelとremiをyumる xdebug入れる

PHPで==と===の違い

PHP

==の場合 ・0とFalseが同じ値だと判別されてしまう。 ・データで0受け取った時なんか変!===の場合 ・FalseかTrueのみ

OpenID認証サーバー

PHP

友人がOpenIDの認証でつまずいていた件、問題はどうやらクライアント側の問題ではなさそうだ。 問題をパスできていない要素は・・・ OpenID認証サーバーとのやり取り 認証サーバー側の問題 そもそも認証サーバーの用意ができているのか? ってあたり。 んま…

PHPでOpenID認証してみた

PHP

っていっても、PHP用のOpenIDライブラリをとってきて、サーバーにおいてサンプルページで動作を確認しただけ。 https://github.com/openid/php-openid/downloads からライブラリをダウンロード サーバーにアップロード livedoorにて自分のOpenIDを発行 http:…

postで受け取った文字列のエスケープ文字が邪魔な時

PHP

stripcslashes関数でエスケープ文字の削除 $str = stripslashes($_POST['data']);JSONのデータをPHPに投げたけど、ダブルクオーテーションの前にエスケープ文字のバックスラッシュがついてjson_decodeができない!ってゆー問題に出くわした。なんかご丁寧にPH…

地道に理解のMVC

MVC設計って、作っててこれで合っているのかどうかわからない… PHP、jQuery、MySQLを使ってMVCでAjaxぶったWebアプリケーションを作ってる。ViewにJavaScript(jQuery)とHTML ControllerにPHP ModelにもPHP、DBにはMySQLControllerはViewのJavaScriptの呼び出…

PHPer(ぺちぱー)の読み方

PHP

ぺちぱーって読むみたい。

PHPで配列をJSON出力する方法

PHP

json_encodeを使用する。 使い方 $json = json_encode($array); 引数の配列がJSONデータに変換されます。 サンプル $foo = array( "name" => "takuan", "age" => "22", "job" => "PG内定" ); echo json_encode($foo); 実行結果 {"name":"takuan","age":"22",…