fork download
  1. <?php
  2. //сука блядь ладно, еще раз пишу, но короче уже, без самих потроков, функций, чисто подход.
  3. //опишем всё это говно на примере простой функции сохранения юзера в базу.
  4.  
  5. //Нубас допустим пишет функцию такого вида:
  6.  
  7. public function saveUserNoobStyle($name, $email, $password) {
  8.  
  9. //ну если слышал об инекциях, тот тут у него наверное какая-нибудь фильтрация
  10. $query = "INSERT INTO users (name, email, password) VALUES (`$name`, `$email`, `$password`);";
  11. //выполнение запроса что бы сохранить этого юзера в базу
  12. //заебись
  13. }
  14.  
  15. //но стоит в системе сущности юзера хоть немного измениться или расшириться, то придется переписывать все связанные с ним функции, в том числе и эту.
  16.  
  17. public function saveUserFuckedUp($name, $email, $password, $age, $sex, $birthday, $avatar, $skype, $phone, $second_email, $secret_question, $secret_answer) {
  18. //ну если слышал об инекциях, тот тут у него наверное какая-нибудь фильтрация
  19. $query = "INSERT INTO users (name, email, password, age, sex, birthday, avatar, skype, phone, second_email, secret_question, secret_answer)
  20. VALUES (`$name`, `$email`, `$password`, `$age`, `$sex`, `$birthday`, `$avatar`, `$skype`, `$phone`, `$second_email`, `$secret_question`, `$secret_answer`);";
  21. //выполнение запроса
  22. //чет уже не заебись, постоянно в итоге возишься с подобным говнищем, тупо перепиливая старые говнофункции
  23.  
  24. }
  25.  
  26. //а ведь она такая не одна, их же в системе туча, и вот заебавшись с таким говном, наш поумневший кодер хуярит метод. который будет нормально принимать в себя массив инфы о юзере
  27. //например такого вида:
  28.  
  29. $userData = array(
  30. 'name' => "petya",
  31. 'email' => "qwe@qwe.qwe",
  32. 'password' => "qwerty123"
  33. );
  34.  
  35. //и сама функция
  36. public function saveUserCoolWay(array $userData) {
  37. //ну и кароче тут хитровыебанный код, который сам строит запрос в зависимости от того какой у нас передан массив
  38. $query = "INSERT INTO users";
  39. foreach (array_keys($userData) as $keys) {
  40. //докидывает ключи в запрос
  41. //круто код, прям ух, дербаним массив, всё склеиваем и так далее
  42. $query .= $key;
  43. }
  44.  
  45. foreach ($userData as $values) {
  46. //докидывает значения в запрос
  47. //бла бла бла
  48. $query .= $value;
  49. //ну вы поняли надеюсь
  50. }
  51.  
  52.  
  53. //и для вот массива который привенен в пример выше, он сам построит запрос вида:
  54. //$query = "INSERT INTO users (name, email, password) VALUES (`petya`, `qwe@qwe.qwe`, `qwerty123`);";
  55. //выполнение запроса
  56. }
  57.  
  58. //но если передать в такую функцию например массив вида:
  59. $userData = array(
  60. 'name' => "petya",
  61. 'email' => "qwe@qwe.qwe",
  62. 'password' => "qwerty123"
  63. 'sex' => "male",
  64. 'age' => "15",
  65. 'huy' => "1"
  66. 'pizda' => "0",
  67. 'jigurda' => "asdasd",
  68. 'nebo' => "qweqwe"
  69. 'allah' => "23123",
  70. );
  71.  
  72. $this->saveUserCoolWay($userData);
  73. //то там у себя внутри, она сама попытается выполнить следующий запрос сама
  74. //$query = "INSERT INTO users (name, email, password, sex, age, huy, pizda, jigurda, nebo, allah) VALUES (`petya`, `qwe@qwe.qwe`, `qwerty123`, `male`, `15`, `1`, `0`, `asdasd`, `qweqwe` `23123`);";
  75.  
  76. //ну и вот уже охуенно смотрится. Как бы заказчик не пиздоебенил юзеров, начиная продавать им всякие вип статусы и прочее, в коде с этим не будет проблем, наша функция уже всё схавает
  77. //но тут наш погромизд замечает, что дескать под каждую таблицу копипаста получается, ведь алгоритм везде примерно одинаковый, и выкидывает все левые функции инсерта в базу, заменяя её на одну
  78.  
  79.  
  80. public function saveWatever($where, array $saveData) {
  81. $query = "INSERT INTO $where";
  82. foreach (array_keys($saveData) as $keys) {
  83. //докидывает ключи в запрос
  84. //круто код, прям ух, дербаним массив, всё склеиваем и так далее
  85. $query .= $key;
  86. }
  87.  
  88. foreach ($saveData as $values) {
  89. //докидывает значения в запрос
  90. //бла бла бла
  91. $query .= $value;
  92. }
  93.  
  94.  
  95. }
  96.  
  97. //и в коде в итоге может одной функцией пользоваться И НЕ ЕБАТЬ СЕБЕ НИКОГДА БОЛЬШЕ МОЗГИ
  98. $useData = array(...);
  99. $this->saveWatever('users', $userData);
  100.  
  101. $paymentData = array(...);
  102. $this->saveWatever('payments', $paymentData);
  103.  
  104. //ну карчое насколько я понимаю, такой вот подход используется во фреймворках, и вообще является топчиком в плане расширяемости
  105.  
  106.  
Runtime error #stdin #stdout #stderr 0s 82880KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
PHP Parse error:  syntax error, unexpected 'public' (T_PUBLIC), expecting end of file in /home/aKUA5y/prog.php on line 7