MZM Posted February 10, 2005 Report Share Posted February 10, 2005 Radās vēlme apgūt OOP. Nevis tapē ka vajaga, bet lai garāks (izpildes laiks ;)). Tad nu aš jautājumiņš par PHP5 ar ko atšķiras / labākas / sliktākas tālākminētās pieejas: 1) self::function(); 2) $this->function(); To, ka pirmajā brīdī rezultāts izskatās vienāds, es jau noskaidroju :) Link to comment Share on other sites More sharing options...
Kaklz Posted February 10, 2005 Report Share Posted February 10, 2005 Cik sapratu, tad :: izmantošana var būt lietderīga gadījumos, kad tev ir jāizmanto arī pamata klases funkcijas. Tad ar self:: izsauc šīs klases funkcijas, bet ar parent:: vari tikt klāt arī tai klasei, kuru tu esi atvasinājis un izveidojis jauno klasi. Ja iepriekšējie pāris teikumi nav skaidri, tad iebrien šeit: http://www.zend.com/manual/language.oop5.p...nekudotayim.php un apskaties piemērus, uzreiz taps skaidrs :) Lai nu kā, tā kā iekš PHP4 nebija tādu self un parent, tad varētu secināt, ka $this ir sava veida backward-compability, lai pāreja uz PHP5 nebūtu tik sāpīga. Link to comment Share on other sites More sharing options...
MZM Posted February 11, 2005 Author Report Share Posted February 11, 2005 Cik sapratu, tad :: izmantošana var būt lietderīga gadījumos, kad tev ir jāizmanto arī pamata klases funkcijas. Tad ar self:: izsauc šīs klases funkcijas, bet ar parent:: vari tikt klāt arī tai klasei, kuru tu esi atvasinājis un izveidojis jauno klasi.Ja iepriekšējie pāris teikumi nav skaidri, tad iebrien šeit: http://www.zend.com/manual/language.oop5.p...nekudotayim.php un apskaties piemērus, uzreiz taps skaidrs :) Lai nu kā, tā kā iekš PHP4 nebija tādu self un parent, tad varētu secināt, ka $this ir sava veida backward-compability, lai pāreja uz PHP5 nebūtu tik sāpīga. 13611[/snapback] Hm. Tik daudz jau pac sapratu. Patestēju un noskaidroju galveno atšķirību - :: var lietot bez objekta, $this-> tikai ar. TB. Ja izsauc klases funkciju A, kas izsauc funkciju B bez klases objekta izveidošanas, tad :: nostrādās, bet $this-> paziņos par kļūdu. Neesu pārliecināts, vai tā ir tikai backw. com. fīča. Acīmredzot turpmāk būs vienmēr japaredz, vai klases funkcijām jāspēj darboties arī bez objektiem vai nē. Link to comment Share on other sites More sharing options...
bubu Posted February 11, 2005 Report Share Posted February 11, 2005 Normāli OOP'ā jau tikai funkcijas, kurām pielikts keywoards static spēj darboties bez klases instances, bet kā patstāvīgas funkcijas, tikai objekta neimspeisā :) Un manuprāt es piekrītu Kaklz, ka $this-> ir tikai backward comp. fīča ar PHP4, normāli iekš PHP5 būtu jālieto self:: Link to comment Share on other sites More sharing options...
keep-smiling Posted March 8, 2005 Report Share Posted March 8, 2005 1) self::function();2) $this->function(); 13608[/snapback] 1. gadījumā tiek izsaukta statiska metode, kas attiecas uz visu klasi kopumā. 2. gadījumā dinamiskā metode, kas attiecas tikai uz konkrētu klases eksemplāru. Link to comment Share on other sites More sharing options...
bubu Posted March 8, 2005 Report Share Posted March 8, 2005 Paskaidro sīkāk ar piemēru, kur kuredzamas atšķirības, lūdzu. Link to comment Share on other sites More sharing options...
Delfins Posted March 9, 2005 Report Share Posted March 9, 2005 Paskaidro sīkāk ar piemēru, kur kuredzamas atšķirības, lūdzu. 14681[/snapback] http://lv.php.net/manual/en/language.oop5....nekudotayim.php Link to comment Share on other sites More sharing options...
Analgiins Posted March 9, 2005 Report Share Posted March 9, 2005 Lai nu kā, tā kā iekš PHP4 nebija tādu self un parent, tad varētu secināt, ka $this ir sava veida backward-compability, lai pāreja uz PHP5 nebūtu tik sāpīga. Labriit! self un parent ir PHP4 ! Link to comment Share on other sites More sharing options...
Delfins Posted March 10, 2005 Report Share Posted March 10, 2005 Labriit! self un parent ir PHP4 ! 14776[/snapback] nezkapec man self:: negaaja... mmm Link to comment Share on other sites More sharing options...
Recommended Posts