---
title: "Strukturhjälp med klassindelning"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/58396-strukturhjälp-med-klassindelning/page2"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "SDCd"
published: "2002-11-07T23:23:26.000Z"
updated: "2003-01-08T22:46:00.000Z"
replies: 30
views: 799
page: 2
pages: 2
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/58396-strukturhjälp-med-klassindelning"
---

# Strukturhjälp med klassindelning

_Sida 2 av 2._

## #21 — SDCd, 2002-11-19T01:26Z

Är jag helt ute och cyklar om jag påstår att raden

```
createXML( array_pop( $xmlTagList ), $xmlPre . "\t" );
```

i funktionen createXML(), borde vara

```
$this->createXML( array_pop( $xmlTagList ), $xmlPre . "\t" );
```

 :)

Permalänk: https://www.webforum.nu/p/860193

## #22 — SDCd, 2002-11-19T22:58Z

Det verkar som funktionen createXML() innehåller lite av båda versionerna av koduppbyggnad.
Här:

```
foreach( $theRootTag->getAttributes() as $key => $value ) {
	array_push( $xmlAttributes, strtolower( $key . "=\"" . $value . "\"" ) );
}
```

används foreach, men det som returneras av getAttributes() är, som du påpekar i ett inlägg högre upp, en lista innehållande objekt:

```
spinxmlattributelist Object ( [attributeList] => Array ( [0] => spinxmlattribute Object
 ( [attrName] => AttributNamn [attrValue] => AttributVärde ) ) )
```

Här brister mina kunskaper. Hur gör jag för att komma åt det som foreach satsen ovan?

Permalänk: https://www.webforum.nu/p/860840

## #23 — SPiN, 2002-11-25T12:25Z

Återkommer under veckan, är för trött i huvudet just nu... Bara så du vet att jag inte struntar i dig. :)

Permalänk: https://www.webforum.nu/p/866802

## #24 — SDCd, 2002-11-28T14:55Z

Ingen fara, har själv mycket att göra med "riktigt" jobb. :)

Permalänk: https://www.webforum.nu/p/868994

## #25 — SPiN, 2002-11-28T23:14Z

Då försöker vi igen... Jag har endast ändrat i SPiNXML.txt, där jag lagt till lite metoder för hanteringen av attribut plus ändrat lite där du påpekat fel.

MvH,

Bilagor:

- [spinxml.txt](https://www.webforum.nu/a/752.txt)

Permalänk: https://www.webforum.nu/p/869277

## #26 — SDCd, 2002-12-03T22:37Z

Då ska vi se, har satt tänderna i din nya fil och kommit fram till följande:

I klassen SPinXMLAttributeList har du skapat en funktion som heter get().
Där står:

```
if( count( $this->attributeList ) > $attributeGetPointer )
```

Det borde vara:

```
if( count( $this->attributeList ) > $this->attributeGetPointer )
```

Samma klass, funktionen apply( $tagAttributeName, $tagAttributeValue )

Där står:

```
$array_push( $this->attributeList, $xmlAttribute );
```

Det borde vara:

```
array_push( $this->attributeList, $xmlAttribute );
```

Sen en sak som har genererat ett fel i varje fil vi bollat är raden:

```
$found ? return $result : return false;
```

Om jag däremot gör om denna till:

```
if($found)
	return $result;
else
	return false;
```

fungerar det utmärkt.

Nu till ett fel som jag går bet på än så länge men jag slänger upp det här eftersom jag inte vet om jag är ledig när du har permis.
Jag får felmeddelandet:

```
Fatal error: Call to a member function on a non-object
```

på raden:

```
while( ( $tagAttribute = $this->tagAttributeList->get() ) != false )
```

i funktionen getAttributesAsArray() i klassen SPiNXMLTag

Får inte till detta på nåt vettigt sätt. 
Sen vill jag bara passa på att tacka för ditt fantastiska tålamod här!

Permalänk: https://www.webforum.nu/p/875662

## #27 — SDCd, 2002-12-05T22:01Z

Jag förstår inte riktigt din tanke med struktur och hierarkiuppbyggnaden av XML-filen. 
Vad jag inte kan få till är hur du tänkt när du i testpiloten skapar ett nytt objekt:

```
$xmlTag = new SPiNXMLTag();
$xmlTag->start();
$xmlTag->setName( "ROTTAG" );
$xmlTag->setAttribute( "ROTTAG_AttributNamn", "ROTTAG_AttributVärde" );
```

Sedan skapar du ett nytt objekt:

```
$xmlSubTag = new SPiNXMLTag();
$xmlSubTag->start();
$xmlSubTag->setName( "UNDERTAGG_1" );
$xmlSubTag->addContent( "UNDERTAG_1_DATA" );
$xmlSubTag->setAttribute( "ATTRIBUTNAMN_1", "ATTRIBUTVÄRDE_1" )
```

Därefter lägger du till denna med:

```
$xmlTag->addTag( $xmlSubTag );
```

När jag läser av variabeln $xmlTag ser innehållet ut så här:
/r Lägger koden i en separat fil för att inte göra tråden oläslig. Se inlägg nedan.

Permalänk: https://www.webforum.nu/p/877041

## #28 — SDCd, 2002-12-05T22:33Z

Här är filen med värdet på variabeln $xmlTag.

Bilagor:

- [$xmltag.txt](https://www.webforum.nu/a/789.txt)

Permalänk: https://www.webforum.nu/p/877048

## #29 — SDCd, 2002-12-06T00:07Z

Vad är din tanke med att skapa klassen SPiNXMLAttributeList?

Permalänk: https://www.webforum.nu/p/877088

## #30 — SPiN, 2003-01-08T22:33Z

OK, nu har jag hittat hit igen. Eftersom att jag är utan dator varannan vecka, har jag helt tappat tråden i den här tråden ( ;) )...

Jag ska sätta in mig i problemet under morgonkväll, om du har något problem kvar. Jag har missat den här tråden de senaste veckorna, ser jag. :o

Vad nytt har hänt?

Permalänk: https://www.webforum.nu/p/907965

## #31 — SDCd, 2003-01-08T22:46Z

Inte mycket, tyvärr. Har haft mycket jobb. Det nya är att jag tidigare trodde att en tag bara kunde ha ett attribut(läste galet i en XMLdokumentation), därav min tidigare fråga om SPiNXMLAttributeList.
De tidigare inläggen är fortfarande aktuella. Tänkte försöka ta tag i detta i helgen.

Permalänk: https://www.webforum.nu/p/907974

---

Tråden på webben: https://www.webforum.nu/amne/php/58396-strukturhjälp-med-klassindelning/page2  
Föregående sida: https://www.webforum.nu/amne/php/58396-strukturhjälp-med-klassindelning.md
