Jump to content
php.lv forumi

Mainīgo definēšana


AcidRain

Recommended Posts

Kāpēc 3 variants nav vajadzīgs? Runa ir par klasē definētiem mainīgajiem.

Kādas ir tās situācijas, kurās labāk būtu izamantot 1 un kurās 2 gadījumu?

 

Mana situācija ir tāda, ka ir masīvs, kurā dažreiz tiek kaut kas ierakstīts, bet dažreiz netiek.

Link to comment
Share on other sites

Tipu var definēt, ja jauno objektu uzreiz izmanto bez datu setošanas

 

Šajā gadījuma, jaunas vērtības tik ieliktas pie POST.

Pie pirmās GET izsaukšanas būs tas mainīgais būs tukšs.

 

Tāpēc, ja tu pre-definē kā Array, tad FOREACH nebļaus, ka `undefined variable` vai `variable is not array` ... to biš nebūs nekāda notice, un kods ir `pareizs` pēc OOP standartiem.

 

if ( isPOST() )
{
   $obj->setArrData( $_POST['checkbox_arr'] );
}

$arr = & $obj->getArrData();
foreach ( $arr AS $k=>$v ) {
  print "$k->$v"; //tikai piemers
}

 

Es šo metodi izmantoju pie savu DB objektu izmantosānas, jo katru tabulu iekš DB aprakstu ar klasi

 

LedgerTable extends BaseTable {
  var $name='';
  var $type = 0;
}

 

Un vēlāk nebaidos, ka man būs kaut kas `undefined`... ;)

Link to comment
Share on other sites

Tātad pirmā lieta ir skaidra, PHP māk bļaut, ka mainīgais nav ar tādu tipu, kādu vajag!

Man sanāca šāds piemērs:

$a = '';
foreach($a as $b) {
echo $b;
}

PHP man bļāva tā:

Warning: Invalid argument supplied for foreach()

 

Varbūt kāds var parādīt vēl kādu gadījumu, vai varbūt pat iedot visu sarakstu, kādos gadījumos šādi var gadīties?

Edited by AcidRain
Link to comment
Share on other sites

×
×
  • Create New...