Začátek s PHP
|
9.1.2009 16:16
Pavel Wiesner
|
Zdravím všechny na foru. Zkouším proniknout do tajů PHP ale nějak nevím kde začít. S HTML a CSS jsem takové problémy neměl. Chybí mi nějaký seznam s popisem všech možných příkazů a funkcí pokud možno v češtině na PHP a trošku nasměrovat jak mám při studiu jazyka postupovat.
Jen chci podotknout že chci využívat PHP jen na svích osobních stránkách. Jako profík určitě ne.
Díky za tipy. |
|
|
Re: Začátek s PHP
|
9.1.2009 16:32
Martin Štekl
|
Ohledně PHP ti můžu osobně doporučit seriál tady na webu, podle kterého jsem se PHP naučil já sám. Myslím si, že je tam obsaženo vše důležité jako základ.
Seznam článků tady Dokonce se tady dal stáhnout v PDF, ale teď jsem to nenašel. PDF mám.
|
|
|
Re: Začátek s PHP
|
9.1.2009 17:39
Aleš Hakl
|
Odkaz na HTML a PDF verzi najdete u kazdeho dilu dole. Osobne doporucuji to PDF zahodit a radeji cist to HTML. To PDF vzniklo tak, ze se ta HTML verze ke stazeni prohnala mozillou vytiskla do postscriptu a z nej spachalo PDF. Tudiz PDF verze obsahuje totez co HTML a vypada stejne spatne jako kdyz si to vytisknete sam. Navic si nejsem jisty, jestli z toho PHP jde kopirovat. |
|
|
Re: Začátek s PHP
|
9.1.2009 18:28
Pavel Wiesner
|
Seriálů na PHP jsem na internetu našel dost, ale nějak se pořád nemůžu chytit. Jak jsem psal tak mě chybí seznam příkazů a funkcí aspoň s krátkým popisem. Tady na webu je ten seriál opravdu dost dobrý. Možná (asi určitě) bude chyba i u mě :-).
|
|
|
Re: Začátek s PHP
|
10.1.2009 22:18
Aleš Hakl
|
Oboji naleznete v dokumentaci PHP. Dokumentace je tak nejak castecne prelozena do cestiny. Problem je, ze ta ceska verze je jeste o neco zmatenejsi nez anglicky original. |
|
|
Re: Začátek s PHP
|
10.1.2009 23:05
Hynek (Pichi) Vychodil
|
No já bych řekl, že s PHP je lepší si vůbec nic nezačínat. Člověk tak předejde spoustě problémů. |
|
|
Re: Začátek s PHP
|
10.1.2009 23:54
Aleš Hakl
|
S tim ovsem lze pouze souhlasit. |
|
|
Re: Začátek s PHP
|
11.1.2009 11:55
Pavel Wiesner
|
To znamená používat raději jiný scriptovací jazyk? Který? |
|
|
Re: Začátek s PHP
|
11.1.2009 15:21
Aleš Hakl
|
Cokoli co se snazi byt daleko od pojmu "scriptovaci jazyk" a misto toho se snazi byt "programovacim jazykem". Me proste prijde, ze "scriptovaci jazyk" je proste souslovi, za ktere se schovavaji autori spatne navrzenych jazyku. Logika je neco jako "Bourne shell je zvlastni jazyk. Nas jazyk je taky skriptovaci, tak muze byt jeste divnejsi."
Dobrych programovacich jazyku jsou spousty a kdyz z te spousty vynechame veci jako C a jazyk symbolickych adres, tak se vsechny daji pouzit v pripadech, ktere pravdepodobne nazyvate skriptovanim. |
|
|
Re: Začátek s PHP
|
11.1.2009 16:57
Pavel Wiesner
|
Tak znovu. Který programovací jazyk je lepší než PHP a jaká je podpora u free hostingů? |
|
|
Re: Začátek s PHP
|
11.1.2009 19:07
Aleš Hakl
|
Jedina vyhoda PHP je prave ta podpora u hostingu. Nicmene je pomerne predstavitelna cesta rozdelit aplikaci na cast napsanou v nejakem normalnim jazyce, ktera bude generovat staticke HTML a nejake trivialni kousky PHP zajistujici pozadovanou interaktivitu (coz dneska obvykle znamena nejake komentare a nic moc dale). |
|
|
Re: Začátek s PHP
|
11.1.2009 17:27
Hynek (Pichi) Vychodil
|
No já bych jako scriptovací jazyk označil jazyk, který se nemusí explicitně překládat. Z tohoto pohledu jde z jakéhokoli nescriptovacího jazyka udělat scriptovací, když nad ním udělám wrapper, který ho automaticky přeloží. Na druhou stranu spousta scriptovacích jazyků se dnes kompiluje ať už JIT nebo hotspot metodou. Budeme to snad rozlišovat, že scriptovací jazyk běží nad VM? Z tohoto pohledu by Java byla scriptovací jazyk, to snad ne. Tak jak se pozná scriptovací jazyk? A proč bych na psaní web aplikací vůbec měl používat scriptovací jazyk. Právě naopak, scriptovací jazyk je na psaní webových aplikací naprosto nevhodný. Proto taky máme všechny ty mod_*. Na psaní web aplikací je nejvhodnější jazyk, který mi zajistí maximální výkon bez nutnosti řešit jestli si můžu dovolit na zpracování requestů vyčlenit 10 vláken, nebo 10 milionů vláken na každý request nové. Jazyk ve kterém si na asynchronní operaci uvnitř jednoho requestu můžu spustit dalších X vláken aniž bych se musel strachovat. Jazyk ve kterém se nebudu zdržovat zbytečnou IPC komunikací mezi request dispatcherem a workerem. Jazyk ve kterém zároveň nesejmu jedním špatně napsaným workerem zbytek. Jazyk, ve kterém budu moci sdílet data mezi requesty aniž bych k tomu potřeboval nějaké externí úložiště, další zbytečné latence, marshalling a demarchalling (RDBMS, mecached apod.) a další IPC. Jazyk ve kterém nebudu mít globální GC, který mi pod velkou zátěží celý server "zakucká" (tím trpí i Common Lisp servery, o Javě, Ruby, Pythonu, Perlu a dalších ani nemluvě). Jazyk ve kterém můžu měnit běžící kód bez restartu při zachování stavu sdílených informací (aniž by byly uloženy v externím úložišti). A jako třešnička na dortu, celé to udělám v clusteru abych mohl dobře škálovat, když budu mít úspěch. Jazyk ve kterém budu moci mezi jednotlivými HW nody komunikovat s latencí ~50 us aniž bych musel vyrábět biler plate jako je CORBA a podobný overkill (který mi to při poruše nevezme celé s sebou). No a v neposlední řadě by ten jazyk měl umožňovat psát krátký, dobře čitelný, spolehlivý a hlavně snadno debugovatelný kód. Pohádka? A přitom takový existuje a je průmyslově ověřený (dokonce o 10 let starší než Java, která byla zastaralá už v době svého vzniku). Jsou v něm napsáný milióny řádek kódu. Je v něm implementován systém se spolehlivostí devět devítek při 1,7 MSLOC. Naštěstí se single core krizí byl znovu objeven. Jen se k němu mateřská firma zachovala macešsky, ale díky tomu je dnes open source a aktivně vyvíjen. Stále se používá a jeho vývojářská základna roste exponenciálně za poslední rok. Během jednoho roku v něm například vznikla CouchDB, byla přijata do Apache inkubátoru a zase z něj odešla a zařadila se mezi oficiální Apache projekty. Tomu se říká rychlost. A jméno toho jazyka? Erlang |
|
|
Re: Začátek s PHP
|
11.1.2009 18:37
Pavel Wiesner
|
Tak já se omlouvám ale nemám vůbec ponětí o čem byla řeč. Já jsem zamrznul v době kdy jsem trošíčku programoval v assembleru na C64. Z toho co tady píšeš jsem nepochopil vůbec nic. Jde mi opravdu o lehké programování a ulehčení některých operací v HTML. |
|
|
Re: Začátek s PHP
|
11.1.2009 19:18
Hynek (Pichi) Vychodil
|
Pokud je nepřekročitelný požadavek free hosting, tak tam toho moc na výběr nemáš. PHP je nejrozšířenější a taky nejčastěji podporovaný jazyk. Pak se ještě existují na Ruby, méně na Python a slyšel jsem o Perlu. To je co do free hostingů všechno. Tady si člověk vybírat nemůže. Jen je potřeba si uvědomit, že od toho nelze čekat zázraky. Na jednoduché věci ti to PHP bude stačit a budeš spokojený.
Jenže nic netrvá věčně. Až ti ten web začne trochu růst, začne růst zátěž, tak začneš řešit oddělení databáze od aplikačního serveru, začnou ti narůstat latence, pak už nebude stačit jeden databázový stroj, začneš řešit replikace, zálohování. Do určité velikosti ti nevadí Master-Slave architektura, pak už tu zátěž na jednom Master node nezvládneš, začneš řešit Master-Master cluster. S nárůstem složitosti aplikační logiky najednou zjistíš, že se to celé strašně zašmodrchává, narůstají latence, server nedokáže udržet dostatek otevřených spojení aby sis mohl počkat na odpověď od DB clusteru, nebo ti přestane stíhat CPU. Do DB budeš zbytečně strkat věci co nemusí být perzistentní, což situaci nijak nepomůže. V určité fázi přidávání dalších strojů nevede k nárůstu výkonu, protože se celý spotřebuje na komunikace mezi součástmi, a architektura toho všeho je tak složitá, že potřebuješ tým lidí, co to udržují při životě. Pak je namístě se zastavit a zamyslet se nad tím trochu z nadhledu. Na psaní jednoduchých webů tě to ale fakt nemusí trápit. Pokud by jsi to ale měl někde hostované vlastní stroje a počítáš s růstem, potřebuješ hodně sdílených stavů, je jasné že budeš clusterovat, potřebuješ vysokou spolehlivost, tak je dobré si vzpomenout, že existují i jiná řešení. |
|
|
Re: Začátek s PHP
|
11.1.2009 20:03
Pavel Wiesner
|
Tak já to trošku zhrnu. Protože tady diskutuju s profesionálama a já opravdu potřebuju jazyk jen na můj web který leží na free hostingu vrhnu se do PHP.
Děkuju za vyčerpávající informace, kterým bohužel moc nerozumím.
S takovou pomocí se člověk jinde na fórech hned tak nesetká. |
|
|
Re: Začátek s PHP
|
11.1.2009 19:05
Aleš Hakl
|
No ono to deleni na skriptovaci a neskriptovaci je takove podivuhodne. Rozhodne bych nebral nejake vlastnosti implementace, protoze to s jazykem jako takovym nesouvisi (dokonce i Tcl se da vicemene efektivne kompilovat).
Pokud bych chtel delit jazyky na skriptovaci a neskriptovaci tak bych to delil podle toho jestli je semantika jazyka definovana pomoci neceho co jsou vicemene retezcove operace (shell prakticky libovolny, Tcl, do znacne miry PHP a Perl) a nebo nejak normalne pomoci operaci s vice ruznymi datovymi typy (vlastne cokoli jineho). Mozna by se to dalo vykladat tak, ze skriptovaci jazyky nemaji striktni typovou kontrolu / maji podivne implicitni konverze, nicmene to neni uplne presne to jak to zamyslim.
Erlang je takova diskutabilni zalezitost. Implementace je uzasna, nicmene syntaxe te veci je proste zmatena. Popravde receno me docela laka napsat kompilator neceho normalne vyhlizejiciho (no kompilator, spis bastl typu parenscript) do erlangu, nicmene v tuto chvili na to opravdu nemam cas. |
|
|
Re: Začátek s PHP
|
11.1.2009 19:41
Hynek (Pichi) Vychodil
|
No myslím, že dost podstatná věc pro skriptovací jazyk by mohla být konstrukce eval. Myslím, že tím by nám pěkně vypadly assembler, C, C++, Java a další. Bohužel by tam byly Lispové jazyky i třeba takový Erlang. Nu což, proč by neměly za skriptovací považovány. Třeba YAWS při requestu rozparsuje nenacacheovaný template, každý kus kódu překompiluje a spustí. Chová se to jako skriptovací jazyk. Má to shell, je to skriptovací jazyk. I Haskell má shell. Je to skriptovací jazyk? Má silnou typovou kontrolu. Vzato kolem a kolem Haskell má snad nejsilnější typový systém snad kromě Ady. Podle typového systému bych to nerozlišoval. Co je a co není skriptovací jazyk je asi dáno tím co tvrdí jeho autor. Jinak mrkni na projekt Reia nebo LFE, to by se ti mohlo líbit. Nicméně já osobně považuji syntaxi Erlangu za klíčovou vlastnost, kterou oceníš v okamžiku debugování, nebo sdílení kódu s dalšími vývojáři. Dobré čtení je Making reliable systems in the presence of software errors. Tam se dočteš proč a nač je ta syntaxe taková jaká je. |
|
|
Re: Začátek s PHP
|
11.1.2009 21:57
Aleš Hakl
|
No ja sam tvrdim, ze to deleni je celkem zbytecne. K upresneni toho meho deleni bych rekl, ze pokud je jazyk specifikovan necim co ma strukturu jako manualova stranka bashe (posloupnost vicemene textovych nahrad), tak je jasne skriptovaci, pokud se snazi tvarit, ze by se dal necim podobnym popsat (ackoli ve skutecnosti nejde), tak taky.
LFE vypada na prvni pohled jako priblizne to co hledam, dik. |
|
|
Re: Začátek s PHP
|
10.1.2009 20:52
Dalibor Smolík
|
Přestože požadavek je na češtinu, chtěl bych se podělit o zkušenosti s mými úplnými začátky PHP (zároveň jsem studoval HTML, nic jsem o tom do té doby nevěděl), kde vynikající mateirál pro úplné začátečníky je v angličtině
http://www.webmonkey.com/tutorial/PHP_Tutorial_for_Beginners
své skripty mám postaveny z velké většiny právě z těchto zdrojů. |
|
|
|
|
KOMENTARZE
|
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
|
|
Szukanie oprogramowania
|