Kristabs Posted March 13, 2006 Report Share Posted March 13, 2006 Gribu apgūt oop. Šitais ir pirmais manis rakstītais piemērs un gribētos zināt vai es domāju pareizi. http://paste.php.lv/3423 Link to comment Share on other sites More sharing options...
v3rb0 Posted March 13, 2006 Report Share Posted March 13, 2006 kaut kā dikti samocīti un nav skaidrs kas tam piemēram īsti jādara, bet ja nu pareizi sapratu tad šitā būtu ne tik samocīti http://paste.php.lv/3424 Link to comment Share on other sites More sharing options...
Shaman`is Posted March 13, 2006 Report Share Posted March 13, 2006 doma pareiza. kaa vareetu veel labaak: - tur kur izmanto mainiigos, lieto $this->mainiigais; function IsUser($ID){ if(in_array($ID,$this->UserList)){... taadeejaadi Tu veersies pie shii objekta - kaadeelj padot objekta metodei (funkcijai) parametru, kuram funkcija pati tiek klaat? if(Users::IsUser($ID,$obj->UserList)){ => shito vareetu rakstiit kaa ieprieksheejaa piemeeraa. tehniski, protams, arii Tavs variants straadaas. Link to comment Share on other sites More sharing options...
Delfins Posted March 13, 2006 Report Share Posted March 13, 2006 - tur kur izmanto mainiigos, lieto $this->mainiigais; function IsUser($ID){ if(in_array($ID,$this->UserList)){... taadeejaadi Tu veersies pie shii objekta - kaadeelj padot objekta metodei (funkcijai) parametru, kuram funkcija pati tiek klaat? if(Users::IsUser($ID,$obj->UserList)){ => shito vareetu rakstiit kaa ieprieksheejaa piemeeraa. tehniski, protams, arii Tavs variants straadaas. Tu moš pārbaudi pirms māci citus? 1.) Izsaucot statiskās metodes $this būs tekošā faila `Enviroment` (kas tavā gadījumā nebūs objekta/instances atminjas apgabals) <?php $me = 'aaa'; function printMe() { print $this->me; } printMe(); 2.) Statiskās metodes domātas pildīt kādu īsu `darbu` vai šortcuts uz objektu class ME { function doit() { $instance = & $GLOBALS['g_ME']; if (empty($instance)) $instance = new ME(); $me->doItEx(); } // ... VAI ... (netiek kešots globāls objekts) function doit() { $instance = new ME(); $me->doItEx(); } } 3.) f-jām lieto saprotamus nosuakumus... IsUser drīzāk attidās uz tipa pārbaudi, nevis eksistenci.. jālieto k-kas līdzigs userExists($uID) Link to comment Share on other sites More sharing options...
eglitis Posted March 13, 2006 Report Share Posted March 13, 2006 Man nez kāpēc šajā gadījumā prasītos objektu būvēt atsevišķam lietotājam, nevis visiem. Rakstīju php4, pēc idejas, ja nav plānota pāreja uz php5, daudz lasāmāks piemērs izdotos ar unset($this). http://paste.php.lv/3425 Link to comment Share on other sites More sharing options...
Shaman`is Posted March 13, 2006 Report Share Posted March 13, 2006 Delfins - bik nesapratu to pirmo piemeeru Tavaa postaa. Cik man zinaams, class something { var $me = 'nekas'; function printMe() { print $this->me; } } $me = 'aaa'; $objekts = new something; $objekts->printMe(); // manupraat shitais izdos "nekas", nevis 'aaa', jeb es kluudos? es pirms tam piemeeraa neieliku visu kodu, varbuut taapeec var saprast savaadaak ;/ Link to comment Share on other sites More sharing options...
v3rb0 Posted March 13, 2006 Report Share Posted March 13, 2006 (edited) bet vispār man liekas ka piemērs pats par sevi nav labs. tādu klasi kurā ir visi useri diez vai kaut kur izmantos. tā vietā vajadzēja taisīt klasi vienam User'im. tajā tad ar salikt getUserByNameAndPassword(), getUserById(), saveUser(), deleteUser(), varbūt piekabināt statisku metodi getAllUsers(). to vai tāds useris existē varētu pārbaudīt skatoties vai User -> id ir skaitlis, uuid vai vismaz nav undefined, un ja grib striktāk tad ar getUserById() pa db pameklēt. tādu validUsers sarakstu ar hardkodētiem id ar nevajag Hello OOP piemērā - labi ja vienā no 100 klasēm kas rakstītas useriem vajadzēs tādu. Edited March 13, 2006 by v3rb0 Link to comment Share on other sites More sharing options...
Delfins Posted March 13, 2006 Report Share Posted March 13, 2006 (edited) Shaman`is, takš es uzrakstīju.. statiskām f-jām $me = 'aaa'; ME::printme(); izdrukās `aaa` Edited March 13, 2006 by Delfins Link to comment Share on other sites More sharing options...
Shaman`is Posted March 21, 2006 Report Share Posted March 21, 2006 Shaman`is, takš es uzrakstīju.. statiskām f-jām savādi gan. tikko pamēģināju to kodu. man drukā tā, kā iepriekš jau minēju. Link to comment Share on other sites More sharing options...
john.brown Posted March 22, 2006 Report Share Posted March 22, 2006 (edited) Vismaz iekš php5 laikam gan neizdosies statiskās funkcijas gadījumā izmantot $this->me. Būs kļūda ;) Nezinu kā iekš 4. Nav uz vietas :) Fatal error: Using $this when not in object context in E:\Apache Group\Apache2\htdocs\me.php on line 7 Edited March 22, 2006 by john.brown Link to comment Share on other sites More sharing options...
Recommended Posts