Autor | Zpráva | ||
---|---|---|---|
karlos1 Profil * |
#1 · Zasláno: 25. 7. 2014, 19:14:34
Ahoj,
potřeboval bych poradit s PHP, ve kterém jsem spíše začátečník a nevím si moc rady. Mám následujícího kočkopsa (objekt v poli,nevím, jestli to je standardní, nepřijde mi). Vypisuji výpis funkce print_r :
Array ( [0] => xy Object ( [_product:commerce:private] => produkt [_product_id:commerce:private] => 73 [_sku:commerce:private] => 123 ... ) [1] => xy Object ( [_product:commerce:private] => produkt 2 [_product_id:commerce:private] => 75 [_sku:commerce:private] => 234 ... ) ) Nyní bych do tohoto pole/objektu potřeboval přidat ručně další položku, a to ideálně v úplně jiném místě, než kde se vkládají normálně produkty. U polí by to bylo jednoduché, tak bych si položku "dolepil", v jakémkoliv souboru, nehledě na původní lokaci, pomocí zápisu: $array[2] = array( 'product' => 'xy', 'product_id' => 1, 'sku'=> 987 ) Jak můžu podobným způsobem vložit něco do toho objektu? Snad bude podobně jednoduché řešení existovat. Důvod tohoto lepení? Nejsem programátor a potřebuji narychlo a krátkodobě (po dobu cca 3 týdnů, než bude nový e-shop). Reakce typu "takto ne, dělá se to jinak a hezčeji" prosím nyní vynechte. Děkuji. |
||
Tori Profil |
karlos1:
Možná něco takového?? (tipuju) $obj = new NejakyNazev(); $obj->setProduct('xy'); $obj->setProductId(1); $obj->setSku(987); $array[] = $obj; commerce , jestli se jí hodnoty předávají přes konstruktor nebo pomocí metod (jako v příkladu). Kdyžtak můžete poslat její definici, abychom mohli poradit.
|
||
karlos1 Profil * |
#3 · Zasláno: 25. 7. 2014, 20:32:22
Tori:
zkusím se podívat, snad to najdu v té spoustě souborů :-) Ještě se zeptám, vždy jsem viděl něco jako Std Object nebo tak nějak, tady mi to ale v dumpu vrací nějaké jméno, uvedl jsem to jako "xy" Object - nesouvisí s produktem xy. Trochu mě to mate. Ne trochu, dost, nevím, co s tím. Jinak to "private" se tam dodá, soudě dle tvého kódu, samo? Zkusím a pohledám i to, cos chtěl, tu definici. Nechám to na zítra, dnes byl dlouhý den. |
||
Tori Profil |
#4 · Zasláno: 25. 7. 2014, 21:22:52
karlos1:
"xy" je název té třídy, jejíž instance (= objekty) jsou v poli. Proměnné _product aj. pocházejí z nějaké jiné třídy s názvem commerce , od které je třída "xy" zdědila. Zkuste najít soubory s definicemi tříd - jeden obsahuje řetězec class commerce a druhý class xy . "private" znamená, že se ta vlastnost (= proměnná uvnitř objektu) nedá měnit přímo, ale musí se k ní zvenčí přistupovat pomocí nějaké metody (= funkce).
Co je to vlastně za aplikaci? Jestli jde o nějaký běžně používaný e-shop typu osCommerce apod., tak s tím někdo tady určitě bude mít zkušenosti. |
||
karlos1 Profil * |
#5 · Zasláno: 27. 7. 2014, 18:07:49
Tori:
Jsi výborný, tvůj kód úplně výborně funguje. Děkuji i za vysvětlení těch pojmů. |
||
Časová prodleva: 10 let
|
0