Jump to content
php.lv forumi

Piemērs


Kristabs

Recommended Posts

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

- 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

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

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 by v3rb0
Link to comment
Share on other sites

  • 2 weeks later...

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 by john.brown
Link to comment
Share on other sites

×
×
  • Create New...