Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [phined] problem z uruchmieniem przykladowego plik
Forum PHP.pl > Forum > PHP > Pro > Archiwum Pro
squid
Mam problem z uruchomieniem pliku bootstrap.php
otrzymuje nastepujacy komunikat:
Cytat
Fatal error: Undefined class name 'log' in sciezka\phiend\log-drivers\PearLogDriver.class.php on line 29


co robie nie tak? ten plik wzielem wprost z dystrybucji phiend'a wiec powinno smigac
bregovic
A masz zainstalowany PEAR::Log? Bo Phiend standardowo uzywa do logowania klassy PEAR - aby to zmienic wejdz do swojego phiend-config.xml i znajdz:
  1. <log-drivers>
  2.    <log-driver>
  3.        <name>PearLogDriver</name>
  4.        <param name="type">file</param>
  5.        <param name="name">phiend.log</param>
  6.    </log-driver>
  7. </log-drivers>

I zamien na:
  1. <log-drivers>
  2.    <log-driver>
  3.        <name>TxtLogDriver</name>
  4.        <param name="type">file</param>
  5.        <param name="name">phiend.log</param>
  6.    </log-driver>
  7. </log-drivers>
squid
Cytat(bregovic @ 2004-10-03 17:13:48)
A masz zainstalowany PEAR::Log? Bo Phiend standardowo uzywa do logowania klassy PEAR - aby to zmienic wejdz do swojego phiend-config.xml i znajdz:
  1. <log-drivers>
  2.    <log-driver>
  3.        <name>PearLogDriver</name>
  4.        <param name="type">file</param>
  5.        <param name="name">phiend.log</param>
  6.    </log-driver>
  7. </log-drivers>

I zamien na:
  1. <log-drivers>
  2.    <log-driver>
  3.        <name>TxtLogDriver</name>
  4.        <param name="type">file</param>
  5.        <param name="name">phiend.log</param>
  6.    </log-driver>
  7. </log-drivers>

Bardzo ciekawe bo moja dystrybucja nie miala czegos takiego jak TxtLogDriver ale w innej bylo.

Teraz mam cos takiego:

Cytat
Error: Cannot read class for action Home in ActionController.class.php on line 210

Error: Action Home failed and no fallback given in ActionController.class.php on line 157


ale to chyba jest ok bo nie modyfikowalem pliku, musialbym chyba zrobic jakies akcje, mam racje??
bregovic
Odpowiadasz sam sobie winksmiley.jpg
Polecam lekture manuala, ktorego mozna zreszta sciagnac - jest tam wszytsko krok po kroczku opisane - a jak ci bakuje pomyslu - to looknij na 'tour of Phiend' na stronie projektu - mozna zobaczyc kod akcji uzytych do wyswietlenia strony...
hawk
1) TxtLogDriver pojawił się dopiero od którejś tam dystrybucji phienda, bo PEAR Log przestał mi się podobać. Więc jeżeli masz wczesną wersję, nie będzie go.

Poza tym:
- TxtLogDriver nie potrzebuje parametru "type", bo i tak zapisuje zawsze do pliku\
- nie pamiętam teraz z głowy, czy TxtLogDriver chciał mieć parametr "file" w postaci krótkiej nazwy pliku (i doklejał LOG_DIR), czy pełnej ścieżki - musiałbyś sprawdzić w dokumentacji lub kodzie drivera.

2) Komunikat o akcji "Home" istotnie pojawia się, bo wziąłeś przykładowy plik z konfigiem, a akcji nie masz. "Home" to była chyba akcja, która uruchamiała się, jak nic innego nie pasowało, ale to można zmienić w konfigu. W każdym razie kontroler musi zawsze wybrać jakąś akcję. Możesz albo zrobić sobie tą akcję, albo zmienić w konfigu na jakąś inną (którą też musisz zrobić).
squid
Cytat(bregovic @ 2004-10-03 22:30:04)
Polecam lekture manuala, ktorego mozna zreszta sciagnac - jest tam wszytsko krok po kroczku opisane

manuala przeczytalem zanim zadalem jakiekolwiek pytanie (zarowno wersje ang jaki i pol).

Teraz na koncu konfiga mam tak:
  1. <action>
  2.                  <name>widok1</name>
  3.                  <inherit-from>widok1</inherit-from>
  4.                  <action-config/>
  5.                  <matches>
  6.                        <always/>
  7.                  </matches>
  8.            </action>

utworzylem katalog actions, a w nim widok1.class.php
i dostaje komunikat:
Cytat
Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of xml_set_object(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in D:\htdocs\phiend\ConfigParser.class.php on line 66

Error: Unknown base action "widok1" in phiend-config.xml on line 79


Pierwsza czesc komunikatu to chyba nie zalezy od akcji ale ta druga to tak, co robie nie poprawnie?
hawk
Zrobiłeś masło maślane. Zrobiłeś akcję, która ma dziedziczyć swoją konfigurację od siebie samej. Więc dostajesz komunikat, że parser nie może znaleźć akcji bazowej do dziedziczenia konfigu, i nie da się sparsować pliku z konfigiem.
squid
jesli dobrze zrozumialem to kazda klasa-akcja musi dziedziczyc po klasie action, czyli :
  1. <?php
  2. class widok1 extends Action
  3. ?>

ale dostaje komunikat:
Cytat
Fatal error: Class widok1: Cannot inherit from undefined class action in phiend\example-files\actions\widok1.class.php on line 4


cos chyba zel zrozumialem, oswieccie mnie

Bylbym wdzieczny za przyklad akcji widoku wraz z konfiguracja, przydalaby sie tez poprzedzajaca akcja logiczna ale to nie konieczne, do tego juz sam moge dojsc.
bregovic
Hmm... A popatrzyles na przykladowa akcje w dystrybucji phienda? Chyba nie, bo wiedzialbys ze musisz zainkludowac BaseAction.class.php...
  1. <?php
  2. require_once CODE_DIR . 'actions/BaseAction.class.php';
  3. ?>

Jesli bedziesz mial wiecej problemow z phiendem, yo naprawde polecam wizyte na stronie phienda na sourceforge, i obejzenie tour of phiend a dokladnie przyjzenie sie akcjom z ktorych zbudowana jest strona. Mozna sie z tego nauczyc bardzo wiele o phiendzie.
squid
no teraz juz wiem sam do tego doszedlem ze sa tam przyklady (choc niezbyt jasne i czytelne) i to mi jest bardzo potrzebne bo dokumentacja niby jest a jednak nic mi nie mowi, jak sie uczylem smarty to tylko z manuala bo tam byly przyklady. dokumentacja to powazny mankament Phienda ale mimo wszystko zapowiada sie smacznie smile.gif
bregovic
Ja bym powiedzial inaczej: Dokumentacja to mocna strona phienda, ztymze nie jest ona kompatybilna z poczatkujacymi. Ten framework jest znacznie lepiej udokumentowany od np mojavi, ale nie ma zadnego tutoriala, czy czegos w tym stylu... pozaatym wyglada na to ze autor opusicl projekt, i cichaczem pracuje nad v2, nikomu o tym nie mowiac (za glosno ;])...
hawk
Jest też inny powód: autor nie ma za bardzo czasu siedzieć nad projektem, bo oprócz tego musi za coś żyć... I tak to się wlecze. Podziwiam ludzi którzy przez lata pracują nad jakiś open-sourcowym projektem, odpowiadają na pytania, nie mówiąc o wypuszczaniu kolejnych releasów.
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.