Heim > Artikel > Backend-Entwicklung > ci – Gibt es ein Problem mit dem Quellcode des CodeIgniter-Frameworks Router.php?
In der Datei systemcoreRouter.php des CI-Frameworks lautet der Startcode von Zeile 132 wie folgt:
<code> is_array($routing) && isset($routing['directory']) && $this->set_directory($routing['directory']); $this->_set_routing(); // Set any routing overrides that may exist in the main index file if (is_array($routing)) { empty($routing['controller']) OR $this->set_class($routing['controller']); empty($routing['function']) OR $this->set_method($routing['function']); }</code>
Zuallererst die erste Zeile:
is_array($routing) && isset($routing['directory']) && $this->set_directory($routing['directory']);
Ich bin mir nicht sicher, ob es sinnvoll ist, so zu schreiben. Wenn dem Ergebnis (wahr oder falsch) einer solchen Ausdruckslinie kein Urteil hinzugefügt wird, welchen Zweck hat das Ergebnis (wahr oder falsch)? Verwenden Sie in der if-Urteilsaussage ein leeres Urteil. Ich denke auch, dass die beiden Ergebnisse bedeutungslos sind. Wenn Sie kein Urteil fällen, haben Sie irgendwelche Gedanken darüber, es so zu schreiben?
Bitte geben Sie mir einen Rat.
<code> is_array($routing) && isset($routing['directory']) && $this->set_directory($routing['directory']); $this->_set_routing(); // Set any routing overrides that may exist in the main index file if (is_array($routing)) { empty($routing['controller']) OR $this->set_class($routing['controller']); empty($routing['function']) OR $this->set_method($routing['function']); }</code>Zuallererst die erste Zeile:
is_array($routing) && isset($routing['directory']) && $this->set_directory($routing['directory']);
Ich bin mir nicht sicher, ob es sinnvoll ist, so zu schreiben. Wenn dem Ergebnis (wahr oder falsch) einer solchen Ausdruckslinie kein Urteil hinzugefügt wird, welchen Zweck hat das Ergebnis (wahr oder falsch)? Verwenden Sie in der if-Urteilsaussage ein leeres Urteil. Ich denke auch, dass die beiden Ergebnisse bedeutungslos sind. Wenn Sie kein Urteil fällen, haben Sie irgendwelche Gedanken darüber, es so zu schreiben?
Bitte geben Sie mir einen Rat.
<code>is_array($routing) && isset($routing['directory']) && $this->set_directory($routing['directory']); </code>Wussten Sie, dass dieses Symbol
ist? &&
Mit anderen Worten: true + true
und
müssen erfolgreich ausgeführt werden, bevor der dritte ausgeführt wird. Alle drei müssen erfolgreich ausgeführt werden, sonst wird er nicht ausgeführt. Wir können es in eine andere Schreibweise ändern: 第一个
第二个
<code>if (is_array($routhing) && isset($routing['directory'])) { $this->set_directory($routing['directory']); } </code>
Warum machst du das?
Tu das?
&&
<code>1、因为不涉及复杂的语句 2、简洁 3、直观、可读性强</code>