Einrücken & mehrmals die selbe Methode

#0 :: 25.02.2011 - 15:37
  • GameOver
  • User

Hei.

Hätte da mal 2 Fragen an dich.
Die 1. spielt wohl für die meisten eher eine untergeordnete Rolle, finde sie aber dennoch wichtig, soll ja außer mir noch einer Den Code möglichst schnell verstehen
Also, wie rückt man richtig ein?

Mir sind da 2 gängie Methoden aufgefallen, sie unterscheiden sind nicht besonders stark:

1)

<?php
if ($test) {
$test = 'test';
if (is_string($test)) {
print($test);
}
} else {
$test = 'TEST';
}
?>


2)

<?php
if ($test)
{
$test = 'test';
if (is_string($test))
{
print($test);
}
} else
{
$test = 'TEST';
} ?>

Welche von den beiden Varianten sollte/muss man einsetzen? Mir persönlich gefällt ja Nr. 2 besser, da man den Code leichter lesen kann, vorallem bei verschachtelten Kontrollstrukturen. Man sieht ganz klar, welche geschlossene geschwungene Klammer zur welcher geöffneten geschwungene Klammer gehört, da sie immer unter einander stehen.

Mir ist auch aufgefallen, dass neue Bücher immer öfters die 2. Variante einsetzen. Doch auf einigen Websites wird immer die Variante 1 geprädigt. Prinzipiell kein großer Unterschied, würde mich aber trotzdem interessieren, inwiefern das Einrücken bzw Formatieren eine Rolle spielt - muss man sich da sehr streng an die Standard Variante(Nr.1) halten?

2. Frage:
index.php

<?php
$content = new Content($language, $actualPage);
echo '<html>';
echo '<head>';
echo '</head>';
echo '<body>';
echo '<div id="navi">'.$content->selectContent("SELECT `content` FROM `navi`").'</div>';
echo '<div id="content>'.$content->selectContent("SELECT `content` FROM `website_content`").'</div>';
echo '<div id="sidebar>'.$content->selectContent("SELECT `content` FROM `sidebar`").'</div>';
echo '<body>';
echo '</html>'; ?>

Ich erzeuge ein neues Objekt und will eine Methode namens "selectContent" 3 Mal verwenden. Jedes mal, will ich aber einen anderen Parameter übergeben. Der Paramter enthält nen sql Query, ich will also einfach mit der Methode den Content für verschiedene Website Bereiche (wie z.B.: Navi, Inhalt, Footer, Sidebar, header, etc.) aus der DB holen.

Ist das sehr Performancelastig? Ist das überhaupt möglich - muss ich für jeden "selectContent"-Methoden Aufruf ein neues Objekt erstellen, oder kann ich die Methode dieses Objektes unzählige Male verwenden?

Grüße Nico

MC-Web

#1 :: 25.02.2011 - 19:46

Hi Nico,

zu 1.
Mit dieser Frage kannst du in vielen Foren einen Glaubenskrieg anzetteln!
Besser ist die Variante die du besser lesen kannst, wenn du natürlich in einem Team arbeitest sollte man sich der Mehrheit fügen.

Es gab mal ein paar Versuche das zu vereinheitlichen deshalb wirst du den 2. Code öfters sehen als den ersten. Ich persönlich bevorzuge die erste Variante, da ich es als kompakter und übersichtlicher empfinde.

So nun zu 2.
Im Prinzip reicht ein Objekt für so einfache Aufgaben und vor allem nur eine Tabelle in der Datenbank, da die Struktur ja immer die selbe ist. Dann kannst du alles mit einer Abfrage übertragen.

Bei MySQL-Querys muss man gut aufpassen es geht zwar schnell aber bei zu vielen Querys kann das Script sehr lahm werden vor allem wenn der MySQL-Server extern ist. Dann merkt man es richtig. Deshalb ist das Forum hier auch so langsam, wäre der Server lokal würden sich die Seiten wesentlich schneller aufbauen.
Ich hab auch schon mehrere Programmierer gesehen die mit Ihren SQL-Fähigkeiten den Server zum Absturz gebracht haben. Von daher niemals SQL unterschätzen.

Viel Grüße Thomas

Admin of Ultima-Project.net