Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zmienna a klasa
Forum PHP.pl > Forum > PHP
kszymon0
Witam,
Zabrałem się właśnie do nauki OOP i mam już pierwszy kłopot opierający się na zmiennych i klasie.

Czy da się załączyć plik np. zmienne.php który powiedzmy wygląda następująco:

  1. <?php
  2. $zmienna1 = 'ss';
  3. $zmienna2 = 'aa';
  4. $zmienna3 = 'vv';
  5. $zmienna4 = 'bb';
  6. ?>


do klasy żeby np.
Kod
private a
przyjęła wartość odpowiadająca
Kod
$zmienna1
?




darko
Po co questionmark.gif

Można zrobić coś takiego, że w tym dołączanym pliku zrobisz tablicę, np.
  1. $zmienne = array("zmienna1" => "test1", "zmienna2" => "test2", "zmienna3" => "test3");

i później np. w konstruktorze klasy zrobimy tak:

  1. //include_once 'zmienne.php';
  2. //$zmienne = array("zmienna1" => "test1", "zmienna2" => "test2", "zmienna3" => "test3");
  3. class TestClass {
  4.  
  5. private $zmienna1 = null;
  6. private $zmienna2 = null;
  7. private $zmienna3 = null;
  8.  
  9. public function __construct($props) {
  10. if(is_array($props)) {
  11. foreach($props as $propname => $propval) {
  12. if(property_exists('TestClass', $propname)) {
  13. $this->$propname = $propval;
  14. }
  15. }
  16. }
  17. }
  18. }
  19.  
  20.  
  21. $test_class = new TestClass($zmienne);
  22. print_r($test_class);
kszymon0
Dzięki wielkie (nie pomyślałem nawet o tym wstydnis.gif )
Crozin
Jeżeli potrzebujesz czegoś takiego to pierwsza oznaka, że masz coś źle zaprojektowane. Więc może napisz jakie są Twoje cele.
darko
post scriptum: Crozin ma rację dlatego pytałem w pierwszym poście, po co Ci to potrzebne?
kszymon0
Chciałem napisać klasę zarządzającą newsami, która pobierałaby wygląd newsa z osobnego pliku. Plik ten wyglądałby następująco. 

Kod
$zmienna1 = "głóra"

$zmienna2 = "środek"

$zmienna3 = "dół"




darko
To file_get_contents i preg_match w jakiejś metodzie klaski
Cysiaczek
oop? Wolne żarty :-)
Przenoszę oczko wyżej
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.