За последние 24 часа нас посетили 59117 программистов и 1811 роботов. Сейчас ищут 997 программистов ...

Хороший и плохой тон написания проектов на PHP

Тема в разделе "PHP для новичков", создана пользователем Darken, 9 фев 2009.

  1. Darken

    Darken Активный пользователь

    С нами с:
    2 фев 2009
    Сообщения:
    38
    Симпатии:
    0
    Уважаемые, хотелось бы выслушать ваше мнение по поводу того каким должен быть текст сценариев и каким не должен, что вы считаете хорошим и плохим тоном? Мне например не нравится когда создают один большой файл с функциями никак их не группируя и добавляют все в него, терпимо когда функций 10-20, а когда 50 и более с похожими названиями и еще объедененные "мегаклассами" бывает сложно разобраться.

    Как начинающий программист PHP, хотел бы выслушать ваши советы по данному поводу.
     
  2. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    ты покажи как ты делаешь, а мы уж осудим, не вопрос.
     
  3. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    Как сказал Psih, ООП ради ООП, вот это я не люблю
     
  4. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    А как учиться писать на ООП, если до этого человек писал только процедурный код? Без ООП ради ООП не постичь ООП. Главное не останавливаться на этом шаге.
     
  5. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    не, я имел ввиду что ооп который оопает ооп это плохо :)
     
  6. Greg1978

    Greg1978 Активный пользователь

    С нами с:
    18 окт 2008
    Сообщения:
    484
    Симпатии:
    0
    Адрес:
    class SenjorUser{}
    Интересно что за код где свыше 50 методов.
    Mr.M.I.T.
    глубокая мысль :D
     
  7. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    Года два назад я писал файл "functions.php", который инклудил в индекс, в котором около 100-200 функций бывало. Строчек там - несколько тысяч
     
  8. Darken

    Darken Активный пользователь

    С нами с:
    2 фев 2009
    Сообщения:
    38
    Симпатии:
    0

    Например такая "простынка"

    Код (Text):
    1.  
    2. $query = "SELECT * FROM `belts` WHERE `car` LIKE '%".$car."%' ";
    3. $result =  mysql_query($query);
    4. $num_rows = mysql_num_rows($result);
    5. if ($num_rows==0)
    6.    {
    7.    echo 'По вашему запросу ничего не найдено';
    8.    }
    9. else
    10.    {
    11.    echo " Найдено ремней: $num_rows <br />";
    12.  
    13. ?>
    14.     <br />
    15.     <table border="1" width="100%">
    16.       <rt align="center">
    17.       <th rowspan="2">Модель</th>
    18.       <th rowspan="2">Кузов</th>
    19.       <th rowspan="2">Двигатель</th>
    20.       <th colspan="2">Годы выпуска</th>
    21.       <th colspan="2">Генератор</th>
    22.       <th colspan="2">Гидроусилитель</th>
    23.       <th colspan="2">Кондиционер</th>
    24.       <th rowspan="2"> </th>
    25.       </tr>
    26.       <tr align="center" bgcolor="silver">
    27.       <td>от</td>
    28.       <td>до</td>
    29.       <td>GATES</td>
    30.       <td>OEM</td>
    31.       <td>GATES</td>
    32.       <td>OEM</td>
    33.       <td>GATES</td>
    34.       <td>OEM</td>
    35.       </tr>
    36.  
    37. <?php
    38.        while($arr = mysql_fetch_array($result))
    39.       {
    40. ?>
    41. <form action="edit_belts.php" method="post">
    42.  
    43.       <tr>
    44.         <td><input name="car_e" type="hidden"><?php echo $arr['car']."&nbsp";?></td>
    45.         <td><input name="body_e" type="hidden"><?php echo $arr['body']."&nbsp";?></td>
    46.         <td><input name="dvs_e" type="hidden"><?php echo $arr['dvs']."&nbsp";?></td>
    47.         <td><input name="otyear_e" type="hidden"><?php echo $arr['otyear']."&nbsp";?></td>
    48.         <td><input name="doyear_e" type="hidden"><?php echo $arr['doyear']."&nbsp";?></td>
    49.         <td><input name="gen_gates_e" type="hidden"><?php echo $arr['gen_gates']."&nbsp";?></td>
    50.         <td><input name="gen_oem_e" type="hidden"><?php echo $arr['gen_oem']."&nbsp"; ?></td>
    51.         <td><input name="gid_gates_e" type="hidden"><?php echo $arr['gid_gates']."&nbsp";?></td>
    52.         <td><input name="gid_oem_e" type="hidden"><?php echo $arr['gid_oem']."&nbsp"; ?></td>
    53.         <td><input name="cond_gates_e" type="hidden"><?php echo $arr['cond_gates']."&nbsp"; ?></td>
    54.         <td><input name="cond_oem_e" type="hidden"><?php echo $arr['cond_oem']."&nbsp";?></td>
    55.         <td><input name="chec" type="checkbox" value="ON"></td>
    56.         </tr>
    57.  
    58. <?php
    59.       }
    60. ?>
    61.    </table><BR />
    62.    <div align="right"><input type="submit" value="Изменить"></div>
    63.    </form>
    64. <?php
    65.    }
    Где-то читал на форуме, что мешать HTML и PHP не есть гуд, но как сделать по другому пока не сообразил (ввиду того, что только начинаю изучение PHP).
    Кстати по данному коду возникает вопрос, как информацию из полей таблицы "вытащить" в другой сценарий для дальнейшей обработки (изменения записи в базе) и как сделать так чтобы данные "вытаскивались" только из той строки, где галочка <input name="chec" type="checkbox" value="ON"> включена?
    Может кто подскажет как сделать проще?

    Логика должна быть примерно такая:
    1. Достаем из базы строки в которых car похоже на car
    2. Записываем данные в массив
    3. Формируем таблицу с результатами (отпускаем первое поле id) + добавляем столбец с <input name="chec" type="checkbox" value="ON">
    4. При нажатии на кнопку "Изменить" передаем ТОЛЬКО содержимое тех строк в которых стоит галочка <input name="chec" type="checkbox" value="ON"> в сценарий обработки edit_belts.php, либо массивом, либо отдельно переменными из HTTP_POST_VARS

    буду рад выслушать ваши предложения и возможные пути решения
     
  9. ZZZubec

    ZZZubec Активный пользователь

    С нами с:
    28 мар 2007
    Сообщения:
    140
    Симпатии:
    0
    я думал у меня одного был переходный период )))
    хороший алгоритм - это понятный, как у тя.
    1 вариант:
    ничего не делаешь кроме стандартной формы, все изменения будут включены + то что не изменилось
    2 вариант:
    при нажатии на кнопку( ссылку или картинку), уходит на JavaScript который просматривает все изменения и генерит url, на который и переходит

    *мешать или не мешать, взбалтывать или не взбалтывать - это решение в больше степени зависит не от тебя, а от ситуации...


    по поводу сабжа:
    если человек-заказчик просит, чтобы было красиво, я сделаю красиво, ему даже оплачивать не придется, потому тчо приятно работать с человеком понимающим. но таких 1 из 100.
    чаще всего обыкновенный-заказчик, который больше думает о прибыли. В частности как меньше потратить на скрипт который ты ему делаешь. Его интересует только: цена вопроса + сроки, вот и какой смысл стараться, если он туда даже не заглянет?

    есть правила которыми я придерживаюсь, удаляю целиком начатую строку если доустил (так скажем) ошибку в граматике. Я думаю, это нормально, это у каждого. Также как мы учим иностранный язык, если нам не нравится произношение, то мы останавливаемся и повторяем фразу или слово до тех пор, пока не добьемся чё хотели.
    Спасибо что осилили стоко букв )))
     
  10. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    А аутолоад придумали, чтобы он просто несколько килобайт в ядре php занимал? ;-)
     
  11. Darken

    Darken Активный пользователь

    С нами с:
    2 фев 2009
    Сообщения:
    38
    Симпатии:
    0
    можно поподробнее сециально для тех кто на бронепоезде?
     
  12. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда