spynode Posted July 15, 2004 Report Share Posted July 15, 2004 Gribēju uzzināt par mainīgo tīrīšanas (unset) lietderīgumu. Cik garā kodā un pie kāda mainīgo skaita tas varētu būt nepieciešams (vēlams), jo man liekas, ka ne pārāk garos kodos mainīgos tīrīt nav vērts jo tas tikai sabremzē skriptu un atmiņas tīrīšana pusgaros kodos nav lietderīga, jo PHP tāpat pēc skripta palaišanas visus mainīgos attīra. Link to comment Share on other sites More sharing options...
рпр Posted July 15, 2004 Report Share Posted July 15, 2004 interesants jautājums, būtu interesanti redzēt konkrētus ciparus. Link to comment Share on other sites More sharing options...
Venom Posted July 16, 2004 Report Share Posted July 16, 2004 Ņu, dažiem strādā tāda funkcija kā memory_get_usage(), ar to skaisti varēja paskatīties. /me lieto unset pārsvarā 3 gadījumos: Gadījums 1: type juggling Kaut kur kodā $tmp=array(); pēc tam gribu izmantot $tmp kā ordināro tipu (str,float,int,bool). Lai nebūtu kļūdu/notīšu, taisam unset($tmp); un bliežam savu $tmp='a,jh;fdsf'; Gadījums 2: lielu failu ielasīšana un bilžu ģenerēšana. pēc dafaulta php ir ierobežots oper. atmiņas daudzums (kā nu kuram, bet parasti 8mb) Teiksim, man jāapstrāda liels fails (6 mb) un vēl jāuztaisa kāda 1024x768 bildīte ar image* funkcijām kas arī ļoti labi havo RAMu, tad pēc faila apstrādes tā mainīgajam taisu unset. Ja jāapstrādā divi faili, tad vienkārši otro ielasu tai pašā mainīgajā, kas automātiski atmet pirmo vēŗtību un atbrivo RAMu. Bildēm obligāti taisu imagedestroy() (tas kā fclose() - varbūt nav vienmēr obligāts, bet labāk būtu ja iraid). Gadījums 3: mainīgo "at"iniciēšana $canWrite=1; $canDelete=2; if (!$isAdmin) unset($canWrite, $canDelete); .... if (!empty($canWrite)) switch($canWrite) { case 1: //level 1 break; case 2: //more options, level 2 break; } bet šo gan tā paretāk (un piemērs arī so-so) Link to comment Share on other sites More sharing options...
Recommended Posts