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

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

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

    102 = :

    前スレの >>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 = :

    (つづき)
    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 = :

    連投スマソ

    出力結果:
    string(7) "A::hoge"
    NULL
    string(12) "with $this->"
    NULL
    string(12) "with $this->"
    string(15) "without $this->"
    A::piyo()
    global::piyo()

    105 = :

    >>102-104
    報告乙です。マニュアルも見たらいいよ

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

    javaでもperlでもc++でもないんですよ、PHPは

    106 = :

    C++しかやってないんだろうな

    107 = :

    ガッコでかじっただけだろw

    109 = :

    用途に応じて

    112 = :

    「質問」の人?

    114 = :

    キモヲタってなんであんなにキモイんだろうね。

    115 = :

    安全のために全部privateにしようかと思ったけど、
    それだと継承する意味ないよね。

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

    だから、半分private、半分protectedにするのが最適解?

    116 = :

    >>112
    お前の巣

    クリスマスに女性声優が男と過ごしていないか監視するスレ
    http://tsushima.2ch.net/test/read.cgi/news/1230135292/

    117 = :

    >>115
    ID出せ

    118 = :

    >>115
    黄金比で分けるのがベスト。

    119 = :

    >>115
    釣りにしても質問にしても薄っぺら過ぎる・・

    121 = :

    流れワロス

    122 = :

    >>108
    一人OOPで何悩んでるだよw
    外から使うメソッド=publicで、その他privateだろうが
    protectedなんざ何に使うの?
    え?継承?www
    またまたご冗談を
    一人で開発しててポリモるなんて無理やりだろ
    てんで必要のないとこでポリモるってかw
    そんなことしても後からメンテするときにこっぱ恥ずかしくなるだけだからやめとけって
    どうしても使いたいなら俺ライブラリを一般化して公開することだなw

    123 = :

    今は一人でも手伝ってくれるっていってくれる人がいるんだよ
    そいつが合流したらすぐに2人になるだろ

    124 = :

    JAVA→高額案件多い→みんなやりたがる→優秀な人だけ残る

    PHP→低額案件多い→だれもやりたがらない→ダメな人だけ残る→php板に隔離される

    126 = :

    「プログラマ暦1年ですPHPだけです」

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

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

    そういう方々がセキュリティ的な意識も低いせ
    いか、PHPはセキュリティに甘い という風潮が
    あるようです

    127 = :

    「クラスと同じ名前だったら、コンストラクタ」
    ってPHP4から仕方なく引き継いだグダグダ仕様らしいな

    128 = :

    一人でまったく無駄なところでポリモってます、ごめんちゃい。

    130 = :

    >127
    JavaもC++も、クラス名と同名のメソッドはコンストラクタと見なされる。そう珍しい仕様でもない。
    「マジックメソッド(笑)」のような予約された名前を使わないなら、「特別な関数」を関数名だけで表す唯一の方法だからな。

    >111
    派生クラスを読むときに、親クラスを読む手間がかかるだけ。
    派生クラスを読むときに兄弟にあたるクラスを読む必要はないし、親クラスを読む時は親だけ読めばいい。

    131 = :

    >>111
    解説サイトやらブログやら覘いて質問立てるんなら、引用元書いてくれ
    ブログ記事を誤解して質問されてもなぁ

    あぁ、でも糞サイト晒すならブログ板かw

    132 = :

    http://www.edita.jp/tkagawa2/one/tkagawa227419.html

    このページに

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

    って書いてあるが本当?

    133 = :

    >>131
    ググれば一発で出てくる

    134 = :

    >>133
    あほか

    135 = :

    >>132
    ID出てないよ

    139 = :

    >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を作らないと、メンバーの変更を自分とこだけで管理できる

    141 = :

    >132
    というか読んで吹いた。ダメだこの記事。
    カプセル化はなんとか分かってるがオブジェクト指向が分かってないレベルだな。

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

    こいつの書いてる「O/Rマッパ(笑)」は、単なるDB抽象化レイヤー。つまりPDO。
    PHPだと、CBL_ActiveRecordがコンパクトな実装で比較的読みやすい。

    142 = :

    ORマッパーの実装はそう悪くないと思うが。
    初期化が必要なのがダサいが。

    143 = :

    >>130
    >>139
    >>141
    ひけらかすために、ルールを無視するって、かわいいねぇ


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

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


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