Jump to content
php.lv forumi

$_GET un OOP


localhero

Recommended Posts

Ok skaidrs es izmantoju divas funkcijas, vienu datu ievākšanai no GET masīva otru rēķināšanai. man ir sekojoš piemērs:

<?php
class tests {
public function get() {
	$augstums = $_GET['augstums'];
	return $augstums;
}

public function show() {
	return $this->get();
}
}

$izvade = new tests();
echo var_dump($izvade->show());

Vai ir kāds cits veids kā no funkcijas show() pa taisno piekļūt mainīgajam $augstums. Pagaidām to nodrošina return $augstums, bet varbūt var bez tā return ?

Link to comment
Share on other sites

Es īsti neredzu problēmu šajā piemērā.

Iespējas dažādas (ja es sapratu problēmu, tad tu negribi visu laiku bakstīt $_GET masīvu?):

1) nodefinē klases mainīgo $this->augstums=$_GET['augstums']

2) nodefinē mainītgo ārpus klases un funkcijā show() lieto global

 

Es gan domāju, ka es nesapratu problēmu ;)

Link to comment
Share on other sites

Problēmas negribas atgriezt katru elementu atsevišķi:

$augstums = $_GET['augstums'];
$platums = $_GET['platums'];
$dzilums = $_GET['dzilums'];
return $augstums;
return $platums;
return $dzilums;

Kā redzam katrs variablis tiek atgriezts atseviķi, es atradu arī risinājumu atgriezt masīvu:

return array($augstums,$platums,$dzilums);

Edited by localhero
Link to comment
Share on other sites

Tagad sapratu tavu problēmu. Return atgriež norādīto rezultātu un funkcijas tālāka darbība tiek pārtraukta.

Saglabā masīvu klases mainīgajos.

class tests {
 var data=array();
 public function __contruct(){
$this->data=$_GET;
 }
 function show($key){
return $this->data[$key];
 }
}
$izvade=new tests();
var_dump($izvade->show('augstums'));

Edited by marcis
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...