Анимация
JavaScript
|
Главная Библионтека for($i=0; $i<$Level*3; echo " "; echo "<b>".HtmlSpecialChars($k)."</b> => ", TextDump($v,$Level); else echo ",HtmlSpecialChars($Var),"."\n"; Основная функция function Dump(&$Var) { Подфункция, выводящая практически окончательный результат if((is array($Var)is object($Var)) && count($Var)) echo "<pre>\n",TextDump($Var),"</pre>\n"; else echo "<tt>",TextDump($Var),"</tt>\n"; В реальной жизни следует использовать функцию Dump(). Функция TextDump() (которая, по правде говоря, и делает всю работу) использует только одну неизвестную нам еще функцию - HtmlSpecialChars() , заменяющую в строке символы типа <, > или " на их HTML-эквиваленты (соответственно, <, > и "). Мы применили дополнительную функцию для того, чтобы вывести сам результат, а главная функция занимается только форматированием этого результата (вставка его в тэги <pre> или <tt> в зависимости от размера вывода). Несколько советов по использованию функций Хочется напоследок сказать еще несколько слов о функциях. Первое - не допускайте, чтобы ваши функции разрастались до гигантских размеров. Дробите их на маленькие, по возможности независимые, части, желательно полезные и сами по себе. Это повысит "читабельность", устойчивость и переносимость ваших программ. В идеале каждая функция не должна занимать больше 20-30 строк, возможно, за редким исключением. Этот совет применим вообще ко всем языкам программирования, а не только к PHP. Второе: как известно, вызов функции тоже отнимает какое-то время, поэтому распространено мнение, что чем меньше функций, тем быстрее работает программа. Оно в корне неверно: не стоит обращать внимания на цену вызова функции, пока она сама об этом не заявит. В конце концов, объединить несколько функций в одну всегда на порядок проще, чем разбить одну функцию на несколько. Помните об этом. Наконец, последнее: больше используйте встроенные, стандартные функции. Прежде чем писать какую-то процедуру, сверьтесь с документацией - возможно, она уже реализована в ядре PHP. Если это так, то не думайте, что сможете написать ее эффективнее на PHP - ведь часто самый неэффективный Си-код работает быстрее, чем самый изящный на PHP. Возможно, лучше пожертвовать объемом за счет быстродействия - например, при работе с базами данных и сложными файлами лучше применять стандартные функции сериализации, чем писать более эффективно упаковывающие, но свои, потому что стандартные работают очень быстро. Правда, из этого правила существуют и исключения: например, я бы не советовал вам использовать Serialize() для формирования строки, сохраняющейся в Cookies браузера - здесь лучше написать свои функции. Опять же, тут действует принцип: чем меньше в программе собственноручно реализованных функций, тем надежнее она будет работать и тем меньше ее придется тестировать. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 [ 66 ] 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 |