class und string ?

roy15

Mitglied
Hallo,

komme mal wieder nicht weiter,
ich habe jetzt:
PHP:
class Entries{
	
	private $entries = array();		
	private $filename = "test.txt";	
        ...
und
PHP:
<?php $id = $_REQUEST['id']; 
$idurl = "id=".$urlid;
?>
Ich möchte das $filename = $idurl ist.
Nach vielem lesen und probieren habe es nicht hin bekommen und muss euch fragen wie das geht.
Hat jemand eine Lösung ?
 
Hallo,

ich bin mir nicht sicher was du überhaupt willst, aber hier mal ein versuch von mir:

PHP:
 <?php
class Entries{

    private $entries = array();
    private $filename = "test.txt";

  public function store($url) {
	  $this->filename = $url;
  }
    public function read() {
	  return $this->filename;
  }
}
 $id = $_REQUEST['id'];
$idurl = "id=".$id;

$entries = new Entries;

//$idurl wird auf $filename gesetzt
$entries->store($idurl);

//$filename wird auf $idurl  gesetzt
$idurl =$entries->read();
?>
 
Hi htc,

ich wollte das $filename = $idurl ist.

Also das erst (vor class )
PHP:
 <?php $id = $_REQUEST['id']; 
$idurl = "id=".$urlid;
?>
dann
PHP:
class Entries{
    
    private $entries = array();        
    private $filename = "test.txt";    
        ...

kommt und da wo jetzt $filename steht, soll $idurl stehen.
Weist du wie ich das meine ?
 
Hallo,

du willst also $idurl in der class in der variable $filename speichern?
PHP:
 <?php
class Entries
{
		private $entries = array();
		private $filename = "test.txt";
		public function __construct($idurl)
		{
				$this->filename = $idurl;
		}
}
$id      = $_REQUEST['id'];
$idurl   = "id=" . $id;
$entries = new Entries($idurl);
?>

In der variable $filename steht nun der Inhalt von $idurl.

Hoffe das ist was du willst.
 
Ich glaube, dass ich verstehe, was du meinst. Vermutlich ist dein Problem, dass in PHP folgendes Konstrukt nicht möglich ist:
PHP:
class Entries {
  private $filename = 'id=' . $_REQUEST['id'];
}
Theoretisch kann man das auch so lösen, dass es $filename direkt innerhalb deiner Klasse mit diesem Wert belegt wird, allerdings ist die Idee von OOP doch gerade, dass man Module beschreibt, die man wieder verwenden kann, sie also von den eigentlichen Informationen trennt. Dementsprechend ist die Lösung von htc sinnvoll und aus meiner Sicht auch die beste.
 
Hallo,

ja crack, genau so wollte ich das,
leider geht das aber nicht.
Bekomme diesen Fehler:
PHP:
Parse error: syntax error, unexpected '.', expecting ',' or ';' in
 
Hallo,

ja crack, genau so wollte ich das,
leider geht das aber nicht.
Bekomme diesen Fehler:
PHP:
Parse error: syntax error, unexpected '.', expecting ',' or ';' in

Du kannst aber nur skalare Werte vorbelegen.
Wenn du das so machen willst, nimm die Zuweisung im Constructor vor:

public function __construct()
{
$this->filename = 'id=' . $_REQUEST['id'];
}
 
Zurück