Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Plik z PHP zapisany jako sama zmienna?
Forum PHP.pl > Forum > PHP
evilpr0
Witam! Na początek mówię, że nie wiedziałem jak zatytułować ten temat. Szukałem tego po internecie jakieś 3 dni i nadal nie znalazłem odpowiedzi.. Tak więc, chciałbym zapisać coś w pliku 'php', na przykład:

  1. <? print 'To jest fajne.';
  2. ?>


Lub dodać tam coś z bazy danych MySQL, przypuśćmy wyświetlanie czegoś z pętlą while, a następnie zdefiniować ten plik jako zmienną w pliku, czyli na przykład, nazwę plik 'liczba_komentarzy.php', a przy linku do komentarzy, zamiast pisać sobie cały syf, napiszę tylko '$liczba_komentarzy', żeby nie zaśmiecać sobie kodu. Rozumiecie o co chodzi? Z góry dzięki za odpowiedź. Pozdrawiam, Evil.
buliq
Nie bardzo smile.gif

Chodzi ci albo o:

$zmienna = "plik.php";

albo o:

$zmienna = "wynik działania pliku plik.php";

questionmark.gif?
evilpr0
Cytat
Nie bardzo smile.gif

Chodzi ci albo o:

$zmienna = "plik.php";

albo o:

$zmienna = "wynik działania pliku plik.php";

questionmark.gif?


To drugie, chodzi mi o to, że w osobnym pliku php napiszę sobie, żeby pobierało mi z bazy coś, np:

  1.  
  2. $WPISY = mysql_query("SELECT * FROM Wpisy");
  3. while($WYSWIETL_WPISY=mysql_fetch_array($WPISY)) {
  4.  
  5. print (' Wpis: '.$WYSWIETL_WPISY['Wpis'].' ');
  6.  
  7. }
  8.  
  9.  


A na przykład w pliku index.php, dodam tylko zmienną, która wyświetli to co napisałem w tym osobnym pliku.

@EDIT: Coś jak 'include', ale za pomocą zmiennej.
buliq
Niewiem czy ma to jakikolwiek sens. Ale spróbuj funkcji eval. Zawartość pliku pobieraj przez file_get_contents i wrzucaj do eval.

Jednak nie ma to kompletnie sensu. Już lepiej zdefiniować funkcję która będzie wczytywać ten plik i go wykonywać.

Dlaczego chcesz zawartości pliku w zmiennej?
evilpr0
Ponieważ jest to wygodniejsze. Silnik forum mybb ma coś w stylu $mybb->user['usergroup'], co wyświetla jego grupę, czyli musi to pobierać z bazy danych, chciał bym podobnie.
buliq
Ale nie pobiera tego w ten sposób. Silnik ten zapewne pobiera jednym zapytaniem wszystkie dane tego użytkownika i umieszcza same dane w zmiennych. Nie umieszcza w zmiennych operacji kodu smile.gif

Są to zwykłe zmienne smile.gif

Przedstaw co konkretnie chciałbyś mieć? jakieś dane z bazy? ze wszystkim możemy pomóc smile.gif
evilpr0
Tak więc ogólnie chodzi o system zalogowanych użytkowników. Robię coś w stylu forum i nie widzi mi się za każdym razem pobierać dane z bazy mysql_query i bla bla. Chciałbym mieć plik, w którym było by to już zapisane, a ja bym tylko pisał na przykład: $nazwa_uzytkownika, a za tym kryłby się kod pobierający nazwę użytkownika z bazy, według id w innym pliku.

@EDIT: Lub po prostu jeden plik, w którym definiowałbym zmienne, coś połączone razem. Tak, abym zapisał zmienną, która działałaby tak samo na całym dokumencie.
buliq
Naucz się coś o obiektach smile.gif a następnie napisz klase np:

  1. class User {
  2.  
  3. function __construct($user) {
  4. $this->user = $user;
  5. }
  6.  
  7. function loadData() {
  8. //tutaj pobierasz dane z mysql
  9. //i przypisujesz do zmiennych:
  10. $this->username = $row['username'];
  11. //itd.
  12. }
  13. }
  14.  
  15. //tworzysz obiekt:
  16.  
  17. $user = new User('admin');
  18. echo $user->admin."<br>";
  19.  


i to generalnie rzecz biorąc wszystko smile.gif
evilpr0
Dzięki. smile.gif A takie zwykłe przypisywanie do zmiennych? Na przykład nie "$user->admin", tylko "$costam"?
buliq
Też można tylko ze się pogubisz kiedyś smile.gif To jak to napiszesz to tak naprawdę zależy od ciebie smile.gif
evilpr0
Tak więc zwyczajnie zrobię plik .php mający wszystkie te kody i dodam include do index.php. smile.gif Dzięki bardzo za pomoc! Pozdrawiam, Evil. Temat do zamknięcia.
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.