Zadejte hledaný výraz...

Návštěvní kniha v OOP – kritika

Jan Matoušek
verified
rating uzivatele
(12 hodnocení)
26. 5. 2011 12:20:34
Tak jsem začal s OOP v PHP a zkusil jsem si vytvořit návštěvní knihu. Kniha je jednoduchá a nekontroluje zda je jméno a mail vyplněn. Šlo mi hlavně o to, vyzkoušet si OOP. Zajímal by mě váš názor, zda jsem postupoval správně. Kritizujte co se dá. Chci vědět jestli se ubírám správným směrem nebo ne :-)
Vytvořil jsem si:
index.php obsahuje:
Pokus
require ('db.php');
require ('prispevky.php');
?>
if(strlen($_POST)>3)
{
$hodnoty = array();
if (get_magic_quotes_gpc())
{
$hodnoty = "'".$_POST."'";
$hodnoty = "'".$_POST."'";
$hodnoty = "'".$_POST."'";
$hodnoty = "'".time()."'";
}
else
{
$hodnoty = "'".addslashes ($_POST)."'";
$hodnoty = "'".addslashes ($_POST)."'";
$hodnoty = "'".addslashes ($_POST)."'";
$hodnoty = "'".time()."'";
}
$novyprispevek = new Db();
echo $novyprispevek -> vlozit_zaznam('PRISPEVKY', $hodnoty);
}
?>
Jméno:
E-mail:
Zpráva:

$vypsat_prispevky = new Prispevky();
echo $vypsat_prispevky -> vypsat_prispevky();
?>
db.php :
class Db
{
public function connect()
{
require ('config.cfg');
$connect = mysql_connect ($dbserver,$dbdatabaze,$dbheslo) or die ("

Nepovedlo se připojit do databáze MySql

");
mysql_select_db($dblogin,$connect) or die ("

Nepovedlo se připojit do databáze MySql

");
}
public function vlozit_zaznam($tabulka, $array)
{
$this -> connect();
mysql_query("INSERT INTO $tabulka (" . implode(", ", array_keys($array)) . ") VALUES (" . implode(", ", $array) . ")");
mysql_close;
}
}
prispevky.php :
class Prispevky
{
public function connect()
{
require ('config.cfg');
$connect = mysql_connect ($dbserver,$dbdatabaze,$dbheslo) or die ("

Nepovedlo se připojit do databáze MySql

");
mysql_select_db($dblogin,$connect) or die ("

Nepovedlo se připojit do databáze MySql

");
}
public function vypsat_prispevky()
{
$this -> connect();
$dotaz= mysql_query("SELECT JMENO, EMAIL, TEXT, CAS FROM PRISPEVKY ORDER BY CAS DESC");
$pocet_radku=mysql_num_rows($dotaz);
if($pocet_radku!=0)
{
echo '
';
while($vypsat= mysql_fetch_array($dotaz))
{
echo '
';
}
echo '
'.$vypsat.' '.$vypsat.' '.StrFTime("%H:%M:%S", $vypsat).'
'.$vypsat.'
';
}
mysql_close;
}
}
a config obsahuje nastavení db:
/* pripojeni do databaze*/
$dbserver = ""; // jméno serveru
$dbdatabaze = ""; // název databáze
$dblogin = ""; // přihlašovací jméno
$dbheslo = ""; // heslo
26. 5. 2011 12:20:34
https://webtrh.cz/diskuse/navstevni-kniha-v-oop-kritika/#reply640009
hm
verified
rating uzivatele
(20 hodnocení)
26. 5. 2011 12:39:18
ty to pouzivas stejne jako klasicky php, takze co amme hodnotit? :) nevyuzil jsi vubec zadny vyhody OOP
26. 5. 2011 12:39:18
https://webtrh.cz/diskuse/navstevni-kniha-v-oop-kritika/#reply640008
Lokiji
verified
rating uzivatele
26. 5. 2011 13:24:30
presne, podivej se treba na zend framework, to te donuti to pouzivat tak jak se ma vicemene. proste nejlip se to uci na frameworku
26. 5. 2011 13:24:30
https://webtrh.cz/diskuse/navstevni-kniha-v-oop-kritika/#reply640007
Jan Matoušek
verified
rating uzivatele
(12 hodnocení)
26. 5. 2011 14:24:32
No, taky jsem si říkal, že jsem to asi nevyužil správně :-D Kouknu na ten zend :-)
PS: koukám, že mi to někdo hacknul:-D Už jsem to ošetřil:-D Teď jdu zjišťovat, jak správně využívat OOP :-D
26. 5. 2011 14:24:32
https://webtrh.cz/diskuse/navstevni-kniha-v-oop-kritika/#reply640006
Tohle jsem včera napsal někomu jinému, ale stejné principy se týkají nás všech:
http://webtrh.cz/137567-articlers-nova-verze-jednoduche-spravy#2
Syntaxi OOP v PHP už máte zvládnutou, teď ještě přehoďte výhybku myšlení ze špaget na cihly. :)
26. 5. 2011 15:10:41
https://webtrh.cz/diskuse/navstevni-kniha-v-oop-kritika/#reply640005
Jan Matoušek
verified
rating uzivatele
(12 hodnocení)
26. 5. 2011 15:35:54
No snažím se zjistit, jak na to :-) Ještě k té návštěvní knize, neznáte někdo script, jak by v OOP měla ta kniha správně vypadat? :-)
26. 5. 2011 15:35:54
https://webtrh.cz/diskuse/navstevni-kniha-v-oop-kritika/#reply640004
Kamil Tomšík
verified
rating uzivatele
(3 hodnocení)
29. 5. 2011 15:47:54
OOP je hlavne o:
- organizaci kodu do jednotek (nejde ani tak o to, aby byly znovu-pouzitelne jako spis o to,
abys pul dne nehledal, kde je chyba, to si spousta "OO" programatoru neuvedomuje)
- polymorfizmu - ad absurdum to znamena zadny if/switch, ale ani for/while/foreach...
zjednodusene - kazde rozhodnuti nad daty musi byt na objektu, ktery data obsahuje.
Velmi casta chyba je spatne umisteni metod - jednak metoda, ktera nepracuje s vlastnimi daty, "smrdi", a druhak byva obcas logicky spatne umistena,
uz jsem parkrat videl "class Apple{ function eat(){...} }", coz je spatne - jablko nic neji, jablko je nekym snezeno.
Takze na to pozor - memotechnicka pomucka je povazovat kazde volani metody jako prikaz - cili $person->eat($anApple);
Za zminku urcite stoji i east-oriented programovani - http://jamesladdcode.com/?p=12
ve zkratce to znamena - nepouzivat return.
Urcite se najde nejaky hnidopich, co mi rekne, ze OOP je o tridach a dedicnosti - ano, je, ale postupem casu se ukazalo, ze tyhle hodnoty jsou daleko dulezitejsi a tridy a dedicnost jsou naopak spis pritez.
29. 5. 2011 15:47:54
https://webtrh.cz/diskuse/navstevni-kniha-v-oop-kritika/#reply640003
Pro odpověď se přihlašte.
Přihlásit