Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Organizacja strony, drzewa, propozycje
Asmox
post 27.09.2010, 17:54:01
Post #1





Grupa: Zarejestrowani
Postów: 359
Pomógł: 12
Dołączył: 16.01.2009

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


Mam problem z organizacją przy tworzeniu strony. Chciałbym aby było możliwe dowolne zagnieżdżanie stron, artykułów i linków. Niestety nie wiem za bardzo jak to zrobić. I trochę mnie to zniechęca to takiego typu praktyk. Dodatkowo demotywuje toporna wręcz organizacja drzewa w SQLu (słyszałem o ltree). Chociaż trzeba przyznać, że to pikuś w porównaniu do złożenia tabeli SQL w wielowymiarową tablicę w PHP. Cała masa porad które są nieprzydatne, tworzenie jak największej ilości klas zupełnie nie potrzebnych... Ludzie po co to!? Niech nawet będzie to wszystko strukturalnie. Ja po prostu chcę mieć tabelę drzewa zamienioną na listę w HTMLu i tyle.
Co do organizacji ogólnej to na pewno chciałbym mieć coś takiego żeby do ww artykułów i linków można było tworzyć podkategorie bez ograniczeń i żeby można to było łatwo wyświetlić na stronce. Zadanie z pozoru proste a zabiło mi niezłego klina.


--------------------
Go to the top of the page
+Quote Post
Fluke
post 27.09.2010, 23:01:51
Post #2





Grupa: Zarejestrowani
Postów: 247
Pomógł: 9
Dołączył: 20.09.2010
Skąd: Kraków

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


To jak chcesz tak to stwórz plik function.php i tam dodawaj funkcje które ci będą potrzebne a w index.php dasz switch w zależności od podstrony i będziesz dodawał funkcje do odpowiednich działów.

Jak zaczniesz dłużej siedzieć nad php to zobaczysz sam że będziesz potrzebował nowych możliwości. Ja zaczynałem od wyżej wymienionej techniki lecz szybko stwierdziłem że trzeba coś zoptymalizować i poprawić.

Powodzenia Ci życzę bez używania klas, ja się dopiero ich uczę a już widzę jak się przydają ale jak na razie jestem bardzo słabo obeznany z tym tematem.

Pozdrawiam.
Go to the top of the page
+Quote Post
lukaskolista
post 28.09.2010, 08:56:17
Post #3





Grupa: Zarejestrowani
Postów: 872
Pomógł: 94
Dołączył: 31.03.2010

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


co do drzew w bazie danych - model nested set
co Ci klasy przeszkadzaja? Same w sobie sa bardzo pozyteczne
Go to the top of the page
+Quote Post
Asmox
post 28.09.2010, 17:16:00
Post #4





Grupa: Zarejestrowani
Postów: 359
Pomógł: 12
Dołączył: 16.01.2009

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


Oczywiście rozumiem klasy oraz ich pożyteczność, ale zastanawiam się, czy trzeba koniecznie tworzyć klasę od drzewka. Może lepiej dodać metodę do widoku / kontrolera? Nie chodziło mi o functions.php. Pewnie będzie trzeba dokładniej poczytać o frameworkach, chociaż obiecałem sobie, że jedną muszę zrobić w oparciu tylko i wyłącznie o własny kod.
Co do nested set - masz jakiś generator czy sam wszystko robisz? Generator odnośnie tworzenia gałęzi z left i right

Ten post edytował Asmox 28.09.2010, 17:16:48


--------------------
Go to the top of the page
+Quote Post
lukaskolista
post 28.09.2010, 19:01:43
Post #5





Grupa: Zarejestrowani
Postów: 872
Pomógł: 94
Dołączył: 31.03.2010

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


nie mam, ale jest tego masa w necie
Go to the top of the page
+Quote Post
Fluke
post 29.09.2010, 14:55:15
Post #6





Grupa: Zarejestrowani
Postów: 247
Pomógł: 9
Dołączył: 20.09.2010
Skąd: Kraków

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


A do tego wątku się jeszcze podepnę.

Mianowicie jak robicie stronę i macie tak jak w CMS że na samym początku użytkownik musi się zalogować to jak to robicie.

Macie index.php i w nim sprawdzacie czy nadana jest sesja np:
  1.  
  2. if( ($_SESSION["LOGIN"] == true) )
  3. include(main.php);
  4. else
  5. include(login.php);


czy inaczej, a tak:

  1. if($_SESSION["LOGIN"] == true)
  2. przekierowanie np: na (login.php);
  3. else
  4. przekierowanie np: na (main.php);


Zastanawiam się jak jest robić naj lepiej, obecnie korzystam z tej 1 metody ale może macie jakieś inne propozycje.
Jak widziałem na wordpressie to tam jak nie jesteś zalogowany to w adresie masz .../wp-login?blablabla...

Pytam bo zastanawiam się czy robić w ten sposób że jak ktoś kliknie w dany link to przechodzi do innego pliku *.php i adres był by: http://moja_strona.pl/login.php czy zrobić w ten sposób żeby było http://moja_strona.pl/index.php?opcja=logowanie

Tu chyba właśnie chodzi o organizację strony i wydaje mi się że jest to bardzo ważne bo jaką metodę wybierzesz tak będziesz musiał tworzyć skrypty.

Pozdrawiam.
Go to the top of the page
+Quote Post
Asmox
post 29.09.2010, 16:19:20
Post #7





Grupa: Zarejestrowani
Postów: 359
Pomógł: 12
Dołączył: 16.01.2009

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


Ja ten temat stworzyłem, aby dowiedzieć się jak stworzyć jakąś logiczną strukturę, a nie jak kod pisać...
Nie mniej jednak to, jak tworzysz link ma znaczenie jedynie dla przeglądarek, oraz niektórych ludzi. Istotą jest mechanizm sesji, który sobie zrobisz. Osobiście nie bawiłem się sesjami zbyt poważnie, ale jeśli poziom bezpieczeństwa musi być bardzo wysoki, to na Twoim miejscu zainteresowałbym się obiektowym podejściem + bazy danych do trzymania kluczy sesyjnych.
P.S: Byłbym rad, gdyby jakiś mod wyciął mój post oraz ten Fluke'a, bo to trochę nie ma wspólnego z moim tematem


--------------------
Go to the top of the page
+Quote Post
Fluke
post 29.09.2010, 16:28:27
Post #8





Grupa: Zarejestrowani
Postów: 247
Pomógł: 9
Dołączył: 20.09.2010
Skąd: Kraków

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


Cytat(Asmox @ 29.09.2010, 17:19:20 ) *
Ja ten temat stworzyłem, aby dowiedzieć się jak stworzyć jakąś logiczną strukturę, a nie jak kod pisać...

Uważam że to ma baaardzo duże znaczenie zwałaszcza jeśli chodzi o logiczną strukturę
Cytat(Asmox)
Chciałbym aby było możliwe dowolne zagnieżdżanie stron, artykułów i linków

A jak to zrobisz, jak nie nie wiesz jak masz mieć nawigację ustawioną?
Go to the top of the page
+Quote Post
lukaskolista
post 29.09.2010, 16:32:09
Post #9





Grupa: Zarejestrowani
Postów: 872
Pomógł: 94
Dołączył: 31.03.2010

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


  1. 1.
  2. 2.
  3.  
  4. 3.
  5. if( ($_SESSION["LOGIN"] == true) )
  6. 4.
  7. include(main.php);
  8. 5.
  9. else
  10. 6.
  11. include(login.php);

Fluke wstaw przed session_start(); linijke
error_reporting(E_ALL);
i zobacz jakie bledy wywala dla niezalogowanego uzytkownika, bo na 100% wywali, poza tym $_SESSION["LOGIN"] === true (3x =)



co do tematu:
robisz jakis szablon strony w htmlu i w miejscu contentu (tresci, ktora bedzie sie zmieniala) wczytujesz odpowiednie pliki lub umieszczasz tam zmienna i przypisujesz jej odpowiednie wartosci, ktore beda trescia strony. Informacje jakie dane wczytac w to miejsce wysylasz w adresie ?page=sport
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 13.06.2025 - 04:22