Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Dynamiczne includowanie
tracerout
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 2.07.2009

Ostrzeżenie: (0%)
-----


Chcial bym dynamicznie includowac pliki petla(chodzi o to zeby nie trzeba bylo ponownie odpalac skryptu przy zmienie jednej funkcji z includowanym pliku), PHP pluje sie ze nie mozna ponownie zadeklarowac funkcji. Wiem o tym ze mozna wykonywac evalem albo uzywac do tego "php -r" ale dla mnie to ostatecznosc. Prosze o pomoc.

Przykład:
  1. <?php
  2. while(1) {
  3.   include('plik.php');
  4.   ft();
  5. }
  6. ?>


Plik "plik.php":
  1. <?php
  2. function ft() {
  3.   echo "test";
  4. }
  5. ?>


Ten post edytował tracerout 2.07.2009, 14:06:46
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
tracerout
post
Post #2





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 2.07.2009

Ostrzeżenie: (0%)
-----


Hmm.. sproboje jasniej:

Powiedzmy ze mam dwa pliki: start.php i inc.php.
Zawartosc start.php to:
  1. <?php
  2. while(1) {
  3.   include('inc.php');
  4.   jakas_funkcja();
  5. }
  6. ?>

Zawartosc inc.php to:
  1. <?php
  2. function jakas_funkcja() {
  3.   echo "Jakis text";
  4.   //inne instrukcje
  5. }
  6. ?>


PHP zglosi:
  1. <?php
  2. Fatal error: Cannot redeclare jakas_funkcja() ...
  3. ?>


Po co mi to? Zebym nie musial odpalac ciagle pliku start.php jesli chce zmienic cos tylko w funkcjach z inc.php.
Jesli w start.php include bylo by tylko przed while to po nim bedzie juz dostepna "jakas_funkcja()" i zwroci jako wynik "Jakis text", jesli w pliku inc.php zamienie "Jakis text" na "Jakis string" to petla nadal bedzie wyswietlala "Jakis text" dlatego chce includowac w petli zebym nie musial ciagle odpalac "start.php". Wszystko bylo by proste gdyby nie fakt ze nieda sie(przynajmniej tak mi sie wydaje) zniszczyc funkcji.

Juz prosciej nie potrafie tego napisac.
Go to the top of the page
+Quote Post

Posty w temacie
- tracerout   [php] Dynamiczne includowanie   2.07.2009, 14:02:34
- - wookieb   A może przykład?   2.07.2009, 14:03:20
- - kipero   A nie wystarczy: [PHP] pobierz, plaintext <?php...   2.07.2009, 14:12:09
- - tracerout   Widzisz temat? Wyraznie wpisalem "DYNAMICZNE ...   2.07.2009, 14:16:23
|- - pyro   Cytat(tracerout @ 2.07.2009, 15:16:23...   2.07.2009, 14:17:30
- - erix   CytatPHP pluje sie ze nie mozna ponownie zadeklaro...   2.07.2009, 14:25:21
- - batman   function_exists" title="Zobacz w manualu PHP" targ...   2.07.2009, 14:30:29
- - tracerout   Hmm.. sproboje jasniej: Powiedzmy ze mam dwa plik...   2.07.2009, 14:39:33
- - wookieb   Dlatego jest function exists Kodif(!functi...   2.07.2009, 14:41:51
- - batman   ~tracerout sprawdź podane przeze mnie funkcje. Pow...   2.07.2009, 14:45:15
- - tracerout   KLIK <-- Prosze bardzo, oto jeden z przykladow,...   2.07.2009, 14:55:43
- - batman   Czwarty raz piszę - sprawdź podane przeze mnie fun...   2.07.2009, 15:03:40
- - tracerout   function_exists - sprawdza czy dana funkcja juz is...   2.07.2009, 15:22:42
- - erix   Powiedz, co w praktyce chcesz osiągnąć.   2.07.2009, 15:31:33
- - tracerout   Konkretnie potrzebuje sobie ulatwic tworzenie pewn...   2.07.2009, 15:52:42
- - phpion   A nie możesz na tym samym serwerze utworzyć kopię ...   2.07.2009, 15:58:10
- - tracerout   W tym problem ze nie moge. Gdyby to bylo tak prost...   2.07.2009, 16:00:05
- - erix   No wreszcie wiadomo, o co chodzi. Najlepszy by...   2.07.2009, 16:25:54
- - tracerout   Chyba jednak bede zmuszony uzyc watkow, nie moge m...   2.07.2009, 16:34:44
- - erix   A czemu nie zrobisz pośredniego wywołania do jakie...   2.07.2009, 16:42:07
- - batman   PHP nie był stworzony do takich rzeczy. Ale jest n...   2.07.2009, 17:21:42
- - kipero   Cytat(tracerout @ 2.07.2009, 15:16:23...   2.07.2009, 17:50:38
- - erix   Ale APD jest na mało którym serwerze...   2.07.2009, 19:07:07


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 21:35