Ich habe ein kleines Paket erstellt, das ValueObject Typ -Objekte für Messeinheiten enthält. ValueObject ), das zwei Eigenschaften hat:
Value - Geben Sie Float und eine Einheit messunital ein. dient mir in vielen Projekten für Einheiten, die im Projekt zu detailliert behandelt werden, um einen einfachen Typ zu haben. Klassen insbesondere dafür, die von messunitUnitValueObject erbt. Die Klasse verfügt über ein Feld $ Unit vom Typ länger , ein Enum -Implementierung von Messunits . Darüber hinaus wird für jede Einheit ein sogenannter Konverter mit dem Namen LenghtConverter erstellt, dessen Zweck das Gerät für eine bestimmte Menge konvertiert. Das Ganze hängt davon ab, dass ich diese Art von Code erstellen kann: < /p>
Code: Select all
$length = new Length(22, LengthUnit::Miles);
$lenght2 = LengthConverter::toKilometers($length);
$lenght->isEqual($lenght2); //true
$lenght2->value // 35.405568;
$lenght2->toMiles()->value; //22
$lenght2->toMiles()->unit; // Enum: LenghtUnit::Miles;
< /code>
usw. Eine große Anzahl, und in den meisten Projekten brauche ich einfach nicht alle, und manchmal kommt es vor, dass ich beispielsweise nur die Klassen mit Lenght
ist im Prinzip kein groß Die ganze Sache ist eine Frage von ein paar Kilobyten. , und ich meine nicht, separate Projekte zu erstellen.
Code: Select all
"require": {
"my_units_package": "^1.0''
}
< /code>
Aber so kann ich ein Tag hinzufügen, das angibt, was geladen werden soll oder was nicht geladen werden soll. Ich weiß, dass es so einen zusätzlichen
Code: Select all
"extra": {
"except": ["Power", "Volume"]
}
Was ist, wenn mein Projekt "nur Länge laden" sagte, aber ich habe ein anderes verwendet, in dem "nur Strom laden". Selektierbare Segmente möglich und wie ich mit Konflikten dieses Typs umgehen kann? < /p>
Wie gesagt, es ist kein groß Als akademische Überlegungen, obwohl ich mich frage, ob jemand solchen Problemen konfrontiert hat und seine Erfahrungen/sein Wissen teilen könnte. Danke