Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]MVC - Czy jest dobrze?
Forum PHP.pl > Forum > Przedszkole
Szymciosek
Witam,
tak jak w temacie, zacząłem zabawę z MVC i pytanie czy to jest lub co zmienić?

https://github.com/Szymciosek/test_repo

Przy okazji testuję github'a.

Pozdrawiam
Szymon.
Evinek
Tak, jest to MVC dlatego, że masz rozdzielone wszystko na trzy warstwy.
Pewnie robisz swój mini framework? Ja Ci mogę polecić abyś przeglądał inne frameworki, a w szczególności polecam spawnframework.com ponieważ jest napisany z przestrzenią nazw, co Ci się przyda, i jest mały, łatwy do nauki. Dodatkowo będziesz musiał stworzyć auto ładowanie klas, ale to wszystko znajdziesz w tamtym frameworku.
Aktualne też pracuje nad własnym frameworkiem, więc jak będziesz chciał pomocy, to pisz na GG(w profilu znajdziesz numer).
Szymciosek
Wszystko fajnie pięknie tylko:

http://spawnframework.com/learn/2

Sam początek i już problemy jakieś:

  1. <?php
  2. namespace Controller;
  3.  
  4. class Home extends \Spawn\Controller
  5. {
  6. public function indexAction()
  7. {
  8. $this->response = 'Hello world!';
  9. }
  10. }
  11.  


URL: http://localhost/spawnframework/home/index --> Nie działa
URL: http://localhost/spawnframework/home/ --> Nie działa

ERROR:
Kod
Not Found

The requested URL /index.php/home was not found on this server.
Evinek
/Bin/Config/router.php
Tam masz ustalone. Na początku masz ustawione tylko dwa statyczne.

Lekcja 3
Szymciosek
http://localhost/spawnframework/home/index/

Kod
Not Found

The requested URL /index.php/home/index/ was not found on this server.


  1. <?php
  2.  
  3. $config['Static'] = array(
  4. 'index' => array(
  5. 'request_uri' => 'home/index/',
  6. )
  7. );
  8.  
  9. $config['Call'] = array();
  10.  
  11. $config['Dynamic'] = array();
  12.  
  13. return $config;
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21. <?php
  22. namespace Controller;
  23.  
  24. class Home extends \Spawn\Controller
  25. {
  26. public function indexAction()
  27. {
  28. $this->response = 'Hello world!';
  29. }
  30. }



Coś chyba powinno się chociaż wyświetlić.
Evinek
$config['Static'] = array(
'index' => array(
'request_uri' => 'home/index/',
)
);

localhost/spawnframework/index - załaduje kontroler Home z akcją Index. Przeczytaj uważnie lekcje 3.
Szymciosek
http://localhost/spawnframework/index

Not found, może to nie tutaj leży problem, a może w jakimś htaccess czy coś?
Evinek
Znalazłem błąd, własnie sprawdziłem u siebie.
W .htaccess zmień:
RewriteBase /
na
RewriteBase /spawnframework/
Szymciosek
Już lepiej, ale nie do końca, bo teraz jedynie co otrzymuję, to 404 Not found, ale ubrany w zieloną ramkę.
Spawnm
zaktualizuj w bin/config/uri.php wartość $config['base']
Szymciosek
No i działa w końcu coś, a przy okazji masz błąd:

http://spawnframework.com/learn/4

Nie SpawnView, a Spawn\View jak niżej, taka literówka.

Dodam jeszcze pytanie do tego tematu:
Jeśli dzielę aplikację na web - czyli to co widoczne normalnie i inna_czesc, która dostępna jest dopiero po zalogowaniu.

Dodam, ze inna_czesc ma działać samodzielnie niezależnie od tego gdzie znajduje się web. To czy zrobić osobny Router dla 2 przypadków, a raczej do jednego Routera dodać osobne reguły?
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.