php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 22-12-2009, 15:24
kj187
 Registrierter Benutzer
Links : Onlinestatus : kj187 ist offline
Registriert seit: Mar 2003
Beiträge: 24
kj187 ist zur Zeit noch ein unbeschriebenes Blatt
kj187 eine Nachricht über ICQ schicken kj187 eine Nachricht über AIM schicken
Standard YAML: Werte überschreiben

Hallo zusammen,
ich hoffe das ich den richtigen Bereich getroffen habe, sofern nein, bitte verschieben :-)

Es geht um das Thema YAML
Nein, nicht das CSS Framework, sondern die Auszeichnungssprache zur Datenserialisierung. YAML Aint Markup Language

Und zwar benutzte ich diese zusammen mit dem PHP parser "Spyc".
Ich habe folgende Beispiel YAML Datei

Code:
development:
  key1: value1
  key2: value2
  key3:
    subKey1: subValue1
    subKey2: subValue2
    subKey3:
      subSubKey1: subSubValue1
      subSubKey2: subSubValue2
    subKey4: subValue4
  key4: value4
Jetzt möchte ich einen weiteren Kontext hinzufügen nämlich die Produktion. Hier müssen alle Daten die es auch im development gibt ebenfalls zur verfügung stehen. Hier gibt es 2 Möglichkeiten, setzt voraus das bei dem obigen ein Anchor gesetzt wird

Code:
development: &development
1)
Code:
production:
  <<:*development
hier werden die arrays zusammengeführt

2)
Code:
production: *development
hier wird ein alias gesetzt

Beides funktioniert super!

Jetzt möchte ich aber bestimmte Werte im production ändern. zB subSubKey1
Also gehe ich hin und schreibe folgendes

Code:
production:
  <<:*development
  key3:
    subKey3:
      subSubKey1: overwrite
Überschrieben wird, aber alles was vorher unterhalb von subKey3 war ist weg ausser das was ich gerade überschrieben habe!

Ich müsste jetzt quasie key3 und subKey3 auch einen Anchor setzten und diesen über ein Alias ansprechen. Sprich:


Code:
development: &development
  key1: value1
  key2: value2
  key3: &key3
    subKey1: subValue1
    subKey2: subValue2
    subKey3: &subKey3
      subSubKey1: subSubValue1
      subSubKey2: subSubValue2
    subKey4: subValue4
  key4: value4
---
production:
  <<:*development
  key3: *key3
    subKey3: *subKey3
      subSubKey1: overwrite

Das würde funktionieren, aber ich habe ein relativ grosses YAML file mit mehreren Konexten.. Gibts hier keine möglichkeit das ich ein Kontext komplett kopiere und trotzdem an gewissen stellen überschreiben kann ?


Über jeden Tipp ect pp würde ich mich sehr freuen !!!!

Cheers
Julian

Geändert von kj187 (22-12-2009 um 15:30 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 22-12-2009, 16:07
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Zitat:
Zitat von kj187 Beitrag anzeigen
Gibts hier keine möglichkeit das ich ein Kontext komplett kopiere und trotzdem an gewissen stellen überschreiben kann ?
Genau das machst du bereits. Du kopierst den Dev-Kontext und dann überschreibst du eine gewisse Stelle, nämlich key3. Works as designed.
Du bräuchtest eine Pfad-Notation, um key3:subKey3:subSubKey1 direkt ansprechen zu können. Afaik gibt es solch eine Notation in YAML nicht.

Du kannst Spyc erweitern. Oder du hältst den Baum flach, etwa so:
Code:
development:
  key1: value1
  key2: value2
  key3_subKey1: subValue1
  key3_subKey2: subValue2
  key3_subKey3_subSubKey1: subSubValue1
  key3_subKey3_subSubKey2: subSubValue2
  key3_subKey4: subValue4
  key4: value4
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Eine Spalte mit Werte aus einer anderen db überschreiben startman SQL / Datenbanken 2 10-01-2008 10:07
datei mit ftp überschreiben sanchez PHP Developer Forum 5 02-10-2006 14:30
Session Werte überschreiben raldolfo PHP Developer Forum 1 17-02-2005 12:43
Werte überschreiben Normi SQL / Datenbanken 1 21-09-2003 21:22
Werte aus der Tabelle überschreiben oder ersetzen??? TomFresh SQL / Datenbanken 9 14-05-2003 23:21

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 05:43 Uhr.