sql >> Databáze >  >> RDS >> Mysql

více funkcí je jedna velká funkce v PHP?

Funkce by měla mít jasně definované, úzké odpovědnosti s jasně definovanými, minimalistickými typy návratnosti. Pokud začnete vytvářet "boží funkce", které dělají všechno a kuchyňský dřez podle toho, jaké argumenty předáte, jdete silně do oblasti obtížně udržovatelného kódu špaget. Nechcete funkci, která udělá A a vrátí B, když jí předáte X, ale udělá C a vrátí D, když jí předáte Y atd...

Je dobré začít s betonem a postupem času zobecňujte, když uvidíte, že se objevují podobné vzorce. Vytvořte tedy metody, které skutečně potřebujete:

public function findUserById($id)
public function findUserByEmail($email)
public function updateCompanyName($id, $newName)

Pokud zjistíte, že mezi těmito funkcemi sdílíte kód, sjednoťte kód v zákulisí, aby byl SUCHÝ:

public function findUserById($id) {
    return $this->find('SELECT * FROM user WHERE id = ?', $id);
}

public function findUserByEmail($email) {
    return $this->find('SELECT * FROM user WHERE email = ?', $email);
}

protected function find($query, $arg) {
    ...
}

Nezačínejte opačně a nemyslete si, že „potřebujete pouze X, Y a Z“, které se zdají být dostatečně podobné na to, aby je bylo možné sjednotit do jedné metody, a později zjistěte, že mezi X, Y a Z jsou malé rozdíly, a zasypte svůj kód pro každého zvláštní případy. To vede k funkcím, které jsou buď geniální, nebo tak obecné, že v podstatě samy o sobě nic nedělají.



  1. Vytvořit tabulku, pokud neexistuje, z mysqldump

  2. Škálování vaší databáze časových řad – Jak jednoduše škálovat TimescaleDB

  3. PHPExcel a zalamování textu

  4. Jak zkrátit tabulku v postupu Oracle?