Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Systemy związane z PHP
Forum PHP.pl > Forum > PHP
pitbull82
Witam

php uczę się już jakoś tak półtora roku. Wielu rzeczy oczywiście nadal nie umiem (do tej pory nie bawiłem się klasami, ale to nie jest pewnie takie trudne smile.gif), za to nie za bardzo wiem co dalej? To znaczy czego się warto uczyć, co by miało związek z php. Oczywiście wiem, że przydałyby się bazy danych i niedługo zamierzam nad tym popracować.

Chodzi mi natomiast o rzeczy typu:

- szablony SMARTY
- PEAR (w ogóle nie wiem co to takiego)

Jeśli Waszym zdaniem są takie rzeczy typu te wymienione wyżej, to prosiłbym o krótkie przedstawienie do czego to służy, nazwę i ewentualnie gdzie można znaleźć dalsze informacje.

Np. ze Smarty nie korzystałem nigdy, niedawno dopiero poczytałem i zrozumiałem ideę szablonów (też nie w 100%) i niedawno dowiedziałem się o Smarty.

Więc chciałbym uniknąć takich "wpadek" na przyszłość i wiedzieć, czym warto się interesować i czego Wy używacie.

Czekam na wypowiedzi i Waszą pomoc.
Pozdrawiam
rogrog
no możesz się pobawić Smarty, MySQLem a kiedy już uznasz że do tego dorosłeś wziąć się za wzorce projektowe takie jak np. popularny na tym forum MVC
pitbull82
A mógłbyś tak w skrócie napisać czym są te wzorce projektowe? Bo ja np. nie mam pojęcia o co chodzi rolleyes.gif
NuLL
MVC narazie proponuje zostawić w spokoju. Najpierw MySQL, potem ADODB i SMARTY. Poszukaj na Sieci - jak się nauczysz tych rzeczy i oczywiście programowanie obiektowego możesz się brać za MVC.

Powodzenia smile.gif
DeyV
Cytat
do tej pory nie bawiłem się klasami, ale to nie jest pewnie takie trudne

Fakt - pisanie za pomocą klas nie jest trudne.
Ale takie "rozkochanie" się w klasach, by pierwszą rzeczą w każdym zaczynanym pliku php było słowo class - to już jest nieco trudniejsze.
Tym bardziej, że by dobrze programować - konieczne jest poznaine wspomnianych już wyżej popularnych wzorców - ( www.phppatterns.com ) co nagle pozwala na całkwicie inne spojrzenie na kod.
Konieczne jest również zaprzyjażnienie się z jakimś systemem szablonów - nie koniecznie smarty (choć ten jest jednym z lepszych) ale szablony są konieczne.
Warstwa do połączenia się z bazą - typu ADoDb - to konieczne akurat nie jest, ale bardzo ułatwia życie, i przyspiesza prace.

A przede wszystim - trzeba pisać, podejmować sie nowych wyzwań, tworzyć. To daje najwięcej...
gruszek_
po 1. ja wlacwie calkowicie utozsamiam sie z pierwszym postem pitbulla

po 2. prosilbym o jakies ogolne wyjasnienie co to jest ten PEAR (nie tylko przetlumaczenie skrotu;) )

po 3. prosilbym takze o ogolne wyjasnienie ADODB

do punktow 2 i 3 mile widziane konkretne linki (w sensie ze tuorial jak ktos akurat zna przystepny....itp)

klasy:
Cytat
"rozkochanie" się w klasach
mniej wiecej wiem co to sa i jak uzywac ale tylko podstawy i o dziwo na moim poziomie okazalo sie ze duzo prosciej jest kod podzielic na funkcje a nie klasy. nawet kod dodawania obrazka do bazy mysql z tutoriala przerobilem z klas na funkcje zeby mi zaczal dzialac tak jak chce winksmiley.jpg
czy mozecie w kilku zdaniach wyjasnic mi czemu tak jest? co mam zle poprzestawiane w mojej filozofii ze nie lubie klas? winksmiley.jpg wiem (nie z doswiadczenia) ze programowanie obiektowe jest bardziej elastyczne (czy jak by to nazwac) ale w moim przypadku sie nie sprawdzilo ;P bardzo prosilbym o sposob nawrocenia mnie na "obiektowa wiare" winksmiley.jpg

-----------edit

wlasnie po to zarejestrowalem sie na tym forum zeby w php robic cos wiecej niz funkcje funkcje i funkcje [ i print winksmiley.jpg ] i zeby moj poziom sie jakos podnosil winksmiley.jpg
sf
Hm, próbowałem przeinaczyć swoją filozofię pisania na obiektówkę, ale nie wyszło winksmiley.jpg Dlaczego? Bo tak naprawdę zalezy OO, które często są wymieniane u mnie się nie sprawdzają - potrafie sobie poradzić doskonale bez nich, a skoro potrafie to po co na siłę wdrażać OO ;> Jak kiedyś się będzie więcej nudzić można znów spróbować sięgnąć do obiektówki smile.gif
carman
PEAR - jest to zestaw klas w paczkach (pakiety), z ktorych mozna swobodnie korzystac, aby nie wywarzac drzwi juz otwartych na oscierz.proponuje wejsc na www.pear.php.net i poczytac sobie pierwsza strone. na poczatek proponowalbym zaczac korzystac z klasy DB i DB_DataObject(oczywiscie, jesli chcesz korzystac z bazy).

SMARTY - system szablonow (wedlug 99.9 % ludzi uwazany za najbardziej dopracowany), cholernie pomocny w oddzieleniu kodu php od (X)HTML'a, nie wyobrazam sobie programowac pod www bez tego.

php MVC - model view controler - idea zapozyczona z projektu jakarta'y struts (tych od JAVA'Y). oddzielenie logiki biznesowej od przeplywu danych i projektu wizualnego.

w tych trzech przypadkach konieczna jest wiedza na temat OOP (programowania obiektowego).

proponuje posiedziec nad SMARTYM, pozniej PEAR'EM, a MVC sobie na razie odpuscic.

osobiscie nie mam zaufania do kontrolerow MVC, przede wszystkim caly czas sa problemy z kompatybilnoscia z PHP5, poza tym czesto podczas projektu wychodza kruczki typu, przerost formy nad trescia (niektorzy nie rozumieja, ze MVC nie nalezy stosowac przy malych projektach ze wzgledu na performance).

ales.
pozdrawiam.
dasko
Można się jeszcze zacząć bawić php-GTK.
xarr
Do bazy usiadz musowo. Naucz sie projektowania, optymalizacji bazy np: MySQL. Pocwicz robiac systemy newsow, sond, jakis rotatorow czy innych panelow administracyjnych z sortowaniami, wyszukiwarkami. Potem przerob to wszystko z proceduralnego na OOP.
To ci da tyle ze bedziesz mial podstawy, a czytajac pozniej specyfikacje/dokumentacje do np: jakiegos systemu szablonow bedziesz mogl skupic sie na jego dzialaniu i realizacji za jego pomoca swoich projektow bez zbednych rozumowan na temat podstaw OO czy mysql`a.

1.Naucz sie dobrze Mysql`a
2.Naucz sie OOP podstawy/teoria
3.Experymentuj z powyzszym
4.Chwytaj sie pomocniczych narzedzi typu smarty.

Imo bledem jest "atak" na cos czego nie rozumiemy, a slyszymy ze ulatwia prace. To co jest niezbedne dla zaawansowanego programisty wcale nie musi takie byc dla poczatkujacego. Nie kazdy daje rade odrazu skakac na gleboka wode, niekiedy efektywniejsza nauka jest krok po kroku. Wszystko zalezy od czlowieka, wiec sam najlepiej zweryfikujesz to jak powinienes podejsc do updatu swoich danych smile.gif

Powodzenia.

P.S. Sam czesciej pisze strukturalnie niz obiektowo, chociaz gdy przychodzi pracowac w grupie nad wiekszym projektem raczej strukturalny kod nie wchodzi w gre. Mysle ze wlasnie jestem na tym etapie o ktorym pisal DevY tj. staram sie "rozkochac" w obiektowce na tyle, by w wiekszosci preferowac tworzenie nawet srednich projektow stosujac OO, a nie tylko przy pracy nad "kolosami" smile.gif
hawk
A na koniec można poczytać forum Advanced php na sitepoincie, gdzie przesiadują nieźli wymiatacze (lastcraft, harryf, selkirk, ...). I co się okazuje?
- PEAR jest bebe
- Smarty jest przerośnięty, precz z systemami szablonów
- MVC można napisać na 50 różnych sposobów i na koniec wie się jeszcze mniej niż na początku
- ADODB jest przestarzałe, ORM i OQL są teraz w modzie, Propel i Metastorage jeszcze się trzymają, Hibernate rulez
- wzorce projektowe to nic; drugie tyle enterprise patterns to podstawa
- RTFPoEAA *

Czyli im dalej w las tym więcej drzew. Moja rada dla autora wątku:
- czytaj, czytaj, czytaj i pamiętaj, że żadna technologia/system nie jest idealna i najlepsza
- pisz aplikacje desktopowe w jakimś innym języku (Java bardzo ładnie uczy OOP)
- poznaj konkurentów php: ASP.NET, J2EE

* taki hermetyczny dowcip biggrin.gif
gruszek_
uau smile.gif nie spodziewalem sie takiego odzewu biggrin.gif bardzo mi sie spodobalo to forum

jeszcze tylko nie wiem co to to ADODB (ale skoro jest przestarzale to moze zainteresuje sie zamiast tego ta cala reszta ktora hawk wymienil winksmiley.jpg )
ActivePlayer
ADODB to zbiór klas zajmujących sie posrednictwem pomiedzy Twoim kodem, a bazą danych (nie tylko mysql), to ze ktos powiedzial ze przestazale, nie znaczy ze nie warto poznac.
hawk
Ja nie mówię że ADODB jest przestarzałe, tylko że słuchając słuchając bardzo mądrych ludzi odnosi się wrażenie, że ADODB jest przestarzałe. Tego wzorca nie ma, tamtego... Nie bierzcie tego do serca, bo jeżeli coś nie podoba się np. autorowi WACT, nie musi się to odnosić do zwykłego programisty. Inny stan świadomości winksmiley.jpg.
Nic nie jest doskonałe, każda biblioteka ma wady, trzeba umieć użyć "right tools for the right job" i ciągle się uczyć nowych rozwiązań.

A interesowania się Object-Relational Mappingiem nie polecam, bo jest bardzo fajne, tylko nikt nie wie jak to zaimplementować biggrin.gif. Propel/Creole są silną alternatywą dla ADODB, wzorowaną na Javie. Metastorage mi się nie podoba, ale podobno jest mocne. Hibernate jest genialne, ale niestety to jest dla Javy (i tak warto poznać, żeby zobaczyć, że my tutaj z naszymi ADODB i podobnymi jesteśmy w epoce kamienia łupanego).
Meijin
Ja do Javy stosuję Hibernate i jest rzeczywiście najlepsze ;-) Ale Java i php to jednak dwa różne światy.

Co do pokrycia bazy w php, to używam pear i pakiety takie jak DB_DataObject, DB_DataObject_FormBuilder. Mam z nimi same dobre doświadczenia, ale chętnie się dowiem jak jest u was. Dla mnie jedyna wada to brak dobrej dokumentacji, ale coś tam znaleźć można jak się chce.
pitbull82
Dzięki za wszystkie wypowiedzi (coś jest w ogóle nie tak z powiadomieniami na maila z forum). Co do obiektówki, to znam C++, więc sobie raczej bym z nią poradził, chociaż z tego co wiem, w php 4.x nie ma jeszcze wszystkiego, a na razie php 5.x na serwerach raczej nie ma... Postaram się zabrać za naukę tego wszystkiego, chociaż niestety moje studia mocno z tym kolidują ( a studiuję o dziwo ... informatykę).

Pozdrawiam
dr_bonzo
Obiektowka byla dla mnie trudna -- zaczynalem od javy, potem c++, w koncu php -- czytalem o obiektach itd w wielu ksiazkach/publikacjach az powoli zalapalem wszystko (no moze prawie:)).
Jak bierzesz sie za obiektowke to tylko z 5ki. Poza tym php5 jest juz na serwerach (polskich) -- sam znalazlem dwa, i mam tam konto.
pitbull82
Niestety ja mam już konto wykupione i właśnie nawet przed momentem dostałem wiadomość od adminów, że nie planują jak na razie PHP5. Powodem jest "nie zachowanie zgodnosci z obecnymi skryptami". Ale w sumie na razie i tak pewnie nie będę potrzebował wszystkich mechanizmów klas...
dr_bonzo
U mnie maja php4 jako modul a php5 jako cgi i chodzi ok. Sprobuj podsunac im takie rozwiaznie.
pitbull82
No a jak to wtedy działa w praktyce ? Czy Ty jako użytkownik wybierasz sobie, że chcesz korzystać z PHP5 ? Bo myślę, że takie rozwiązanie o ile to możliwe byłoby najlepsze...
dr_bonzo
Albo tak: pliki *.php -> php4, *.php5->php5, albo ustawiam w .htaccess'ie ze *.php -> php5.
I dziala ok.
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.