Mysql
 sql >> база данни >  >> RDS >> Mysql

множество функции е една голяма функция в PHP?

Една функция трябва да има ясно дефинирани, тесни отговорности с ясно дефинирани, минималистични типове връщане. Ако започнете да създавате "божествени функции", които правят всичко и кухненската мивка в зависимост от това какви аргументи подавате, вие навлизате силно в територията на трудния за поддържане спагети код. Вие не искате функция, която прави A и връща B, ако й предадете X, но прави C и връща D, ако я предадете Y и т.н....

Добра идея е да започнете с бетон и обобщете с течение на времето, когато видите, че се появяват подобни модели. И така, създайте методите, от които всъщност се нуждаете:

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

Ако откриете, че имате споделен код между тези функции, унифицирайте кода зад кулисите, за да го запазите СУХ:

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) {
    ...
}

Не започвайте обратното, като си мислите, че "нужни са ви само X,Y и Z", които изглеждат достатъчно сходни, за да бъдат обединени в един метод, след което по-късно откривате, че има малки разлики между X, Y и Z и захвърляте кода си с специални случаи за всеки. Това просто води до функции, които са или огромни, или толкова общи, че всъщност не правят нищо сами.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да зададете стойност по подразбиране за колона за дата и час на MySQL?

  2. Съхранение на файлове за уеб приложения:файлова система срещу DB срещу NoSQL двигатели

  3. Архивиране на база данни на mysql с mysqldump

  4. SQL Server срещу MySQL:СЪДЪРЖА (*,'FORMSOF(THESAURUS,word)')

  5. Laravel left Присъединете само последния запис от дясната таблица