PDA

Vollständige Version anzeigen : Zugriff auf Variable


Gremlin
22.11.2008, 19:45
Folgende Struktur hat das Objekt, ich muss hier auf threadID im Array data:protected zugreifen, ich komm aber nicht ran :frusty:

Gibts einen Trick? :wink:

ThreadEditor Object
(
[post:protected] =>
[board:protected] =>
[data:protected] => Array
(
[threadID] => 25
[boardID] => 30
[languageID] => 1
[prefix] =>
[topic] => Test 4
[firstPostID] => 32
[firstPostPreview] => 1227310427
[time] => 1227310427
[userID] => 0
[username] => System
[lastPostTime] => 1227310427
[lastPosterID] => 0
[lastPoster] => System
[replies] => 0
[views] => 0
[ratings] => 0
[rating] => 0
[attachments] => 0
[polls] => 0
[isAnnouncement] => 0
[isSticky] => 0
[isDisabled] => 0
[everEnabled] => 1
[isClosed] => 0
[isDeleted] => 0
[movedThreadID] => 0
[deleteTime] => 0
[deletedBy] =>
[deletedByID] => 0
)

)

Jenny
22.11.2008, 20:09
kannste vor Zugriff nicht protected ausschalten?

Worka
22.11.2008, 20:11
Auf die Gefahr hin, hier totalen Blödsinn zu posten...
Das hier habe ich mal ergooglt:

"protected kennzeichnet die eingeschränkte Zugreifbarkeit. Auf das Element kann nur in der umgebenden Klasse und deren Kindklassen zugegriffen werden.

Es gilt also: Ein konkretes Objekt kann auf eine protected Eigenschaft irgendeines Objektes zugreifen, das:
- die selbe Klassedefinition benutzt
- eine seiner Elternklassendefinitionen benutzt

Ein Zugriff auf seine Eigenschaften von außen ist nur für mit public definierte möglich oder auf protected, wenn das Objekt seiner Klasse oder einer seiner Eltern- oder Kindklassen entspricht."

Gremlin
22.11.2008, 20:12
kannste vor Zugriff nicht protected ausschalten?

Ne leider nicht :(

*edit*
@Worka
Muss ich mal schauen ob ich es allgemein als public definieren könnte hmm

Worka
22.11.2008, 20:19
Weiss ja nicht was Du vorhast oder ob es überhaupt praktikabel ist, aber...
Könnte man (so unpraktisch dass möglicherweise auch sein mag) aus Deiner Klasse eine Klasse ableiten, welche dann für den Zugriff genutzt wird?

Diese Klasse würde doch dann die Vorraussetztung erfüllen:
"...
- eine seiner Elternklassendefinitionen benutzt"

Gremlin
22.11.2008, 20:47
Nunja was ich vorhabe ist mit dem "Woltlab Community Framework (http://community.woltlab.com/db/index.php)" extern Threads zu erstellen, dafür gibts da schon vorgefertige Klassen. Den Thread erstelle ich über die Klasse ThreadEditor darin gibts ne statische Funktion insert diese rufe ich einfach auf und die macht dann den rest *g ich seh also im Endeffekt garnicht welche Klassen da noch für was benutzt werden und wo die threadID letztendlich herkommt *grübel*

Mein Problem was ich noch habe wenn ich einen Thread erstelle taucht er noch nicht auf der Startseite auf dafür muss ich über eine weitere Klasse (ForumEditor) noch das Forum updaten und die ID vom letzten Thread übergeben. Und die ID brauch ich dafür aber.

Eine Klasse ableiten wäre im Prinzip möglich aber dafür müsste ich ja dann wissen welche Klasse das letzendlich ist wobei ich mir da nichtmal sicher ob das geht weil ich erzeuge ja nichtmal eine Instanz der Klasse weil ich die statische Funktion ja einfach aufrufe hmm

*edit*
Hat nun doch geklappt, hab mich durch die Klassen gewühlt und dann eine neue erstellt woraus ich die andere abgeleitet habe, damit ging es problemlos.