Jump to content
php.lv forumi

objekti un massiivs


Recommended Posts

$components[0]->id=$components[0]->name='text';
$components[1]->id=$components[1]->name='gallery';
$components[2]->id=$components[2]->name='category';

kaa var shito uzrakstiit vienkaarshaak?

apmeeram kaut kaa taa:

$components = array(0=>Object0, 1=>Object1, 2=>Object2)

kur Object0 ir Object0->id=Object0->name='text'

Link to post
Share on other sites

man vajag izveidot taadu mainiigo

array(3) {
 [0]=>
 object(stdClass)#3 (2) {
["name"]=>
string(4) "text"
["id"]=>
string(4) "text"
 }
 [1]=>
 object(stdClass)#4 (2) {
["name"]=>
string(7) "gallery"
["id"]=>
string(7) "gallery"
 }
 [2]=>
 object(stdClass)#5 (2) {
["name"]=>
string(8) "category"
["id"]=>
string(8) "category"
 }
}

kaa es varu to izveidot iznjemot

$components[0]->id=$components[0]->name='text';
$components[1]->id=$components[1]->name='gallery';
$components[2]->id=$components[2]->name='category';

ja objektu vietaa buutu masiivs, tad dariitu taa

$components = array(
array('id'=>'text', 'name'=>'text'), 
array('id'=>'gallery', 'name'=>'gallery'),
array('id'=>'category', 'name'=>'catogory')

);

vajag taadu pashu pierakstu apmeeram.

Link to post
Share on other sites

Tev taču visu pateica priekšā!

 

$c = Array('text','gallery','whatever');
foreach ($c AS $k => $v)
{
$components[$k]->name = $components[$k]->id = $v;
}

Edited by Delfins
Link to post
Share on other sites

ok.

kaa es varu shito uzrakstiit, neizmantojot $components mainiigo

$components[0]->id=$components[0]->name='text';
$components[1]->id=$components[1]->name='gallery';
$components[2]->id=$components[2]->name='category';

$editingFields = array(
  array('type'=>'display',		'name' => 'id'),
  array('type'=>'display',		'name' => 'type'), 
  array('type'=>'display',		'name' => 'name'),
  array('type'=>'text',			'name' => 'friend_url',				 'check'=>'check_url'),
  array('type'=>'',				 'name' => 'description'),			
  array('type'=>'',				 'name' => 'parent_id'),
  array('type'=>'text',			'name' => 'ordering'),
  array('type'=>'select',		 'name' => 'component',				'posible'=>$components),
  array('type'=>'',				 'name' => 'component_id'),
  array('type'=>'truefalse',	 'name' => 'published')
);

Link to post
Share on other sites

A nafig tev vispār tur objektu jābāž? Liec masīvu ...

 

$components['gallery'] = 'mana ūūūūber-krutā galerija';

 

Tas, ka tu kautkur dzirdēji, ka OOP ir ļoti kruta, nenozīmē, ka to visur ir jābāz.. un it īpaši, ka tas kalpo tikai kā `storage` mainīgajiem bez jebkādām f-jām.

 

Bet, ja vajag

Uztaisi klasi

 

class SelectOptionItem
{
__construct($value,$title)
  {
   ....
  }
}

 

 

un tad:

 

...

'posible' (kas par debīlu nosaukumu key-am) => Array(new SelectOptionItem('gallery','mana ūūūūber-krutā galerija'),
											   new SelectOptionItem('text','mans ūūūber-krutais teksts'), ... un t.t.)
...

Edited by Delfins
Link to post
Share on other sites

ja vajag veikt vienādas darbības ar vairāk kā 2 viena objecta vai hashmapa propertijiem, tad izmantoju to "perverso" variantu un neko sliktu tur nesaskatu. pie tam, pierakstu vēl pervērsāk

foreach (array('text','gallery','whatever') as $k => $v) 
 $components[$k]->name = $components[$k]->id = $v;

Edited by v3rb0
Link to post
Share on other sites
tu pats savu piedaavaato perverso variantu izmantotu?

Tās perversās prasības izvirzīji TU!... Turklāt tā ir vienīgā iespēja, kā to izdarīt, neizmantojot papildus mainīgo ($components šajā gadījumā)

Turklāt tas nemaz nav perversi, ja grib padod parametros objektu, ar kuru vairs netiek darītas tekošajā līmenī.

Link to post
Share on other sites
×
×
  • Create New...