PHP mysqli_query nic nevrátí

3ugeene

Re:PHP mysqli_query nic nevrátí
« Odpověď #90 kdy: 17. 10. 2014, 15:02:05 »
ja u PHP pro jistotu nepouzivam cykly ani funkce


Kit

Re:PHP mysqli_query nic nevrátí
« Odpověď #91 kdy: 17. 10. 2014, 15:06:50 »
To tam jako místo else pereš pod to obrácenou podmínku? A co break ve switchi? Taky ne? Ty vlastně pro jistotu nepoužíváš ani gettery a settery, co? Co všechno ještě pro jistotu nepoužíváš? Jen tak ze zvědavosti, zaujalo mě to.

Místo else nedávám nic. Není potřebné. Často není potřebné ani if... Místo break ve switchi mi mnohem lépe poslouží return. Místo setteru se krásně dá použít konstruktor. Místo getteru raději data zpracuji uvnitř objektu, abych ty atributy z objektu vůbec ven nevytahoval.

wtf

Re:PHP mysqli_query nic nevrátí
« Odpověď #92 kdy: 17. 10. 2014, 15:17:43 »
To myslíš vážně nebo jenom trolluješ?

Kit

Re:PHP mysqli_query nic nevrátí
« Odpověď #93 kdy: 17. 10. 2014, 15:26:07 »
To myslíš vážně nebo jenom trolluješ?

To myslím skutečně vážně. Proč by to měl být trolling? Tyhle struktury přece patří do strukturovaného programování. Přechodem na OOP se jich postupně zbavuji. Evidentně to jde, tak proč to tak nedělat? Programy se tím výrazně zkrátí, zjednoduší a často i zrychlí.

3ugeene

Re:PHP mysqli_query nic nevrátí
« Odpověď #94 kdy: 17. 10. 2014, 15:28:15 »
To myslíš vážně nebo jenom trolluješ?
To myslím skutečně vážně.


mám to! nepoužívá if-else-then, ale ternáry!


wtf

Re:PHP mysqli_query nic nevrátí
« Odpověď #95 kdy: 17. 10. 2014, 15:36:50 »
Citace
mám to! nepoužívá if-else-then, ale ternáry!

To by tím pádem else používal tak jako tak.

Citace
Evidentně to jde, tak proč to tak nedělat?

Já věřím, že ti to funguje. To je jako když se někdo rozhodne, že psát háčky a čárky je zbytečnost - taky určitě sdělí, co potřeboval, akorát se to pak po něm dost blbě čte. Oni tam ty keywordy autoři jazyka nedávali jen tak ze srandy, protože se nudili, ale proto, že za určitých podmínek mají svoje použití. Říct si u poloviny prostředků, že je to pěkná píčovina, už to schválně nikdy nepoužít a tam kde by se to hodilo to schválně obcházet, to mi nějak rozum nebere. Ale dělej, jak uznáš za vhodné, on tě život naučí. Dokud s tvými kódy nemusím pracovat, tak je mi to v podstatě buřt.

Kit

Re:PHP mysqli_query nic nevrátí
« Odpověď #96 kdy: 17. 10. 2014, 15:45:03 »
Citace
mám to! nepoužívá if-else-then, ale ternáry!
To by tím pádem else používal tak jako tak.

Ternár není else. Pokud do proměnné ukládám jednu ze dvou možných hodnot, ternár je tou správnou volbou.

Citace
Evidentně to jde, tak proč to tak nedělat?

Já věřím, že ti to funguje. To je jako když se někdo rozhodne, že psát háčky a čárky je zbytečnost - taky určitě sdělí, co potřeboval, akorát se to pak po něm dost blbě čte. Oni tam ty keywordy autoři jazyka nedávali jen tak ze srandy, protože se nudili, ale proto, že za určitých podmínek mají svoje použití. Říct si u poloviny prostředků, že je to pěkná píčovina, už to schválně nikdy nepoužít a tam kde by se to hodilo to schválně obcházet, to mi nějak rozum nebere. Ale dělej, jak uznáš za vhodné, on tě život naučí. Dokud s tvými kódy nemusím pracovat, tak je mi to v podstatě buřt.

Kupodivu se to pak čte velmi dobře. Lépe než když tam taková klíčová slova jsou. OOP nám umožňuje používat jiné konstrukce než ty, které tady byly někdy před 20 lety. Když vezmu výsledný příklad a trochu ho přeformátuji, dostanu tohle:

Kód: [Vybrat]
$host = 'localhost';
$dbname = 'cabinets';
$user = 'configurator';
$password = 'configure';
$dsn = "mysql:dbname=$dbname; host=$host";
$atributy = Array(
    \PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION,
    \PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8",
); 
try {
    $pdo = new PDO($dsn, $user, $password, $atributy);
    $select = $pdo->prepare("SELECT type FROM configuration");
    $select->execute();
    $cabinet = $select->fetchAll(PDO::FETCH_ASSOC);
    $json = json_encode( $cabinet );
    print_r($json);
} catch (PDOException $e) {
    throw new Exception('Connection failed: ' . $e->getMessage() );
}

Vidíš tam někde nějaké if, else nebo break? Máš snad pocit, že je to nepřehledné?

wtf

Re:PHP mysqli_query nic nevrátí
« Odpověď #97 kdy: 17. 10. 2014, 15:57:43 »
Ježíši Kriste! Ternár je přece jenom jinak zapsaný if-else, proboha. Jinak já netvrdím, že máš cpát podmínky na každý druhý řádek, ale že rozhodně není pravda, že nemají význam nebo jsou dokonce zbytečné. Doporučil bych přestat bezmyšlenkovitě přebírat rady z článků typu "blablabla is evil in the OOP", má to na tebe špatný vliv. Ale to je jako mluvit do dubu. Mám lepší věci na práci, měj se.

Kit

Re:PHP mysqli_query nic nevrátí
« Odpověď #98 kdy: 17. 10. 2014, 18:56:20 »
Ježíši Kriste! Ternár je přece jenom jinak zapsaný if-else, proboha.

Aha, takže tohle nedorozumění pramení z toho, že si pleteš programovou strukturu s výrazem.

Citace
Jinak já netvrdím, že máš cpát podmínky na každý druhý řádek, ale že rozhodně není pravda, že nemají význam nebo jsou dokonce zbytečné.

Možná by sis měl znovu přečíst, jak jsem to napsal, abys to pochopil.

Citace
Doporučil bych přestat bezmyšlenkovitě přebírat rady z článků typu "blablabla is evil in the OOP", má to na tebe špatný vliv. Ale to je jako mluvit do dubu. Mám lepší věci na práci, měj se.

Jaké rady přebírám z jakých článků? Googlil jsem vhodnou referenci pro tazatele na gettery/settery a tahle mi připadla jako dobrá.

Stačí, když se začteš do knih od Roberta C. Martina a Martina Fowlera. Snad potom pochopíš, že o těchto věcech tam píší. Jak nahradit "if" polymorfismem, jak nelpět na jediném výstupním bodu z metody, jak aplikovat SRP, jak nepsat komentáře, jako volit názvy proměnných a metod, jak neporušit Déméteřin zákon,...

BTW: Gettery a settery zmíněný Déméteřin zákon porušují poměrně často.