1. PHP / Говнокод #25021

    −2

    1. 1
    Кто как произносит слово "PHP"?

    "PHP", "PHP", "PHP" - это "P", это "H", это "P"

    Perevedi_na_PHP, 25 Октября 2018

    Комментарии (5)
  2. PHP / Говнокод #25004

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    /* Сортировка начало */
            if (Yii::$app->request->get('sort_number') && strlen(Yii::$app->request->get('sort_number')) === 4) {
                $model->orderBy([
                    'number' => SORT_DESC,
                ]);
            } else {
                if (Yii::$app->request->get('sort_number') && strlen(Yii::$app->request->get('sort_number')) === 5) {
                    $model->orderBy([
                        'number' => SORT_ASC,
                    ]);
                }
            }
            if (Yii::$app->request->get('sort_domain_name') && strlen(Yii::$app->request->get('sort_domain_name')) === 4) {
                $model->orderBy([
                    $company_name => SORT_DESC,
                ]);
            } else {
                if (Yii::$app->request->get('sort_domain_name') && strlen(Yii::$app->request->get('sort_domain_name')) === 5) {
                    $model->orderBy([
                        $company_name => SORT_ASC,
                    ]);
                }
            }
            if (Yii::$app->request->get('sort_domain_id') && strlen(Yii::$app->request->get('sort_domain_id')) === 4) {
                $model->orderBy([
                    'domain_id' => SORT_DESC,
                ]);
            } else {
                if (Yii::$app->request->get('sort_domain_id') && strlen(Yii::$app->request->get('sort_domain_id')) === 5) {
                    $model->orderBy([
                        'domain_id' => SORT_ASC,
                    ]);
                }
            }
            if (Yii::$app->request->get('sort_id') && strlen(Yii::$app->request->get('sort_id')) === 4) {
                $model->orderBy([
                    'id' => SORT_DESC,
                ]);
            } else {
                if (Yii::$app->request->get('sort_id') && strlen(Yii::$app->request->get('sort_id')) === 5) {
                    $model->orderBy([
                        'id' => SORT_ASC,
                    ]);
                }
            }
            /* Сортировка конец */
    
            /* Поиск начало */
            if (Yii::$app->request->get('id') && strlen(Yii::$app->request->get('id')) >= 1) {
                $model->andWhere([
                    'id' => Yii::$app->request->get('id'),
                ]);
            }
            if (Yii::$app->request->get('number') && strlen(Yii::$app->request->get('number')) >= 3) {
                $model->andWhere(['number' => Yii::$app->request->get('number'),
                ]);
            }
            if (Yii::$app->request->get('domain_name') && strlen(Yii::$app->request->get('domain_name')) >= 3) {
                $model->andWhere([$company_name => Yii::$app->request->get('domain_name'),
                ]);
            }
            if (Yii::$app->request->get('domain_id') && strlen(Yii::$app->request->get('domain_id')) >= 3) {
                $model->andWhere(['domain_id' => Yii::$app->request->get('domain_id'),
                ]);
            }
            if (Yii::$app->request->get('appointment') && strlen(Yii::$app->request->get('appointment')) >= 3) {
                $model->andWhere(['appointment' => Yii::$app->request->get('appointment'),
                ]);
            }
            /* Поиск конец */

    Джуна отправили в свободное плавание... как вам?

    ZeiZ, 20 Октября 2018

    Комментарии (34)
  3. PHP / Говнокод #24940

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    <?php
    define('+1', 16384);
    ${'*.'} = function ($a, $b) {
        return floor($a * $b / constant('+1'));
    };
    
    ${'/.'} = function ($a, $b) {
        return floor($a * constant('+1') / $b);
    };
    
    echo ${'/.'}(1, 1) . "\n";
    echo ${'/.'}(1, 2) . "\n";
    echo ${'/.'}(7, 34) + ${'/.'}(23, 99) . "\n";

    Где-то за кулисами прячется факт, что в "PHP" в качестве имён констант и переменных можно использовать произвольные строки.

    https://ideone.com/3MCnCW

    4EPTA_KyJIuC, 19 Октября 2018

    Комментарии (22)
  4. PHP / Говнокод #24939

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    public function index(Request $request)
        {
            $user = User::find(Auth::user()->id);
    
            if($request->method() == 'POST') {
                $user->username = $request->post('username');
                $user->email = $request->post('email');
                $user->save();
                return redirect()->to(route('account.settings'));
            }
            return view('Account::settings.index', ['user' => $user]);
        }

    bearma, 19 Октября 2018

    Комментарии (1)
  5. PHP / Говнокод #24936

    −1

    1. 1
    Грядет конец PHP

    В общем вот:

    https://www.linux.org.ru/forum/talks/14542930

    Компания Rogue Wave, финансовая основа разработки PHP, решила забить на развитие PHP, сосредоточившись на одном конкретном продукте на его основе - Zend Server. Два года назад из нее ушел первый сооснователь Zend. Теперь же... Ядро команды, включая второго сооснователя Zend, уходит из компании. Они заранее написали в своих бложиках обращение с просьбой взять их под свое крыло для разработки ядра PHP 8.

    Как-то это мрачновато звучит. Похоже, похапэ-капец настал.

    Подробности по-русски на Хабре: https://habr.com/post/426809/

    Elvenfighter, 18 Октября 2018

    Комментарии (14)
  6. PHP / Говнокод #24922

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    <?php
    if (isset($block4_items_block) || count($block4_items_block) >= 3 || (isset($block4_items_block[0]['bg']) || isset($block4_items_block[1]['bg']) || isset($block4_items_block[2]['bg'])) || (isset($block4_items_block[0]['title']) || isset($block4_items_block[1]['title']) || isset($block4_items_block[2]['title'])) || (strlen($block4_items_block[0]['bg']) > 0 || strlen($block4_items_block[1]['bg']) > 0  || strlen($block4_items_block[2]['bg']) > 0 ) || (strlen($block4_items_block[0]['title']) > 0 || strlen($block4_items_block[1]['title']) > 0  || strlen($block4_items_block[2]['title']) > 0 )){
    
    ?>

    Прислал друг.
    Примерно такое же условие еще находится в шаблоне.

    StTv, 15 Октября 2018

    Комментарии (21)
  7. PHP / Говнокод #24921

    −3

    1. 1
    $keys = array_keys(array_flip($keys));

    Малая доля индусского кода

    kgk, 14 Октября 2018

    Комментарии (17)
  8. PHP / Говнокод #24900

    −1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    public static function findById($id)
        {
            $model = self::where('id', $id)->get();
    
            $count = $model->getIterator()->count();
            if($count > 0) {
                return $model->getIterator()->current();
            }
    
            return false;
        }

    Laravel Eloquent Model

    pb92, 11 Октября 2018

    Комментарии (7)
  9. PHP / Говнокод #24857

    −2

    1. 1
    2. 2
    PHP + Java = JPHP
    https://habr.com/post/425223/

    Поэтому я за "JPHP".

    JPHP, 04 Октября 2018

    Комментарии (9)
  10. PHP / Говнокод #24851

    −3

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    99. 99
    require_once $_SERVER['DOCUMENT_ROOT'] . '/models/core/class.Application.php';
    require_once 'class.DatabaseConnect.php';
    require_once 'class.DatabaseResult.php';
    
    class DatabaseQuery extends Application {
    
        private $m_db_connect = NULL; //Соединение с БД
        private $m_query_statment = NULL; //Результат последнего запроса
        private $m_construct_query = NULL; //Строка формирования запроса
    
        public function __construct(DatabaseConnect $db_connect) {
            $this->m_db_connect = $db_connect;
        }
        
        public function __destruct() {
            $this->m_db_connect = null;
        }
    
        //Вставляет данные в таблицу
        public function insert($data) {
            if (count($data) === 0)
                return false;
            $query_list = [];
            //Обход таблиц
            foreach ($data as $t_name => $table) {
    
                //Ассациативный массив даннвх, где ключ массива это имя колонки в БД
                $column_list = [];
                //Копируем данные в отдельный массив	
                foreach ($table as $c_name => $column)
                    $column_list[$c_name] = $column;
                //Строка запроса
                $query = "INSERT INTO {$t_name} (" . implode(', ', array_keys($column_list)) . ') VALUES ';
                //Выпоняем обход
                for ($i = 0; $i < count($column_list[array_keys($column_list)[0]]); $i++) {
                    $query_values = '(';
                    //
                    foreach ($column_list as $c_name => $column)
                        $query_values .= '\'' . $column_list[$c_name][$i] . '\',';
    
                    $query_values = chop($query_values, ',') . '),';
                    $query .= $query_values;
                }
                $query_list[] = chop($query, ',');
            }
    
            try {
                for ($i = 0; $i < count($query_list); $i++) {
                    $result = $this->query($query_list[$i]);
                }
            } catch (PDOException $e) {
                Application::handlerErrorDB($e);
                return false;
            }
    
            return true;
        }
    
        public function setSelect($data = ['*']) {
            $query = 'SELECT ';
            foreach ($data as $v)
                $query .= $v . ',';
            $this->m_construct_query = chop($query, ',') . ' ';
            return $this;
        }
    
        public function setDelete($tables = []) {
            $query = 'DELETE ';
            foreach ($tables as $v)
                $query .= $v . ',';
            $this->m_construct_query = chop($query, ',') . ' ';
            return $this;
        }
    
        public function setUpdate($tables) {
            $query = 'UPDATE ';
            foreach ($tables as $v)
                $query .= $v . ',';
            $this->m_construct_query = chop($query, ',') . ' ';
            return $this;
        }
    
        public function setSet($data) {
            $query = 'SET ';
            foreach ($data as $k => $v)
                $query .= "$k = '$v',";
            $this->m_construct_query .= chop($query, ',') . ' ';
            return $this;
        }
    
        public function setFrom($tables) {
            $query = 'FROM ';
            foreach ($tables as $v)
                $query .= $v . ',';
            $this->m_construct_query .= chop($query, ',') . ' ';
            return $this;
        }
    
        ...

    Вот что бывает когда у тебя юношеский максимализм - ты пытаешь написать свой фреймворк, и при этом это твой первый проект на PHP.

    C3-PO, 03 Октября 2018

    Комментарии (17)