Article View: pl.comp.lang.php
Article #220411Re: Jak sprawdzić czy klasa "A" załadowała klasę "B"
From: pakalk
Date: Wed, 02 Sep 2009 06:37
Date: Wed, 02 Sep 2009 06:37
23 lines
2499 bytes
2499 bytes
On Sep 1, 3:15 pm, hemicalyaction <hemicalyact...@gmail.com> wrote: > Witam. > Dopiero wchodzę w świat programowania zorientowanego obiektowo więc moje > pytanie być może jest banalne. > > Mam taką sytuację: > > Jest sobie klasa "A", która wykonuje pewien kod. W tym kodzie są różne > metody, między innymi pobranie i sprawdzenie uprawnień do wykonania > poszczególnych metod z klasy "B". Klasa "B" jest ładowana tylko w > przypadku, gdy właściwość canManage = true. Klasa "B" nie dziedziczy po > klasie "A". Klasa "B" jest wywoływana w klasie "A" poprzez zwykłe: > $klasa = new B(); > > Czy istnieje możliwość sprawdzenia czy klasa "B" została wywołana w > klasie "A" ? Chodzi mi o to, że klasa "B" może zostać wywołana jedynie > wewnątrz klasy "A". W każdym innym wypadku wygenerowany ma zostać błąd. Takie rzeczy realizować mogą nested classes, czyli klasy zagnieżdżone albo niepubliczne, które jednak w PHP nie występują. Jeśli naprawdę chcesz jakoś to kontrolować, to przekazuj przez argument do knstruktora obiekt jego tworcy i sprawdzaj w konstruktorze jego klase - jesli niepoprawna, to rzucaj wyjatkiem,
Technical Details
Message-ID:
<d74a1e37-c078-4327-8f3d-6a7387b13dd7@k39g2000yqe.googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!news.nask.pl!news.nask.org.pl!newsfeed00.sul.t-online.de!t-online.de!novia!news-out.readnews.com!transit3.readnews.com!postnews.google.com!k39g2000yqe.googlegroups.com!not-for-mailReferences:
<h7j6tn$223$1@atlantis.news.neostrada.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!news.nask.pl!news.nask.org.pl!newsfeed00.sul.t-online.de!t-online.de!novia!news-out.readnews.com!transit3.readnews.com!postnews.google.com!k39g2000yqe.googlegroups.com!not-for-mail From: pakalk <pakalk@gmail.com> Newsgroups: pl.comp.lang.php Subject: Re: Jak sprawdzić czy klasa "A" załadowała klasę "B" Date: Tue, 1 Sep 2009 23:37:33 -0700 (PDT) Organization: http://groups.google.com Lines: 31 Message-ID: <d74a1e37-c078-4327-8f3d-6a7387b13dd7@k39g2000yqe.googlegroups.com> References: <h7j6tn$223$1@atlantis.news.neostrada.pl> NNTP-Posting-Host: 83.4.126.94 Mime-Version: 1.0 X-Trace: posting.google.com 1251873453 24100 127.0.0.1 (2 Sep 2009 06:37:33 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Wed, 2 Sep 2009 06:37:33 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: k39g2000yqe.googlegroups.com; posting-host=83.4.126.94; posting-account=rLTIYAoAAAAC0UY184o3dcMgnRpikGCw User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/530.5 (KHTML, like Gecko) Chrome/2.0.172.43 Safari/530.5,gzip(gfe),gzip(gfe) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit