Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CodeIgniter]struktura mojej aplikacji
Forum PHP.pl > Forum > PHP > Frameworki
AniaR
Zrobilam tak jak mi doradziliscie.. Wybralam frameworka CodeIgniter opartego na MVC i na podstawie tutorialu na ich stronie domowej (http://codeigniter.com/tutorials/) zaczelam przerabiac moj panel admina.

teraz struktura wyglada tak:
1. do foldera views wrzocilam wszystkie moje pliki ktore utworzylam wczesniej.
2. Poprzenosilam z nich kod odpowiedzialny za komunikacje z baza do jednego glonego kontrolera ktory stworzylam w katalogu controllers.

Co mi to dalo:
1. mam ladnie wygladajace adresy URL http://localhost:8888/ci/main/o_komenda/1/struktury/armia zamiast tych wszytskich zmiennych za znakiem zapytania
2. wyczyscil mi sie kod na podstronach bo nie musze pilnowac polaczenia z baza no i wiecznego sprawdzania tych zmienych $_GET. Wszystkie zapytania do bazy teraz sa w kontrolerze.

Jednak i tak wiem ze dobrze tego nie zaprojektowalam..
1. Wciaz inkluduje dziesiatki plikow w zaleznosci od tego co jest w adresie.. Bo jaki moze byc inny sposob aby wyglad strony (menu, tlo) zrobic tylko raz, a odpowiednie formularze wczytywac do jednego miejsca ktore sie wlasnie dynamicznie zmienia?? Chyba tak czy siak to trzeba includowac..

2. Druga rzecz ktora mnie bardzo niepokoi to to ze ten kontroler ciagle sie wydluza i wydluza. Juz ma ponad 1000 linijek a to dopiero poczatek..

3. No i trzeca najwazeneijsza rzecz to to ze nie uzywam trzeciego elementu MVC czyli MODELU. Bo uzywam tylko V i C. Nie mam pojecia jak go moge uzyc w swojej aplikacji. Naprawde szukalam i czytalam ale nie potrafie tego jakos zwiazac w calosc. Wiekszosc przykladow jest na PHP5 obiektowym a CI bazuje na PHP4..

Moze ktos mi powie jak uzyc w ponizszym przykladzie trzeciego elemntu MODEL, chyba ze poprostu nie ma potrzeby go uzywac jak sie pisze w php4..

W kontrolerze funkcja:
function login()
{
if (count($_POST) > 0 && isset($_POST['login']) && isset($_POST['password']))
{
$data['login'] = $_POST['login'];
$data['password'] = $_POST['password'];

$data['tak']= "tak";
$this->db->where('login' , $_POST['login']);
$this->db->where('password' , $_POST['password']);
$this->db->where('rola' , 'A');
$data['query'] = $this->db->get('uzytkownik');
$this->load->view("login" , $data);
}
else
{
$data['tak']= "";
$this->load->view("login" , $data);
}
}

W views/login.php mam:
  1. <?= form_open('ak/login') ?>
  2. <table border="0" align="center" width="250">
  3. <tr align="left">
  4. <td>
  5. <div align="right"><a>L:</a></div>
  6. </td>
  7. <td>
  8. <input type="text" name="login" maxlength="40" size="15">
  9. </td>
  10. </tr>
  11. <tr align="left">
  12. <td valign="top">
  13. <div align="right"><a>H:</a> </div>
  14. </td>
  15. <td>
  16. <input type="password" name="password" maxlength="40" size="15"><br>
  17. <input type="submit" value="zaloguj" >
  18. </td>
  19. </tr>
  20. </form>


no i kod ktory sparwdza moze zalogowac tez w pliku views.login.php

if(strlen($tak) > 0 ):
if($query->num_rows() > 0):


$_SESSION['username'] = $login;
$_SESSION['password'] = $password;
$_SESSION['role'] = "admin";


redirect("");

else :

print "Niezgodność loginu z hasłem.";

endif;
endif;


I to cale logowanie. jak zaputanie w kontrolerze zwroci jakies rekordy to przekierowuje do strony glownej i ustawia zmienne sesyjne.

I jak mam to podzielic aby uzyc jeszcze MODELU czy moze wcale nie powinnam go uzywac??

Prosze o jakies podpowiedzi..
nrm
Cholera kto Ci tak doradził, przeoczyłem jeden wątek i już ktoś poczynił takie szkody winksmiley.jpg
AniaR
Ale co mi doradzil? Wybor frameworka CI??
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.