php

Symfonyで環境の違いを考慮した設定方法

symfonyのインストールディレクトリが違う 三項演算子なりswich文なりで、パスを動的に書き換える。 ヒットする可能性が高い順に調べることで、比較回数を減らすよう考慮すべし。 web/index.php

hoge.cssをhoge.css?20100110にするタスク作った

なぜクエリー文字列を付加するのか せっかくCSSやJSを変更しても、ブラウザのキャッシュが残っていて変更が反映されない場合があります。そんなときによく使われるテクニックが、ファイル名の後ろにクエリー文字として更新時間を追加するというものです。こ…

imagesファルダ下にあるfavicon.icoを参照させる方法

apacheのエラーログ見たら、File does not exist favicon.icoの嵐で参ったよ。 早速favicon.icoを作成して設置しました。 faviconを設置 通常は、 <link rel="shortcut icon" href="/favicon.ico" /> こんな記述なんですけれど、今回はimagesフォルダ下のfavicon.icoを参照させたかったので 'shortcut icon',</link>…

symfonyでユーザ認証にLDAPを利用して失敗したら自分とこのDB見に行く

's0.foo.net', 'username' => 'CN=user1,DC=foo,DC=net', 'password' => 'pass1', 'bindRequiresDn' => true, 'accountDomainName' => 'foo.net', 'baseDn' => 'OU=Sales,DC=foo,DC=net' …

symfonyでユーザ認証にLDAPを利用する

前提条件 普段のユーザ認証には、sfDoctrineGuardPluginを利用している LDAPまわりは、Zend FrameworkのZend_Ldap利用する Zend Frameworkを用意する http://framework.zend.com/ 今回は、最新版(1.9.5)を使いました。 symfonyへZend Frameworkの場所を明…

文字コード指定して無いサイトは爆発しろ

例えUTF-8で記述されていても、 <meta http-equiv="Content-Type" content="text/html charset=utf-8"> この一行が無いだけで、文字化けの原因になる。 せっかく、テキストノード取ってきて色々やろうとしても文字コード指定が無いだけで文字が化ける。 下のコードはこのままじゃ化けます。<head>の下で文字コード指定すれば正常に表示</head></meta>…

PHPをソースからコンパイルしたらPEARでエラー吐いて涙目

php

どんぴしゃな答えがありました。 http://d.hatena.ne.jp/uzulla/20090626#p4 # pear search db Notice: Undefined variable: available in PEAR/Command/Remote.php on line 500 PHP Notice: Undefined variable: available in /usr/share/pear/PEAR/Command…

はてなブックマーク Web HookでTwitterに投稿

作ってみた。 titleがtitileになってるので注意直った twitterへの投稿は、http://d.hatena.ne.jp/hirataka522/20080126/1201300282を参考に truncate_text関数は、symfonyのhelperから拝借しました。 ベータ版ですが、PEARにServices_Twitterってのもありま…

簡単な掲示板(CSV形式で保存)

php

2009/05/21 バックスラッシュ(\)対策に、addslashes, stripslashes通すよう修正。 2009/05/11 defineの第一引数をシングルクォートで囲むよう修正。$addr -> $addressに修正。 4年生への課題を自分もやってみた。 要求仕様 XHTML形式で出力 CSV形式でデータ…

PHPのさわり

php

自分の研究には、2人来ました。二人ともPHPは初めてで、まだロジックとビューが混在したコードになっているのが微笑ましい。いろいろ教えてあげたいし、成長して欲しいけれど、整理できてないから列挙してく。T_WHILEの意味分からなかった俺だけど、何かの…

DateHelperを拡張してMM-dd形式の日付を出力させる

というような出力をしたくて、DateHelper.php -> sfDateFormat.class.phpと辿って行くと、getPattern関数に与える引数で形式を変えられることが判明。しかし、MM-dd形式での返り値がない! sfDateFormat.class.phpをオーバライドすればいいのですが、DateHe…

session_startがPermission deniedで蹴られた

php

phpMyAdminにログインできなかったのは、こいつが原因だったみたい。 セッションファイル保存するフォルダのグループがrootになっとる # ls -l /var/lib/php drwxrwx--- 2 root root サイズ 日時 session グループ変更で事なきを得ました # chgrp apache /va…

htmlspecialchars_decodeはやめて、html_entity_decodeで実態参照をデコード

php

htmlspecialchars_decodeの場合 探せば関数があるでお馴染みのPHP <p>hoge&nbsp;huga&lt;&gt;</p> こんな、HTMLのタグ内の文字数を数えたくて実態参照を戻す関数ないかな?と思ったらあった。 htmlspecialchars_decode ' (length=11) 現実 string 'hog…

HTTP_Request2.php使ってみた

php

例によって、まだアルファ版です。 # pear install HTTP_Request2-alpha いつの間にか出力時にクォーテーションがエスケープされて何処だ?と思ったら、 magic_quotes_runtimeがセットされてた。 変えたら、元に戻しといてよ。

PHPのXPathをトリッキーに使ってHTMLのテキストノードを取得

以前、PHPのXPathでテキストノード取得したら、期待した順番通りに取得できなかった。と書きました。 ある要素の子ノード群に、エレメントノードとテキストノードがそれぞれ2つ以上あると起きる現象ではないかと推測します。 直下じゃなければいいのでは? …

phpのsvn関数使ってみた3

php

svn_deleteと間違えてsvn_fs_deleteの使い方必死に探してた。 だって、svn_deleteがマニュアルに載ってないんだもの。 載ってないけれど、普通に使えました。 使い方は、svn_addと一緒で、ファイルのパス指定してsvn_deleteした後に、svn_commitです。 せっ…

phpのsvn関数使ってみた2

php

使ってみたら、簡単でした。 パスは、絶対パスで指定します。

phpのsvn関数使ってみた

php

ベータ版です。 phpからsubversion操作できるみたいなので、試してみました。ソース PHP, Subverionは、インストール済前提で進めます。 字句解析にre2cを用いるみたいなので、インストールしてない場合は、先にインストールしとく # yum install re2c subve…

bodyとdiv直下のテキストノードをXPathで取得してspanで囲む方法

昨日の続きです。タイトルの通りです。 複数のクエリーは、パイプで繋げば一度に取れるらしいですよ。 $xpath = new DOMXpath($dom); $query1 = '/html/body/text()[string-length(normalize-space()) > 0]'; $query2 = '/html/body//div/text()[string-leng…

XPathで取ってきたテキストノードが意図した順番で来なかった

divの直下にテキストは好きじゃないけれど <html> <head> <meta http-equiv='Content-type' content='text/html; charset=utf-8'> <title>test</title> </head> <body> <div> <a href="hoge.php">hoge</a> | <a href="huga.cgi">huga</a> | </div></body></html>

link_to('リンク名', 'リンク先', array('query_string' => 'url=http://example.com'))

php

symfonyでリンク作成する場合は、URLフォーマット変えなくても、オプションでスラッシュ付き文字列送れる。 ridirectでも同様にしたいなぁ。

symfonyで、$this->redirect('user/index?url=http://example.com')したかった

php

urlencodeしても、スラッシュがブラウザに解釈されて期待通りにいきませんでした。 妥協案として、ネイティブにheader使いました。 header('Location: ' . $this->getController()->genUrl('user/index', false) . '?url=http://example.com'); exit; この状…

symfony1.1.4使ってみた

php

symfony1.0系は使ったことあるけれど、1.1系はどんなもんだろう?ってことで今度はsymfony ホント広く浅くな性格だな。 コマンドが一新されててカッコイイのはいいけれど、zshで関数補完が使えなくなってしまった。 どこかに1.1用あるのかな? AliasMatchで…

Zend Framework使ってみた3

php

ルーティングはいいけれど、結局のところスラッシュはディレクトリ扱いだから、cssやjs読み込むとき相対パスだと痛い目にあった。 デフォルトでしか見てなかったから気づかなかった。 example.com/ なら、src="css/hoge.css" は、example.com/css/hoge.css …

Zend Framework使ってみた2

php

cssとjsの読み込みは、設定ファイルでビュー毎に分けられるといいな。 レイアウト作ったので、ビューによって読み込むcssとjs変えたい!って時はどうやるんだろ? 今のところ、レイアウトの<head>内に headLink() ?> headScript() ?> と書いておいて、ビューの頭で </head>…

Zend Framework使ってみた

php

俺が起きてるのにストーブ止められました。こんばんは 研究室内でZend Frameworkが流行ってるので流されてみました。 symfonyをかじった程度の経験からすると、第一印象は「ちょっとめんどくさい」でした。 symfony init-project askeet魔法の言葉で準備完了…