![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 1 Dołączył: 9.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Pracuję w PHP od ponad roku i dopiero niedawno ujrzałem potrzebę dzielenia kodu na części, aby był bardziej zrozumiały. Mój problem polega na tym, że potrzebuję wykorzystywać bardzo duże partie kodu PHP w layoucie strony, wykonanej w HTML. Moja witryna składa się z ogromnych ilości plików( każdy plik jest osobną aplikacją do czegoś), tak jak blog jest właśnie includowany do istniejącej strony. Kawałek pliku blog.php:
Jak widać, layout jest zbudowany z tabelki, a w poszczególne komórki wstawiam funkcje, które są napisane poniżej tabelki. Problem w tym, że funkcje są mało relatywne z sobą... Wykonują tylko jakąś czynność, a nie mogą ze sobą współgrać. Pytanie: W jaki sposób mógłbym zawrzeć kod PHP w bloku i wywoływać go w określonym miejscu, tak, aby wszystkie zmienne ze sobą współgrały. Innymi słowy chodzi mi o coś, w stylu "include", ale nie z pliku, tylko z tej samej partii kodu. -- kod 1 -- blah blah blach... duuużo kodu -- / kod 1 -- Jakiś HTML > -- wstaw kod 1 -- Jakiś HTML > |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 821 Pomógł: 111 Dołączył: 11.09.2006 Skąd: Biała Podlaska Ostrzeżenie: (0%) ![]() ![]() |
Proponowałbym Ci zaprzyjaźnić się z systemem szablonów lub od razu całym frameworkiem. Na początku troszeczkę topornie ta wiedza wchodzi (przynajmniej tak było w moim przypadku), ale jak już się załapie, to praca staję się o wiele bardziej przyjemna.
Kod php jest oddzielony od kodu html. -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 61 Pomógł: 1 Dołączył: 23.06.2012 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 1 Dołączył: 9.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Dobra, widzę, że chyba się nie zrozumieliśmy
![]() Nie mam zamiaru uczyć się na nowo PHP. Napisałem taki oto system bloga:
A teraz stwierdziłem, że wygodniej pracowałoby mi się, gdybym miał poszczególne partie kodu PHP w osobnych sekcjach, ale już nie w plikach, ponieważ mam ich za dużo. Staram się przerobić mój kod na coś w stylu:
Tylko, że tworząc funkcje, tworzone w nich zmienne nie wychodzą an zewnątrz, a nie chcę się bawić w "return" i ładowanie zwróconych argumentów do kolejnych funkcji ( function zjedz_ciastko(jeden,dwa,trzy){} ). Potrzebuję ładnego rozwiązania do umieszczania kodu w obiektach i ładowanie ich w dane miejsce. |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Cytat Nie mam zamiaru uczyć się na nowo PHP. Cytat Potrzebuję ładnego rozwiązania do umieszczania kodu w obiektach i ładowanie ich w dane miejsce. Te 2 zdania nie mogą ze sobą współżyć, przykro mi ![]() Ten post edytował Damonsson 5.02.2013, 23:57:58 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 1 Dołączył: 9.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Tak, wiem, brzmi to jak paradoks, ale nie wiem, w jaki sposób wytłumaczyć Wam, że nie widzę potrzeby oglądania całych poradników o tworzeniu aplikacji w PHP, napotykając tylko jeden, nieestetyczny problem.
Nie wierzę, że nie ma możliwości importowania kodu w inne miejsce, jak tylko korzystając z funkcji include, require, etc. Musi być na to jakiś sposób. |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Możesz stworzyć może jakiś autoloader(słowo klucz do google) itp, ale robienie tego w twoim kodzie, to trochę jak rzeźbienie sam wiesz w czym. Z drugiej strony przepisywać to na obiektowo, to też nie lada wyczyn, dla kogoś kto pisze strukturalnie.
Ten post edytował Damonsson 6.02.2013, 00:13:11 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 1 Dołączył: 9.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Cóż, chyba pozostaje mi includowanie tych kawałków kodu z zewnętrznych plików.
Najwyżej utonę w dużej ilości plików i folderów. Chciałem się od tego ustrzec, ponieważ moim zdaniem ciężko pracuje się na kilkunastu otwartych jednocześnie dokumentach, a mówiąc młodzieżowo: nie ogarniam programowania obiektowego w PHP. Jest dla mnie za trudne, jak na moje zapotrzebowania, co do programowania w tym języku. Dziękuję za wszystkie odpowiedzi i zainteresowanie się tematem. Pozdrawiam! |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 61 Pomógł: 1 Dołączył: 23.06.2012 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Pracuję w PHP od ponad roku i dopiero niedawno ujrzałem potrzebę dzielenia kodu na części, aby był bardziej zrozumiały. 1. myślałem że sie uczysz php na tym przykladzie. kolejnym krokiem byłoby wg mnie obiektowka i własnie mvc. 2. nie mówi się że coś jest za trudne. Nigdy ![]() pzdr ![]() |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 1 Dołączył: 9.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Cytat myślałem że sie uczysz php na tym przykladzie. kolejnym krokiem byłoby wg mnie obiektowka i własnie mvc. Nie, nie, programować potrafię już od dawna, a aplikacja jest napisana przeze mnie w całości, tylko wstyd jest mi się przyznać, że właśnie odpuściłem naukę obiektowego programowania i myślałem, że jest na to jakieś inne, estetyczne rozwiązanie. Coś jak kod zamknięty w kapsułce, którą mogę otworzyć w dowolnym miejscu. Coś jak funkcja "include", ale z wykorzystaniem kodu z tego samego pliku, a nie z zewnątrz. Coś jak skrót, który pozwoli mi na utrzymanie większego porządku w kodzie. Nie chcę mieszać html'a z php w jednej sekcji, jak tutaj: <div> <div>tekst tekst tekst</div> <div> <?php --- BARDZO obszerny kod PHP ?> </div> </div> Wolałbym tak: <div> <div>tekst tekst tekst</div> <div> <?php <- wklej tutaj kod nr. 1 ?> </div> </div> <?php kod nr. 1 { --- BARDZO obszerny kod PHP } ?> |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
Rozdziel kod na wykonywalny (czysty PHP) i statyczny - szablony HTML
np. za pomocą SMARTY
Chociaż i to rozwiązanie ma wiele wad, o których przekonasz się podczas próby edycji czegokolwiek ![]() Ten post edytował CuteOne 6.02.2013, 02:22:58 |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 417 Pomógł: 44 Dołączył: 23.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
ja nie wiem, dlaczego nie chcesz ogarnąć jakiegos FW ? myślę, że powinno to rozwiązać wszystkie twoje problemy z kodem.
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Dual Jack - to jest właśnie ta chwila w której musisz podjąć decyzję, czy uczysz się OOP, czy olewasz PHP i zostajesz z tym co masz bez możliwości rozwoju.
Jak wybierzesz wariant pierwszy, to może skorzystaj z http://ellislab.com/codeigniter jest banalny do zrozumienia. -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 5.06.2025 - 21:31 |