Witam!
Chcę stworzyć własną stronkę, trochę może podobną (nie w tematyce, ale budowie) do 4programmers przed zmianą (forum zintegrowane ze stroną), ale nie taką samą (2 panele boczne, nie jeden, rózne dodatkowe działy w rodzaju "zdjęcia"). Wszytko ma być oparte na bazie danych MySQL, tzn: działy, artykuły, forum itp., i ma istnieć możliwość dodawania/edytowania artykułów.
I mam takie pytanko:
Jakim sposobem pisać kod (oczywiście php)? Czy wszystko oprzeć na obiektowości (jedna strona jest obiektem, której atrybutami są ilość, nazwy działów, treść, a niektóre strony dziedziczą i trochę zmieniają, tzn. np. jakieś dodatkowe menu), czy może pisać wszytko w czystym xhtml ze wstawkiami php np. include (ale wiem z doświadczenia że po jakimś czasie kod staje się trudny do opanowania), czy może oprzeć to template'ach - tyle że jeszcze nigdy ich nie stosowałem...</url>
Ja osobiście nie wyobrażam sobie pisania czegokolwiek bez stosowania szablonów. Używam starej klasy Template z Coyote i dziękuję bardzo jej za możliwość rozdzielenia warstwy kodu PHP i warstwy prezentacji (a właściwie opisu danych, bo prezentacją zajmuje się CSS).
Jeżeli masz "all in one", czyli kod PHP przemieszany z kodem XHTML to przede wszystkim cięzko jest potem zmieniać wygląd strony (chyba, że wszystko jest oparte tak o CSS, że tylko zmiana arkusza styli zmienia wszystko ;)). A po drugie jest to nieczytelne i trudne do wprowadzania poprawek.
no właśnie, tylko czy mógłby ktoś polecić mi jakąś stronke, albo książkę o szablonach?
Chyba że jest to dość proste..., ale po ściągnęciu coyote wszytko to jest (przynajmniej tak się wydaje na pierwszy rzut oka) troche porozrzucane po plikach...
A dokładniej chodziłoby mi o tą całą klasę template
Ze znanych systemów szablonowych mogę ci polecić Smarty (http://smarty.php.net) są proste w użyciu, posiadają szereg ciekawych możliwości i są dość proste w obsłudze.
Jakim sposobem pisać kod (oczywiście php)? Czy wszystko oprzeć na obiektowości (jedna strona jest obiektem, której atrybutami są ilość, nazwy działów, treść, a niektóre strony dziedziczą i trochę zmieniają, tzn. np. jakieś dodatkowe menu), czy może pisać wszytko w czystym xhtml ze wstawkiami php np. include (ale wiem z doświadczenia że po jakimś czasie kod staje się trudny do opanowania), czy może oprzeć to template'ach - tyle że jeszcze nigdy ich nie stosowałem...
Zapoznaj się szablonami (pomocne w oddzielaniu warstwy html od php). Przyda ci się na przyszłość. Co do wstawek (html/xhtml) to stosuj je z rozwagą.
Z jednej strony kod się staje mniej czytelny i trudny do modyfikacji/rozbudowy ale czasami nie da się tego uniknąć (patrz Cms-y, Sklepy).
Sztuką jest ułożenie tego w jakiejś hierarchii tak aby kod był czytelny ale i funkcjonalny.
Cóż - praktyka jest najważniejsza. Może po trzecim Cms-ie będziesz miał konkretny pogląd na proces ich tworzenia :>
Pozdrawiam
//Do postu niżej:
Zarówno tak jak i nie.
Powody na tak :
-zdobywasz doświadczenie związane z programowaniem php i rozwiązywaniem problemów
-zawsze możesz go użyć w swoich projektach i być niezależnym od kodu źródłowego obcych ludzi (ich błędy nie będą twoimi [tak przynajmniej powinno być]
-nie będziesz z utęsknieniem czekał na kolejny release który za cenę poprawy błędów będzie wymagał poprawek we wszystkich poprzednich projektach.
Powody na nie :
- Czas. Wyważanie otwartych drzwi jest czasochłonne a i efekty marne. Chyba że jesteś genialnym programistą który potrafi pokonać kod stworzony przez całe społeczeństwo związane z danym projektem szablonów) .
- Stworzenie uniwersalnego rozwiązania jest trudne. Zazwyczaj musiałbyś dokonywać większych/mniejszych zmian w systemie szablonów aby spełniał twoje potrzeby - tracisz na to czas, opóźniasz czas wykonania projektu.
- "Wykorzystuj właściwe narzędzie do właściwego celu"
Konkluzja : Dla małego projektu, własny spersonalizowany system szablonów jest wręcz idealnym rozwiązaniem. Myśląc o czymś większym musiałbyś się zastanowić czy coś już gotowego nie zaspokoi twoich potrzeb.
Oczywiście wszystko zależy od sytuacji w której aktualnie się znajdujesz :)
W zasadzie to chciałbym stworzyć własny...
Opłaca się to?
EDIT: No to będe tworzył własny, bo nie śpieszy mi się za bardzo. Ale trochę pozaglądam, jak to inni wymyślili ;)
Projekt jest mój własny, żaden termin nie jest wymagany, a stworzenie własnego systemu i ewentualne dostosowywanie go do innych projektów wydaje mi się dobrym pomysłem, bo bedę go znał dokładnie. No i jakieś doświadczenie nabęde :).
wojtek_dodo napisał(a)
W zasadzie to chciałbym stworzyć własny...
Opłaca się to?
nie opłaca się - stracisz czas -> czas to pieniądz -> stracisz na tym dużo kasy
ale uczenie się co i jak w gotowym systemie teraz czasu kosztuje troszkę i nie nabierasz przy tym doświadczenia
róbtra co chceta (ja bym tworzył własny ;))
Ja kiedyś stworzyłem własny system szablonów. Dość oryginalny szczerze mówiąc, genialny w swej prostocie i mieszczący się na trzech ekranach kodu (zakładając rozdzielczość 1600x1200, NotatnikSP z czcionką pewnie coś ca 12pt). Użyłem go w kilku projektach, po czym przerzuciłem się na XSLT :)
Co do tworzenia własnych... Odpowiem dwoma cytatami z pewnej dyskusji:
Nie warto pisać nowego systemu szablonów. Pracodawca przy zatrudnianiu będzie wymagał znajomości tego, czego się używa na świecie, a nie osiągnięć sportowych.
"Równie kiepskim pomysłem, jak wypluwanie kodu HTML bezpośrednio przez kontroler, jest pisanie własnego silnika szablonowego."
Ale to taka dygresja ;)
Sam zabieram się za Smarty, które będzie miejmy nadzieję użyte w nadchodzącym projekcie.
Mimo wszystko ktoś te szablony jednak pisze ;) .
A ja nie będę wymyśał koła na nowo, bo będe korzystał że źródeł innych szablonów, tyle że dostosuje je trochę do siebie.
Ktos: Pisanie od nowa "tetrisa" też nie ma sensu. Bo przecież są tysiące takich gier. Ale mimo to każdy kurs dla początkujących programistów gier proponuje rozpoczęcie swej kariery właśnie od tetrisa - zasady są dla każdego oczywiste, a poznaje się multum ważnych w późniejszym procesie tworzenia gier procesów i zasad. To samo dotyczy własnego systemu szablonów - nie będzie najlepszy, będzie jednym z setek różnych, ale sporo się nauczysz, jak taki stworzysz.
Jeśli chodzi o Smarty - jego znajomość jest wymaganiem w wielu ofertach pracy dla webdeveloperów, jednak faktem jest, że jest takim samym systemem jak każdy inny - mam nadzieję, że XSLT wyprze go z czasem z rynku, bo po pierwsze jest ustandaryzowany, a po drugie w PHP5 na poziomie języka jest wsparcie dla niego, co spowoduje, że będzie o niebo szybszy od wszelkich systemów szablonów napisanych w PHP.