Mysql seminarski

Fork PHP-a već postoji.

Ko koristi full tags (’<?php’) njegov kod će svugdje raditi, onaj ko koristi short tags, njegov kod neće raditi na velikom broju PHP instalacija, ne moramo uopšte u priču uvlačiti HTML/XHTML varijantu, as simple as that.

Interesantna stvar je da sam xml problem rjesio sa echo naredbom u php :stuck_out_tongue:
Ovo ce raditi

Ja razumijem da je dosta programera jednostavno lijen svijet ali fakat ne kontam u cemu je problem koristiti full tags? Da li je ustedjeno vrijeme prilikom koristenja short tags zaista toliko da se isplati ocekivati kojekakve probleme?

+1
Ne vjerujem da bas ustedis nesto vremena sa short tags. I lijenost kod programera treba naginjati na stranu elegantnijeg, kraceg i efikasnijeg koda, a ne na nesto sto ti moze zadavati probleme u buducnosti i ne pod cijenu izbjegavanja standarda.

Ovaj argument za XML mi pravo cudan. Dajte mi primjer gdje imas usred PHP aplikacije utakaren XML molim vas? Dosad nisam vidio takav primjer jer 99% stvari koje su u XML-u ljudi drze u (probajte pogodit?) XML fajlovima koje fino ucitate sa nekim parserom (simplexml?) i radite s njima.

Dalje, bila je neka spika oko sigurnosti ali nigdje nikad nisam vidio nijedan konkretan primjer zasto su short tags nesigurni. Imal iko kakav primjer kojeg mogu sam reproducirat?

Short tags smanjuju kod, smanjuju kolicinu pisanja i generalno daju veci templating engine feel (+ povecavaju citljivost) PHPu tako da ljudi ne izmisljaju toplu vodu i pisu gluposti poput smartyja pa da ja moram ucit novu stvar jer je nekom ubogom dizajneru tesko procitat tvoj <?php echo $varijabla; ?> a lakse {varijabla}, a da ne spominjem <?=$varijabla;?>.

Da, programeri su lijeni, ali forsirat ljude da pisu vise koda kada je to bespotrebno po meni je preglupa ideja. Eto za primjer C#: svako normalan ce za integer napisat int a, zamisli sad da ja dodjem i kazem “e, ne moze vise, sad svi morate pisati System.Int32”, bil vi digli prasine?

Ovo sto kazu da shared hosting ne podrzava short tags; koji popularni online shared hosting (a svi su jeftini u ovo doba) ne podrzava? I ako ne podrzava, nadjite mi nekih koji vam nece dati da vi podesite svoj php.ini ili mi nadjite neki gdje support to nece uraditi za vas? A svakako u modu ulazi VPS tako da mozes sam postimat sebi sta treba za neku dosta nisku cijenu.

A provjerio sam ovo za php6, Rasmus Lerdorf (lik koji ga je napravio) je reko da ih nece ukidat (ali hoce asp-style <% i %> tagove) tako da je all good i sunny in California :slight_smile:

[quote=vedran][quote=boby]OK evo mene sa novim pitanjem:

$upit = mysql_query(“SELECT * FROM dosije WHERE ime = ‘$name’ AND prezime = ‘$lastname’”);

if …ako nema studenta sa tim imenom javi poruku i vrati na izmjene.php[/quote]
if (mysql_num_rows($upit)==0) {
print “Greška. <a href="izmjene.php">Nazad na izmjene.php”;
} else {

}

Jedan način je da imaš jedno hidden polje u formi koje označava redni broj studenta, onda možeš imati ovako otprilike:

[code]$rbr = intval($_REQUEST[‘rbr’]);
?>
Prethodni student
Sljedeći student

<? ...[/code] Onda ga koristiš u SQL upitu u LIMIT dijelu, ovako: $upit = mysql_query("SELECT * FROM dosije WHERE ime_prezime LIKE '%$name%' LIMIT $rbr,1"); Ovo 1 ti označava da želiš samo jedan slog na mjestu $rbr, znači za efekat pretrage možeš koristiti i veći broj.[/quote] Rijesio sam ovo sa greskom, nego sto se tice ovog sa prebacivanjem na sledeceg studenta. Kako mislis da napravim taj redni broj. Mislim znam da ga napravim kao hidden polje ali kako da ga popunjavam, cime? Necim iz tabele ili da napravim neki svoj brojac? A drugo, shvatam ovo sto predlazes ali ja trebam da prebacim na sledeceg studenta tek onda kad sam otvorio jednog. Npr. u fajlu student.html sam ispisao sve vrijednosti za studenta marko markovic. Ako postoji jos jedan marko markovic, treba da imam dugme (koje je inace disabled ako nema istih imena) koje kad pritisnem, zamjeni podatke u ovom fajlu student.html sa podacima o novom marku markovicu. Hvala ljudi za sve do sad.

Početna vrijednost rednog broja je 0 (kao i u svim C-olikim jezicima, nizovi i numeracije počinju od nule, dakle nula je prvi po redu Marko Marković), a povećavaš ga i smanjuješ klikom na Prethodni student i Sljedeći student. Ukupan broj studenata možeš dobiti posebnim upitom kako bi postigao efekat da ti je zasivljeno dugme Sljedeći student kada je redni broj jednak ukupnom broju studenata minus 1.

[quote=adis]Fork PHP-a već postoji.

Ko koristi full tags (‘<?php’) njegov kod će svugdje raditi, onaj ko koristi short tags, njegov kod neće raditi na velikom broju PHP instalacija, ne moramo uopšte u priču uvlačiti HTML/XHTML varijantu, as simple as that.[/quote]
To je klasični FUD (Fear Uncertainity Doubt) ljudi koji su protiv short open tagsa. Činjenica je da short open tags radi na SVIM php instalacijama, s tim što negdje treba prekonfigurisati php.ini.

Nije stvar ljenosti nego ružnog koda. Kod koji je lijep i efikasan je lakše čitati i debugovati. Dobar primjer je originalni kod koji je postao Boby. Uporedi ovo:

Indeks: <input name = "indeks" type = text value = "<?php echo $indeks ?>"/> <br/>

I ovo

Indeks: <input name = "indeks" type = text value = "<?=$indeks ?>"/> <br/>

E sad pomnoži to sa 100 i zamisli umjereno kompleksnu skriptu sa tonom integrisanog HTML koda. Da je Boby koristio short open tags ne bi napravio grešku koju je napravio. I zaista ne znam o kakvim problemima govoriš. Elementarna stvar koju moraš uraditi za 90% php aplikacija je da povećaš memoriju dostupnu za izvršenje php-u. E pa na istom tom mjestu i aktiviraš short open tags. Strrrrrrraaaaaašno komplikovano.

Kako jedna vrlo jednostavna činjenica može biti FUD? Full tags radi na svim PHP instalacijama, bez obzira na php.ini postavke. Evo uzeo samo povećalo, i ne vidim FUD.
Nisu ljudi bezveze protiv short_open_tag: malo je depreciated, malo nije, pravi probleme sa XHTML/XML, te je obično isključen u dafaultnim PHP postavkama (php.ini-development).

Ko voli nek izvoli, ali nema razloga optuživati “drugu stranu” za jednostavno iznošenje činjenica. Jedno je raditi po PS-u, drugo je biti lijen*.

  • btw, nekad je čak i dobro biti malo lijen, ali web development mjesto za to.

Po toj logici ne treba koristiti nijednu PHP ekstenziju jer “ne radi na svim instalacijama”, default varira od distributora do distributora. To je FUD zato što je taj argument zasnovan na uljevanju straha, nesigurnosti i sumnje developerima koji bi rado koristili nešto što je objektivno bolje. “Koristiš short open tags? Ne bi valjda želio da se nešto loše desi tvojoj skriptici…” Ma daaj. Još ćeš reći da ne koristimo Wordpress jer se mora editovati php.ini da bi se dalo više memorije php-u.

Tvrdnja da short open pravi probleme sa XHTML/XML je netačna kao što smo vidjeli. Takođe smo vidjeli da stvar nije ni u ljenosti, a pitali smo i ko je taj ko definiše šta je to “po PSu”. Papagajsko ponavljanje već iznesenih stvari neće ih učiniti istinitim :slight_smile:

Papagajsko ponavljanje neistine neće je učiniti istinom! Validan HTML/XHTML dokument koji počinje sa ‘<?xml’ deklaracijom je syntax error kada je short_tags ON. Čak ni browseri koji ne razumiju XHTML neće praviti probleme, HTML parseri uglavnom zanemare/progutaju blokove/tagove koje ne razumiju. Pošto je PHP parser stupid beyond belief on konta da je ‘<?xml’ XML deklaracija a ‘<? echo’ (možda) PHP kod;

Da zaključim priču jer se fakat nemam namjeru prepirati. Pogrešno je ljude učiti da koriste short_tags zato što njihov kod neće biti:

  1. Portabilan (neće raditi na velikom broju PHP instalacija)
  2. Neće raditi sa XHTML, XML i XSL dokumentima (gdje piše da PHP treba da radi samo sa HTML-om?)

Kome to ne smeta, bujrum.
Također, volio bih da mi neko pokaže uspješan PHP projekt (CMS, forum, framework) koji zahtijeva short_tags. Pa valjda ti silni developeri znaju kako se pravi korektan i portabilan PHP kod.

P.S.
Moj primarni jezik odavno je Python (poslije kojeg je PHP pomalo “yuck”), ali to ne umanjuje općenitost mojih izjava, niti (sportsku) prepirku sa Vedranom :wink:

S obzirom da me u periodu mart-oktobar ceka jedan ogroman projekat koji moram realizovati u Pythonu, znam kome da se obratim :).

A sve sam mislio da je Sanel Python guru u raji.

Da zakljucim: http://wiki.php.net/summits/pdmnotesmay09

Tako da php6 ce podrzavati <? i (izgleda) da su oni sa tim pitanjem imali iskustava kao mi na ovoj temi te odlucili nikad vise raspravljat o tome (kao sto mislim da bi bilo pametno da i mi :slight_smile: ).

Opet ti brkaš izlaz i sam source kod! Eto ja u Pythonu napišem $res = mysql_query(“UPIT”); i dobijem sintaksnu grešku mo’š mislit!? Bezbeli zato što je Python - Python a ne PHP. Isto tako je PHP - PHP a nije XML. Da li je Python source kod validan XML ? Nije. S druge strane, ako pišeš skriptu čiji je izlaz XML, imaš nekoliko primjera u ovom threadu kako se to može uraditi sa PHPom i short open tags. Da li je to stupid dovoljno govori činjenica koliko puta je PHP popularniji kao jezik od nekih drugih jezika. Da su ljudi željeli raditi tako kako ti zamišljaš da treba, PHP ne bi bio toliko popularan kao što jeste.

[quote=adis]Da zaključim priču jer se fakat nemam namjeru prepirati. Pogrešno je ljude učiti da koriste short_tags zato što njihov kod neće biti:

  1. Portabilan (neće raditi na velikom broju PHP instalacija)
  2. Neće raditi sa XHTML, XML i XSL dokumentima (gdje piše da PHP treba da radi samo sa HTML-om?)[/quote]
  3. nije tačno
  4. nije tačno

Vjerovatno zato što se u svakom projektu nađe neki “heroj” koji odluči da sve prepravi tako da se ne koriste short tagovi dok mu se ostali smiju.

[quote=vedran][quote=adis]Da zaključim priču jer se fakat nemam namjeru prepirati. Pogrešno je ljude učiti da koriste short_tags zato što njihov kod neće biti:

  1. Portabilan (neće raditi na velikom broju PHP instalacija)

  2. Neće raditi sa XHTML, XML i XSL dokumentima (gdje piše da PHP treba da radi samo sa HTML-om?)[/quote]

  3. nije tačno

  4. nije tačno[/quote]
    Molim dokaze da nije tačno? Diskusija i sve to je OK, ali moramo se slagati oko osnova logike da bismo uopće mogli razgovarati.

  5. Na koliko PHP instalacija radi '<? phpinfo(); ?>, <?php phpinfo(); ?>, ako ono što sam ja napisao nije tačno, onda <? phpinfo(); ?> mora raditi u 100% slučajeva (a to nije tačno jer zahtjeva short_tags=On), dok ‘<?php’ radi svugdje, podržavajući argument da je to 100% portabilan način za definisanje PHP bloka.

  6. Moliću output komande

echo '<?xml version="1.0" encoding="UTF-8"?>'| php

na PHP instalaciji gdje je short_tags=On.
PHP je template jezik, i kao takav bi trebao da može proparsati što je moguće više sadržaja, i “dirati” samo svoj kod. Evidentno je da <?xml nije PHP kod, što je PHP parser glup, ili što je short_tags=On, to nije moj problem :slight_smile:

Zamislimo da Drupal developeri odluče koristiti short_tags. Uzmimo da je će 10% Drupal instalacija završiti na lošim serverima, koji koriste preporučene defaultne PHP postavke. Završiće sa situacijom gdje >10000 korisnika odjednom ima probleme sa Drupal softverom, i gdje će određeni procenat korisnika odustati od korištenja Drupala, zato što ne mogu kontrolisati php.ini ili nemaju vrememena i znanja da uopšte definišu šta je tačno problem i zašto njihova Drupal instalacija ne radi.
Ne znam kome bi onda to bilo smiješno, “glupim” korisnicima koji ne znaju PHP? ili lijenim* Drupal developerima?

  • Teška riječ, ali pojačava dramski efekat :-D, Drupal developeri ne prepravljaju ništa već kodiraju po svojim coding standardima:

http://drupal.org/coding-standards#phptags

Hocu tema locking privilegiju na ovom forumu! :smiley:

Komplikovan ovaj moj seminarski… :smiley:

Evo, naso sam rjesenje svih problema: http://scriptor.github.com/pharen/index.html :slight_smile:

ja sam protiv short tags jer podsjećaju na asp net

drei Gläser :slight_smile:

nego… dokle si sa radom boby ?