D.S.Denton
Expert-
Posts
993 -
Joined
-
Last visited
-
Days Won
1
Content Type
Profiles
Forums
Calendar
Store
Everything posted by D.S.Denton
-
во-первых, оно работает без проблем в php 4 и 5. во-вторых, оно удобнее. потому до тех пор, пока выполняются оба этих условия, писать со скобками приятнее
-
не ня... МЕТА должен находиться в голове документа
-
и что? для меня (не претендую на роль автора учебника, но может кому любопытно или нужно) оператор - тоже функция, выполняющая какое-либо действие. как пример (правда кривой): $a = 1 + 2. здесь по "стандартному" методу нет ни одной функции. тем не менее результат такого: function one_plus_two() {return (1 + 2);} $a = one_plus_two(); будет аналогичным. другое определение функции (by Denton): функция -- такая фиговина, которая чаще всего получает что-то при вызове и затем выполняет операции с этим "что-то". и под такое определение эхо вместе с принтом подходит куда больше, чем функция, вызываемая без параметров:+) а с практической точки зрения гораздо удобнее использовать скобки, чем писать без них. echo 'bla-bla-bla....длинная строка в общем'.$var1.$var2.'еще строка...'.$var3.str_replace("n",' ',$var666).'и еще строка'; читается менее удобно, чем тот же эхо, взятый в скобки - в хороших блокнотах типа notepad++ достаточно поставить курсор к одной из скобок для хайлайта их обоих и на глаз сразу прекрасно видно начало и конец оператора/функции. даже когда строка длиннее экрана, все равно выделенную красным цветом скобку увидеть при горизонтальном скролле проще, чем начало оператора. да, можно возразить что удобнее тогда разбить эту строку на разные и использовать точку для склейки. но это будет во-первых противоречить правилу "одна строка = один оператор", которого предпочитаю придерживаться в большинстве случаев, во-вторых если код сильно разветвленный и имеется много отступов, такая разбивка строки либо оставляет полно пустого места слева (при соблюдении отступов), либо рпридется нарушать отступы, что ухудшает читабельность. напротив, видя в коде строку, начинающуюся на echo(... и уходящую куда-то вправо, при соблюдении одновременно правил строка-оператор и расстановки скобок, сразу ясно что в этой строке будет до ее конца только вывод. аналогично про блоки. очевидно что при виде if(условие) { ..... .... ....... .... } else { ..... ..... .... } мы теряем две строки относительно моего стиля записи, который не менее читабелен, но зато на каждом подобном условии экономия двух строк позволяет вместить на одном экране по вертикали больше кода, соответственно охватить его взглядом легче, что уменьшает количество косяков из разряда невнимательности: if(условие) { ... .... ... } else { ... .... ... } почему не экономлю еще и переносом else { на строку выше? теряется структура отступов, так мы имеем в строке после if и else открывающую скобку, следовательно закрывающая находится по той же вертикали. а при перенове else на строку выше, он будет смещен относительно закрывающей на два символа вправо, что нелогчно - ведь смещение показывает вложенность, иначе говоря зависимость операторов, функций друг от друга, а собственно ключевое слово else не настолько зависит от if как операции из блока внутри фигурных скобок if'а, но будет располагаться с тем же смещением. и вдобавок операции из блока else'а относительно своего "родителя" не будут смещены. тот же notepad++ кроме хайлайта обеих фигурных скобок, проводит тонкую вертикальную линию от закрывающей скобки до строки, содержащей открывающую, т.е. мысленно между началом строки с {, собственно этой скобкой и закрывающей скобкой прямо так и напрашивается треугольник, который в полсекунды расширяется до прямоугольника и мы охватываем без особых напряжений все входящее в блок. почему пишу if(условие) {одна операция;} вместо if(условие) одна операция; - так же как echo, здесь видя начало строки сразу ясно что она до конца будет такой, а подсветка обеих скобок очень удобна. при ситуации же с длинным условием, вылезающим за пределы экрана, делаю if(длинное условие) {одна операция;} и все также кристалльно наглядно. /* это было стариковское ворчание перловика, любители народа и языков-солянок типа пхп идут мимо, не запоминая подобные способы записи кода, противоречащие их тонким душевным натурам */
-
спокойно. скачал со скрипт-архива себе десятка два скриптов и разбираешься в них. в некоторых даже хорошие комментарии попадаются (правда в русских редко, чаще в английских нормально комментируют)
-
а если сделать хинт - в фрейме этом невидимом вначале ставим размер 1*1, а потом у него по онлоад увеличиваем просто размеры
-
http://htmlbook.ru/html/img.html
-
у тебя action принимает строку в качестве значения. если в алгоритме сделаешь чтоб ему требовалась не строка, а целое число (1,2,3...), то получение значения из строки запроса сведется к $action = ((int)$_GET['action'] > 0) ? (int)$_GET['action'] : null;
-
да банально делай экшен вместо слова цифрой. и тогда при его взятии из скрипта используй (int) - все левые нечисловые варианты сведутся к нулю и не понадобится никаких двух функций для фильтра
-
ага, ну правильно тогда. не безнадежен значит:+) теперь на пальцах: switch(переменная) { // первое понятие... case(одно возможное значение): блок операций при выполнении равенства переменная == одно возможное значение break; // прерывание цикла вычислений, т.е. дальнейшие сравнения переменной с вариантами case не производится case(другое возможное значение): блок операций при выполнении равенства переменная == другое возможное значение break; // аналогично прерывание цикла вычислений, т.е. дальнейшие сравнения переменной с вариантами case не производится // второе понятие... case(значение 3): блок операций "M" при выполнении условия... case(значение 4): блок операций "N" при выполнении условия... break; // а здесь поскольку после блока М не стоит прерывание, при выполнении условия переменная == значение 3 будет выполнен также блок N //соответственно при равенстве переменной значению 4 - только блок N // также блока М может попросту не быть, если блок N одинаково требуется выполнить при значениях 3 и 4, будет просто case(значение 3): case(значение 4): ... break; // таких условий может быть сколько угодно в различных комбинациях // ну и последнее понятие... default: блок операций, выполняемый если не совпало ни одно условие break; // хотя здесь прерывание необязательно, цикл так и так закончился. } ну и посмотри теперь внимательно на свой код - вместо двоеточия после дефолта стоит точка с запятой. а даже если исправишь, все равно там не вписано совершенно ничего, что должно произойти по умолчанию.
-
серьезно? ответ неверный. 76: $articles[12]["body"]=$txt12; 77: $articles[13]["title"]='Черноголовая аратинга'; если предположить что считалось не с начала, отбросив <?php, выходит все равно не правильно. 76: $articles[13]["title"]='Черноголовая аратинга'; 77: $articles[13]["body"]=$txt13;
-
еще раз попробую пояснить что хочется услышать: на. какой. строке. приведенного. выше. кода. определяется. что. запрос. был. именно. таким. и. потому. необходимо. вызвать. эту. функцию? например: сколько ты ни обращайся к скрипту вида <?php echo('Hello, balbes!'); ?> с этим запросом, он ничего не сделает, потому что там нет обработки такого запроса. если и на этот раз не дошло, уже ничего не поделать.
-
это ты говоришь строку запроса (request string). я же спросил про номер строки в скрипте, где идет обращение к функции
-
ты так в этом уверен? если это подобие писал сам, а не копировал откуда-то, без труда скажешь номер строки, с которой вызывается эта функция для главной страницы. если скажешь правильно - подскажу ошибки
-
Manlix рулит, угу.
-
если из наших и на уровне "совсем ничего не знаю" - советую Дунаева читать. но косяков там хватает, конечно. а вообще начинать изучение PHP следует с какого-либо другого языка программирования
-
Кое что нужно дополнить... для полного счастья :)
D.S.Denton replied to Аксель's question in JavaScript
пишем в куку что именно скрыто, при заходе на страницу проверяем -
либо делаем выборку из таблиц, в которых собственно находится контент, либо при добавлении статьи или чего-то там в спец-таблицу "тэги" заносятся ключевые слова для данной статьи вручную (это типа ограниченный поиск, для отбора статей по тэгам), либо самый глобальный вариант - вообще весь текст проверяем и создаем пару таблиц для поискового индекса (в одной будут данные о словах как есть в тексте, в другой все возможные словоформы и синонимы)
-
а чего ты хочешь ответов, если 404 по ссылке
-
а каким образом ей передается адрес картинки?
-
к сожалению мой гпрс такого не выдержит, хоть и любопытно было бы глянуть. кстати не пробовал в папку flash сунуть вместо галереи под это имя какую-нибудь другую флешку - будет ли она работать?
-
а если попробовать задать и соответственно в ембеде указывать просто имя флешки?
-
виагра не помогает? тогда только картинкой или очень геморройным способом через фильтры где-то натыкался
-
мну на 90 сидит, т.к. при разрешении больше 1024*768 100 недоступно, скидывается к 90, а переключать обратно лень