のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:126,332,120人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

    元スレPHP上級者が集まるスレ

    php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    301 : nobodyさん - 2010/12/17(金) 03:26:27 ID:???.net (+69,+29,-106)
    スレ違いだったらすみません。
    PHPDocumentorでチュートリアルを生成すると文字化けが起こるんですけど、どなたか解決方法を知りませんか?

    文字化けというより、不正な文字を「?」に置き換えてる感じで、日本語が全部「??????」で出力されます。
    チュートリアル以外のドキュメントは文字化けを起こさないのですが。。。
    302 : nobodyさん - 2010/12/17(金) 03:36:57 ID:???.net (+12,-30,-36)
    >301
    すみません、解決しました。。。

    Setup.inc.php の 733行目 にあった $ret = utf8_decode($ret); をコメントアウトしたら解決しました。
    お騒がせしました。
    303 : nobodyさん - 2011/01/02(日) 13:53:35 ID:6H//G+jS.net (+62,+28,-235)
    >Perl/shell 形式のコメント (#) は使用するべきではありません。

    PEARのコーディング規約でこんなの見つけたんだけど。
    何でいけないんだろう。

    unix系OSでphp使ってる人には身近なコメントだと思うんだけど、
    (#)使っちゃいけないっていうのはただ単にWin系もしくは
    入門者の人が見慣れてないから使うなってだけかな?

    べつにPEARのコーディング規約をリファレンスにする必要は無いと思うし、
    嫌なら別の規約を使えばいい話なのはわかってるんだけど、
    「PHPでshell形式はいけない物」みたいな風潮が広まちゃったら嫌だなって・・・。
    304 : nobodyさん - 2011/01/02(日) 15:03:30 ID:???.net (+26,-1,-19)
    風潮はどうかはしらないけどPHPで#は使わないな。
    305 : nobodyさん - 2011/01/03(月) 04:16:48 ID:???.net (+66,+29,-44)
    >>303
    「#」と「//」の2種類のコメントを混在させてはいけないって所がコーディング規約的な意図でしょ
    306 : nobodyさん - 2011/01/03(月) 21:50:57 ID:???.net (+57,+29,-62)
    だね。

    「するべきではありません。」っていうのがいかにも#をつかうのが良くないと言っているように見えるけど
    多分must not beぐらいの意味だろう。
    307 : nobodyさん - 2011/01/03(月) 22:35:35 ID:???.net (-1,-29,-10)
    //を使わずに#に統一するなら問題はない。
    初心者のことを考えて//に統一するのもよい。
    308 : nobodyさん - 2011/01/03(月) 23:45:21 ID:???.net (+3,-30,-99)
    $result = array();
    for($request as $key1 => $value1){
    for($value1 as $key2 => $value2){
    for($value2 as $key3 => $value3){
    $result[$key3][$key2][$key1] = $value;
    }}}
    こんなイメージな多次元配列の次元位置を入れ替える方法を考えています
    多次元配列の次元数が固定されていれば、
    上のようなやり方でも大体行けるのですが、
    n次元だった場合のいいロジックってないでしょうか
    309 : nobodyさん - 2011/01/04(火) 00:00:56 ID:???.net (+3,-30,-94)
    function test($request) {
    $result = array();
    foreach ($request as $key => $value) {
    if (is_array($value)) {
    $result[$key] = test($value);
    } else {
    return array($key=>$value);
    }
    }
    return $result;
    }
    310 : nobodyさん - 2011/01/04(火) 00:03:03 ID:???.net (+52,+29,-1)
    ごめん全然嘘だった
    311 : nobodyさん - 2011/01/04(火) 00:16:30 ID:???.net (+57,+29,-7)
    やっぱ愚直に参照にするか引数で受け渡すしかないんじゃないかね
    312 : nobodyさん - 2011/01/04(火) 08:50:08 ID:???.net (+89,+29,-32)
    一度作った配列を構成しなおすというパターンはそうそう無いよね
    最初に作る時にそうしておくか、使う時に対応するかのどっちかで大抵は済むし、
    最悪でも最初に2種類構築すればいいし
    313 : nobodyさん - 2011/01/06(木) 01:16:57 ID:???.net (+65,+25,-17)
    >>312
    その一度配列を作るロジックを聞いてるんじゃないか?w
    314 : nobodyさん - 2011/01/06(木) 01:37:45 ID:???.net (-1,-29,-6)
    パット見の思いつき。たわごと。

    n次元てことは再帰だろーなーと思うけど
    array_keys()使う感じでできんかな。
    315 : nobodyさん - 2011/01/06(木) 13:03:14 ID:???.net (+97,+29,-56)
    こういう質問出るって事は、お前らFW使ってないのか?
    まぁ自作関数ライブラリがあれば足りるケースがほとんどではあるが。
    316 : nobodyさん - 2011/01/06(木) 20:49:39 ID:???.net (+95,+26,-1)
    >>315
    どういうこと?
    317 : 315 - 2011/01/07(金) 12:20:05 ID:???.net (+104,+29,-29)
    >>316
    単なる知ったかぶりですけどなにか?
    318 : nobodyさん - 2011/01/07(金) 20:38:17 ID:???.net (+71,+29,-3)
    >>317
    何がどうしったかぶりなの?
    319 : nobodyさん - 2011/01/08(土) 00:51:52 ID:???.net (+39,-30,-133)
    FWは作ってないが、ライブラリ群は作ってる
    で、今バリデーションの案を抗争中な訳なんだが、
    どんなソースコードになったら、見やすくて分かりやすいだろ?
    $str = vali::post('text')->mbLength(0,256)->var();
    みたいにJavaっぽく書けば、分かりやすいけど細かい設定は付けれない
    $v_id = array('func'=>vali::alnum,'error'=>'どうたらこうたら');
    $id = vali::post('text', $v_id);
    と、Cake風の書き方すれば、細かい設定もしやすいからいろんな事が出来る
    そんなわけで、どんなバリデーション作ったら使いたくなる?
    320 : nobodyさん - 2011/01/08(土) 01:02:08 ID:???.net (+9,-30,-238)
    つくりかけ

    var $VALIDATIONS = array(
    'varname' => array(
    'trim' => array(),
    'ascii' => array(),
    'unique' => array( '※すでに使われている名前です。'),
    'blank' => array( '※必ずご記入ください。'),
    'date' => array( '※正しい日時ではありません。'),
    'range' => array(18,100, '※18から100の数字をご記入ください。'),
    'length' => array( 0, 20, '※20文字以下でご記入ください。'),
    'bytes' => array( 0, 40, '※40バイト以下でご記入ください。'),
    'regex' => array('/^[a-z0-9\-\_]*$/i', '※英数字と -(ハイフン) _(アンダースコア) のみでご記入ください。'), //複数設定可??
    'in' => array('OPTIONS', '※正しい選択肢ではありません。'), //複数または直接array??
    'method' => array('model::method', '※正しい値ではありません。'), //うまいことやる!!
    ),
    );
    321 : nobodyさん - 2011/01/08(土) 01:22:31 ID:???.net (+4,-29,-95)
    >>320
    だいたいそんな感じになると思うけど
    >trim
    入力値の評価と修正が一緒にあるのは気持ち悪いかも
    >unique
    それはどっかDBとか見に行かなきゃいけないわけで汎用的にならないんじゃ?
    >date
    年月日が別のフィールドに分かれてたら3つフィールド名指定できる?
    >blank
    別のフィールドの値がXの時だけ必須入力とかはblankかmethodで対応できる?
    322 : nobodyさん - 2011/01/08(土) 01:33:45 ID:???.net (+9,-29,-188)
    >>trim
    >入力値の評価と修正が一緒にあるのは気持ち悪いかも
    なるほど。ちょっと考えてみる。ちなみに「ascii」も全角→半角変換のつもりw

    >>unique
    >それはどっかDBとか見に行かなきゃいけないわけで汎用的にならないんじゃ?
    まーねー。確かに規約で縛りすぎるのも気持ち悪い。しかし、どう代替しようか。

    >>date
    >年月日が別のフィールドに分かれてたら3つフィールド名指定できる?
    柔軟な日時クラスがあるので、$varnameはymdのarrayでもsqlでもatomでもなんでもおk

    >>blank
    >別のフィールドの値がXの時だけ必須入力とかはblankかmethodで対応できる?
    methodはなんでも屋のつもりだけど、確かに連動必須項目はテンプレ化してもいいかもね。
    ただ、シンプルなテンプレ化の方法は少し考えねば…
    323 : nobodyさん - 2011/01/08(土) 02:54:32 ID:???.net (+57,+27,-21)
    なんで既存の使わんの?
    324 : nobodyさん - 2011/01/08(土) 02:56:33 ID:???.net (-1,-29,-82)
    CakePHP式のバリデーションは便利だよ。
    配列&正規表現を工夫すればフレームワークじゃなくて
    単なるクラス(か関数)でも用意できる。
    325 : nobodyさん - 2011/01/09(日) 18:56:19 ID:???.net (+8,-30,-206)
    >>322
    >unique
    わざわざ用意するまでもなく単にmethodでやればいいんじゃないかな?
    削除フラグが立ってない中でユニーク…とかを考えると大掛かりになるし

    >$varnameはymdのarrayでもsqlでもatomでもなんでもおk
    $_POSTを丸ごと渡すんじゃなくて、
    前処理として $ymd = array($_POST['hoge_y'], $_POST['hoge_m'], $_POST['hoge_d']); 的なコードが別途必要ということかな

    >ただ、シンプルなテンプレ化の方法は少し考えねば…
    必須(blank)に関するチェックに条件が付く場合が殆どで、
    他フィールドの値に対して定数との==、!=比較ができれば当分困らないと思う。
    'blank' => array(... /*必須にする条件→*/array('eq', 'OtherField', '1')) みたいな

    >>323
    このあたり既製品じゃ対応しづらい要望が顧客から入りやすい
    326 : nobodyさん - 2011/01/09(日) 19:03:41 ID:???.net (+50,+27,-2)
    どういうバリデート?
    327 : nobodyさん - 2011/01/09(日) 20:09:18 ID:???.net (+3,-30,-156)
    > >unique
    > わざわざ用意するまでもなく単にmethodでやればいいんじゃないかな?
    そんな気がしてきた。すげーしてきた(笑)。

    > $ymd = array($_POST['hoge_y'], $_POST['hoge_m'], $_POST['hoge_d']); 的なコードが別途必要ということかな
    いや、フォームの段階で <input name="hoge[year]"... な感じ。

    uniqueとかblankとか、少し条件が複雑なものは汎用的な中間methodでも作って…とかやりだすと地獄を見るかな(笑)
    328 : nobodyさん - 2011/01/10(月) 01:29:42 ID:???.net (+57,+29,-67)
    バリデート自体は大して実装コストかからないけど、
    汎用的かつ、書きやすい構文を考えるのは結構面倒だよね。
    汎用性を追求し過ぎると、大抵は既存FWのバリデーターに近い形に落ち着いてしまう。
    329 : nobodyさん - 2011/01/10(月) 17:22:39 ID:???.net (+26,-30,-50)
    ECCUBEのコード読んでたときに見つけたんですけど、

    // {{{ requires

    の {{{ って何ですか?
    330 : nobodyさん - 2011/01/10(月) 17:42:06 ID:???.net (+63,+6,-17)
    コメントなら単なる記号じゃねーの?
    331 : nobodyさん - 2011/01/10(月) 17:47:29 ID:???.net (+66,+29,-24)
    >330
    なにか、ドキュメント生成系で使われてるのかな?と思ったんですけど、そんなことはないみたいですね。
    ありがとうございます。
    332 : nobodyさん - 2011/01/10(月) 20:32:02 ID:???.net (+83,+30,+0)
    333 : nobodyさん - 2011/01/12(水) 01:46:33 ID:???.net (+65,+26,+0)
    >>332
    なるほど、Emacsで使うんですね。
    ありがとうございます。
    335 : nobodyさん - 2011/01/12(水) 19:48:32 ID:???.net (+2,-30,-19)
    file_put_contents('text.txt', $tweet);
    336 : nobodyさん - 2011/01/13(木) 17:17:41 ID:???.net (+6,-29,-56)
    >>335 
    Twitter Stremaing API を使用して
    指定ユーザの呟きを取得する部分が
    分からないです。
    ※テキストファイルへの出力コードはわかります。
    337 : nobodyさん - 2011/01/13(木) 18:23:45 ID:???.net (+57,+29,-6)
    それって初心者の質問じゃないのかな。
    お前はとても上級者に見えないが。
    338 : nobodyさん - 2011/01/13(木) 18:43:54 ID:???.net (+57,+29,-1)
    >37

    初心者の私上級者の方教えて下さい。
    339 : nobodyさん - 2011/01/13(木) 19:42:36 ID:???.net (+16,-20,-41)
    >>336
    ドキュメントに載ってないの?
    340 : nobodyさん - 2011/01/13(木) 21:14:10 ID:???.net (+9,-20,-53)
    >>339
    PerlやPythonといった言語での解説サイトはありますが
    PHPでの実装方法を解説したサイトが見つかりません。
    341 : nobodyさん - 2011/01/13(木) 21:23:18 ID:???.net (+51,+28,-16)
    ドキュメント読んでないのね・・・
    342 : nobodyさん - 2011/01/14(金) 01:13:37 ID:???.net (+72,+29,-164)
    >>319
    俺もオレオレバリデータ作ったことがある。
    ワンタイムトークン的なものつくるとかとか、確認画面用に、値をセッションに格納して読みだして~とかの機能とか
    設定したバリデートルールを使って、Javascriptのコードも生成させて、クライアントサイドでも
    バリデート出来るようにしたりね。

    最近は、jQuery使って、CakePHPのヘルパとかでバリデーションルールをJSONにした物から
    クライアントサイドでのバリデーションも連動するようなものを、作りかけた。

    まぁ、書き慣れない言語はソースが迷子になって困る。
    343 : nobodyさん - 2011/01/14(金) 03:57:17 ID:???.net (+101,+29,-21)
    >>336

    を解決することの出来る勇者はいないでOK?
    344 : nobodyさん - 2011/01/14(金) 07:04:47 ID:???.net (+7,-29,+0)
    >>342
    ZFのバリデータ使えばいいと思う
    345 : nobodyさん - 2011/01/14(金) 09:25:41 ID:???.net (+104,+29,-24)
    >>343
    勇者じゃなくて奴隷だろ?
    無報酬で作業して欲しいんだから。
    346 : nobodyさん - 2011/01/14(金) 12:33:04 ID:???.net (+104,+29,-3)
    >>345
    お前みたいな低レベルに聞いてない。
    347 : nobodyさん - 2011/01/14(金) 12:34:31 ID:???.net (+22,-14,+0)
    >>343
    OK
    348 : nobodyさん - 2011/01/14(金) 13:11:26 ID:???.net (+69,+27,-1)
    >>346
    なら、自分で解決しろよwwww
    349 : nobodyさん - 2011/01/14(金) 13:30:20 ID:???.net (+85,+28,-6)
    ここには上級者はいないでOK?
    350 : nobodyさん - 2011/01/14(金) 13:32:44 ID:???.net (+3,-14,+0)
    OK
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について