🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.php
Article #220411

Re: Jak sprawdzić czy klasa "A" załadowała klasę "B"

#220411
From: pakalk
Date: Wed, 02 Sep 2009 06:37
23 lines
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-mail
References: <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