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

    私的良スレ書庫

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

    元スレ【PHP】下らねぇ質問はID出して書き込みやがれ 78

    php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - エステート + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    101 : nobodyさん - 2008/12/24(水) 17:37:15 ID:??? (-2,-30,-22)
    $month = date("Y:n月j日", strtotime($res["飯島愛死亡"]));
    102 : 前スレ745 - 2008/12/24(水) 18:07:23 ID:??? (+35,-30,-86)
    前スレの >>747
    やってみました.基本的に $this-> 付けないとダメだと理解しました
    C++ のときは何もつけなくてもよかったのでややこしいです


    $hoge = "global::hoge";
    // 次の関数定義を削除すると A::func() の最後の行で Fatal error: Call to undefined function piyo()
    function piyo() {
    echo "global::piyo()\n";
    }

    class A
    {
    private $hoge = "A::hoge";
    private function piyo() {
    echo "A::piyo()\n";
    }
    103 : 前スレ745 - 2008/12/24(水) 18:08:45 ID:??? (+3,-30,-146)
    (つづき)
    public function func() {
    var_dump($this->hoge);
    var_dump($hoge);

    // これは予期した通りに動作する
    $this->hoge = 'with $this->';
    var_dump($this->hoge);
    var_dump($hoge);

    // この $hoge は関数 func() のスタックに積まれた変数を参照?
    $hoge = 'without $this->';
    var_dump($this->hoge);
    var_dump($hoge);

    // A::piyo() を呼ぶ
    $this->piyo();
    // グローバルな piyo() を呼ぶ
    piyo();
    }
    }

    $a = new A();
    $a->func();
    104 : 前スレ745 - 2008/12/24(水) 18:09:27 ID:??? (+3,-30,-36)
    連投スマソ

    出力結果:
    string(7) "A::hoge"
    NULL
    string(12) "with $this->"
    NULL
    string(12) "with $this->"
    string(15) "without $this->"
    A::piyo()
    global::piyo()
    105 : nobodyさん - 2008/12/24(水) 18:24:58 ID:??? (+42,+9,-39)
    >>102-104
    報告乙です。マニュアルも見たらいいよ

    ちなみに、PHPはオブジェクト指向言語ではないので、過剰な期待はしないように
    http://jp2.php.net/manual/ja/language.oop5.php

    javaでもperlでもc++でもないんですよ、PHPは
    106 : nobodyさん - 2008/12/24(水) 19:06:28 ID:??? (+0,-22,+0)
    C++しかやってないんだろうな
    107 : nobodyさん - 2008/12/24(水) 19:56:58 ID:??? (+52,+29,-15)
    ガッコでかじっただけだろw
    109 : nobodyさん - 2008/12/25(木) 03:15:10 ID:??? (+36,+18,-1)
    用途に応じて
    111 : nobodyさん - 2008/12/25(木) 03:29:37 ID:aKyYzPmf (-25,+29,-46)
    「protectedなら当クラ スおよ びそれを継承する派生クラスのみ調べればOKです。」

    って書いてあるけど、もし派生クラスが30もあったら
    調べるの大変だよね?
    112 : nobodyさん - 2008/12/25(木) 03:31:18 ID:??? (+56,+29,-6)
    「質問」の人?
    114 : nobodyさん - 2008/12/25(木) 03:38:06 ID:??? (+57,+29,-14)
    キモヲタってなんであんなにキモイんだろうね。
    115 : nobodyさん - 2008/12/25(木) 03:43:27 ID:??? (+76,-29,-35)
    安全のために全部privateにしようかと思ったけど、
    それだと継承する意味ないよね。

    子クラスから親クラスのメソッド一切使えないなんて。

    だから、半分private、半分protectedにするのが最適解?
    116 : nobodyさん - 2008/12/25(木) 03:47:27 ID:??? (+15,+30,-18)
    >>112
    お前の巣

    クリスマスに女性声優が男と過ごしていないか監視するスレ
    http://tsushima.2ch.net/test/read.cgi/news/1230135292/
    117 : nobodyさん - 2008/12/25(木) 04:00:19 ID:??? (+4,-20,+1)
    >>115
    ID出せ
    118 : nobodyさん - 2008/12/25(木) 04:12:38 ID:??? (+62,+28,-3)
    >>115
    黄金比で分けるのがベスト。
    119 : nobodyさん - 2008/12/25(木) 04:18:20 ID:??? (+68,+29,-4)
    >>115
    釣りにしても質問にしても薄っぺら過ぎる・・
    120 : nobodyさん - 2008/12/25(木) 04:26:20 ID:??? (-1,-29,-24)
    実際の話、全部privateだと
    子クラスから親クラスのメソッド使用不可になる?
    121 : nobodyさん - 2008/12/25(木) 04:27:15 ID:??? (+35,+17,-1)
    流れワロス
    122 : nobodyさん - 2008/12/25(木) 04:57:35 ID:??? (+57,+29,-112)
    >>108
    一人OOPで何悩んでるだよw
    外から使うメソッド=publicで、その他privateだろうが
    protectedなんざ何に使うの?
    え?継承?www
    またまたご冗談を
    一人で開発しててポリモるなんて無理やりだろ
    てんで必要のないとこでポリモるってかw
    そんなことしても後からメンテするときにこっぱ恥ずかしくなるだけだからやめとけって
    どうしても使いたいなら俺ライブラリを一般化して公開することだなw
    123 : nobodyさん - 2008/12/25(木) 04:58:56 ID:??? (+57,+29,-11)
    今は一人でも手伝ってくれるっていってくれる人がいるんだよ
    そいつが合流したらすぐに2人になるだろ
    124 : nobodyさん - 2008/12/25(木) 05:20:43 ID:??? (+57,+29,-41)
    JAVA→高額案件多い→みんなやりたがる→優秀な人だけ残る

    PHP→低額案件多い→だれもやりたがらない→ダメな人だけ残る→php板に隔離される
    125 : nobodyさん - 2008/12/25(木) 05:38:20 ID:??? (-10,-28,-4)
    php板?
    126 : nobodyさん - 2008/12/25(木) 05:59:21 ID:??? (+63,+30,-146)
    「プログラマ暦1年ですPHPだけです」

    というような方々は 「くらす ってなに? おぶ
    じぇくとってなに?いんすたんすってなに?」
    というような方々を多いように見受けられま
    すね。

    業務としてシステム構築する際に人がいない
    からといって、PHPのみの経験者を開発メン
    バーに入れると SEさんが痛めみます・・・・orz

    そういう方々がセキュリティ的な意識も低いせ
    いか、PHPはセキュリティに甘い という風潮が
    あるようです
    127 : nobodyさん - 2008/12/25(木) 06:04:37 ID:??? (+94,+29,-29)
    「クラスと同じ名前だったら、コンストラクタ」
    ってPHP4から仕方なく引き継いだグダグダ仕様らしいな
    128 : nobodyさん - 2008/12/25(木) 06:36:01 ID:??? (+57,+29,-3)
    一人でまったく無駄なところでポリモってます、ごめんちゃい。
    129 : nobodyさん - 2008/12/25(木) 06:45:46 ID:??? (-2,-28,-1)
    >>111
    javadocを一度見てみな
    130 : nobodyさん - 2008/12/25(木) 08:21:19 ID:??? (+106,+29,-133)
    >127
    JavaもC++も、クラス名と同名のメソッドはコンストラクタと見なされる。そう珍しい仕様でもない。
    「マジックメソッド(笑)」のような予約された名前を使わないなら、「特別な関数」を関数名だけで表す唯一の方法だからな。

    >111
    派生クラスを読むときに、親クラスを読む手間がかかるだけ。
    派生クラスを読むときに兄弟にあたるクラスを読む必要はないし、親クラスを読む時は親だけ読めばいい。
    131 : nobodyさん - 2008/12/25(木) 08:35:14 ID:??? (+87,+30,-37)
    >>111
    解説サイトやらブログやら覘いて質問立てるんなら、引用元書いてくれ
    ブログ記事を誤解して質問されてもなぁ

    あぁ、でも糞サイト晒すならブログ板かw
    132 : nobodyさん - 2008/12/25(木) 08:35:46 ID:??? (+83,+29,-125)
    http://www.edita.jp/tkagawa2/one/tkagawa227419.html

    このページに

    「オブジェクト指向の世界では変数を参照するのに、
    「アクセッサ」と言う関数を通して参照すると言う変な習慣が有ります。
    これは値の設定の時にチェックしたり、
    値の返却の時に編集したりするのが楽になるためと言われていますが、
    多分、ステップ換算の案件の時に、より多くふんだくれるからだと思います。」

    って書いてあるが本当?
    133 : nobodyさん - 2008/12/25(木) 08:37:48 ID:??? (+89,+29,-15)
    >>131
    ググれば一発で出てくる
    134 : nobodyさん - 2008/12/25(木) 08:44:08 ID:??? (+52,+17,+0)
    >>133
    あほか
    135 : nobodyさん - 2008/12/25(木) 08:45:10 ID:??? (+14,-18,+1)
    >>132
    ID出てないよ
    137 : nobodyさん - 2008/12/25(木) 09:12:17 ID:??? (-1,-29,-4)
    $a="bak1";
    で始めるといいよ
    138 : nobodyさん - 2008/12/25(木) 09:18:00 ID:??? (-16,-29,-1)
    >>136
    good job!
    139 : nobodyさん - 2008/12/25(木) 09:26:30 ID:??? (+60,-30,-209)
    >132
    class User{
     function getName(){
      return $this->name;
     }
     function getMail(){
      if(false === isset($this->mail)){
       $this->mail = $this->loadMainAddressFromDb(); // 重い処理
      }
      return $this->mail;
     }
     function getUrll(){
      return $this->homepage->getUrl();
     }
    }
    ・遅延初期化を使える(getMail()。必要になるまで変数の中身を取りに行かない、初期化が重い場合に有効)
    ・内部構造を隠蔽できる(getUrl()。直接変数にアクセスする構造だと、このような内部構造を取れないし、後からこういう風に変更もできない)
    ・publicでメンバを公開すると、その値に変数を好き勝手に代入できてしまう。getterだけを公開しsetterを作らないと、メンバーの変更を自分とこだけで管理できる
    140 : nobodyさん - 2008/12/25(木) 09:39:57 ID:??? (-1,-29,-21)
    String型に++とかPHPユーザはキモイことを考えますね
    141 : 139 - 2008/12/25(木) 09:45:53 ID:??? (+52,-30,-218)
    >132
    というか読んで吹いた。ダメだこの記事。
    カプセル化はなんとか分かってるがオブジェクト指向が分かってないレベルだな。

    O/Rマッパというのは「オブジェクト/リレーショナルDBマッパ」のこと。
    例えばUserってテーブルにmailとnameってフィールドがあった場合に、
    class User extends ORMapper{}
    と宣言するだけで、$user->mailとかにアクセスできるようになるのが正しいO/Rマッパ。
    (当然、DBへの値の挿入もメンバー変数代入のように実行できる。永続化のタイミングは実装次第だが)

    こいつの書いてる「O/Rマッパ(笑)」は、単なるDB抽象化レイヤー。つまりPDO。
    PHPだと、CBL_ActiveRecordがコンパクトな実装で比較的読みやすい。
    142 : nobodyさん - 2008/12/25(木) 09:56:11 ID:??? (+57,+29,-8)
    ORマッパーの実装はそう悪くないと思うが。
    初期化が必要なのがダサいが。
    143 : nobodyさん - 2008/12/25(木) 10:03:19 ID:??? (+70,+29,-2)
    >>130
    >>139
    >>141
    ひけらかすために、ルールを無視するって、かわいいねぇ
    148 : 144 - 2008/12/25(木) 10:36:09 ID:??? (-9,-29,-18)
    >>145
    > PHPExcel使ってる

    おお、こんなものが!調べてみます。ありがとうございます。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - エステート + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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