|
|
| version 1.16, 2002/02/27 09:05:36 | version 1.20, 2002/03/18 15:29:45 |
|---|---|
| Line 49 Xне сделано, видимо, не будет сделано | Line 49 Xне сделано, видимо, не будет сделано |
| !^switch[значение]{^case[вариант1[;вариант2...]]{действие}^case[DEFAULT]{действие по умолчанию}} | !^switch[значение]{^case[вариант1[;вариант2...]]{действие}^case[DEFAULT]{действие по умолчанию}} |
| !^while(условие){тело} | !^while(условие){тело} |
| !^for[i](0;4){тело}[[разделитель]|{разделитель который выполняется перед непустым очередным не первым телом}] | !^for[i](0;4){тело}[[разделитель]|{разделитель который выполняется перед непустым очередным не первым телом}] |
| X^exit[] + - прекращяет обработку запроса. | !^use[модуль] |
| !^try{ | |
| ... | |
| !^throw[sql.connect;вася;болван] // был ^error[текст] | |
| ... | |
| }{ | |
| ^if($exception.type eq sql){ | |
| $exception.handled(1) ^rem{флаг, что exception обработан} | |
| .... | |
| } | |
| ^switch($exception.type){ | |
| ^case[sql;mail]{ | |
| $exception.handled(1) | |
| код, обрабатывающий sql ошибку | |
| $exception.type = sql.connect | |
| $exception.file $exception.lineno [если не запрещены при компиляции] | |
| $exception.source = вася | |
| $exception.comment = болван | |
| ^if($exception.type eq connect){^cache[read]} | |
| } | |
| ^case[_default]{ | |
| код, обрабатывающий другую ошибку | |
| ^throw[$exception] << re-throw | |
| } | |
| } | |
| } | |
| ^exit[] + - прекращяет обработку запроса. | |
| удобно сделать после выставления 401 ошибки | удобно сделать после выставления 401 ошибки |
| X^return[результат] + - отваливает из выполнения метода, | ^return[результат] + - отваливает из выполнения метода, |
| выдавая нестандартный результат | выдавая нестандартный результат |
| X^break[] + - обрывает цикл | ^break[] + - обрывает цикл |
| X^continue[] + - обрывает итерацию цикла | ^continue[] + - обрывает итерацию цикла |
| !^use[модуль] | |
| X^try{код}{...catch...} пока не придумал, как лучше | |
| !^untaint[[as-is|file-spec|http-header|mail-header|uri|table|sql|js|xml|html|optimized-html]]{код} | !^untaint[[as-is|file-spec|http-header|mail-header|uri|table|sql|js|xml|html|optimized-html]]{код} |
| default as-is | default as-is |
| !^taint[[lang]][код] | !^taint[[lang]][код] |
| Line 114 odbc c:\drives\y\parser3project\odbc\ | Line 139 odbc c:\drives\y\parser3project\odbc\ |
| ставить такой префикс перед открывающим апострофом, впритык, везде без проблелов | ставить такой префикс перед открывающим апострофом, впритык, везде без проблелов |
| /**имя_поля**/'literal' | /**имя_поля**/'literal' |
| !^rem{} | !^rem{} |
| !^error[текст] | |
| !^cache[файл](секунд){код} | !^cache[файл](секунд){код} |
| !скэшировать строку, которая получается при выполнении кода на 'секунд' секунд | !скэшировать строку, которая получается при выполнении кода на 'секунд' секунд |
| !если 0секунд, значит не кэшировать, а старый такой стереть | !если 0секунд, значит не кэшировать, а старый такой стереть |
| ^cache[delete] << не кэшировать, старое забыть | |
| ^cache[read] << взять скэшированное насильно, игнорируя expires | |
| Xесть глобальный флажок в свойствах/командной строке "не оптимизировать" | Xесть глобальный флажок в свойствах/командной строке "не оптимизировать" |
| !и есть исключение: ^untaint[html]{код} не оптимизируется безотностительно флажка | !и есть исключение: ^untaint[html]{код} не оптимизируется безотностительно флажка |
| Line 265 odbc c:\drives\y\parser3project\odbc\ | Line 292 odbc c:\drives\y\parser3project\odbc\ |
| !^таблица.join[таблица] - добавляет записи из таблицы. | !^таблица.join[таблица] - добавляет записи из таблицы. |
| таблицы должны иметь одинаковую структуру. | таблицы должны иметь одинаковую структуру. |
| !^таблица.flip[] выдаёт транспонированную, надо куда-то сложить, потом пользовать | !^таблица.flip[] выдаёт транспонированную, надо куда-то сложить, потом пользовать |
| !^таблица.locate[поле;значение] выдаёт bool | !^таблица.locate[поле;значение] передвигает текущую строку, если найдёт. выдаёт bool |
| !^таблица.locate(логическое выражение) передвигает текущую строку, если найдёт. выдаёт bool | |
| !^таблица.hash[поле, что будет ключом][[поле значений|table поля значений]]+ | !^таблица.hash[поле, что будет ключом][[поле значений|table поля значений]]+ |
| значением $hash.ключ будет hash в котором поля значений будут ключами | значением $hash.ключ будет hash в котором поля значений будут ключами |
| поля значений могут быть не указаны, тогда ими будут все столбцы, включая ключевой | поля значений могут быть не указаны, тогда ими будут все столбцы, включая ключевой |
| Line 327 odbc c:\drives\y\parser3project\odbc\ | Line 355 odbc c:\drives\y\parser3project\odbc\ |
| ! $value[abc] field: {abc}<<часть | ! $value[abc] field: {abc}<<часть |
| ! $attribute[zzz] field: abc; {attribute=zzz}<<часть | ! $attribute[zzz] field: abc; {attribute=zzz}<<часть |
| !$response:body[DATA] замещает стандартный ответ | !$response:body[DATA] замещает стандартный ответ |
| !$response:status | |
| !^response:clear[] забыть все заданные response поля | !^response:clear[] забыть все заданные response поля |
| !$response:charset | !$response:charset |
| кодировка клиента т.е. та, | кодировка клиента т.е. та, |
| Line 514 Xhashfile | Line 543 Xhashfile |
| !^date.roll[year|month|day](+/- 1) сдвигает дату | !^date.roll[year|month|day](+/- 1) сдвигает дату |
| !^date.sql-string[] %Y-%m-%d %H:%M:%S | !^date.sql-string[] %Y-%m-%d %H:%M:%S |
| where published='$дата.sql-string[]' | where published='$дата.sql-string[]' |
| !^date:calendar[rus|eng;год;месяц] выдаёт таблицу | !^date:calendar[rus|eng;год;месяц] выдаёт неименованную таблицу |
| !^date:calendar[rus|eng;год;месяц;день] выдаёт таблицу | столбцы: 0..6 |
| !^date:calendar[rus|eng;год;месяц;день] выдаёт именнованную таблицу | |
| столбцы: year, month, day, weekday | |
| xdoc(xnode) | xdoc(xnode) |
| DOM1 attributes: | DOM1 attributes: |
| Line 744 xdoc(xnode) | Line 775 xdoc(xnode) |
| !результат которого передаётся в его @post-process[data] if($data is string) ... | !результат которого передаётся в его @post-process[data] if($data is string) ... |
| !результат которого отдаётся пользователю | !результат которого отдаётся пользователю |
| !если встречается ошибка, её можно красиво сообщить пользователю, | !если встречается ошибка и try не задан, её можно красиво сообщить пользователю, |
| !определив | !определив |
| !@exception[origin;source;comment;type;code;stack] | !@unhandled_exception[exception;stack] |
| !origin файл(строка) где случилась проблема | !$exception.type строка "тип проблемы" |
| !source строка, из-за которой случилась проблема | !$exception.file $exception.lineno файл и строка где случилась проблема [если не запрещены при компиляции] |
| !comment комментарий english | !$exception.source строка, из-за которой случилась проблема |
| !type строка "тип проблемы" (пока пусто) | !$exception.comment комментарий english |
| !code строка "код проблемы" (пока пусто) | !stack табличка из колонок file line name, |
| !stack табличка из колонок origin name, | там лежат в обратном порядке имена[name] и места вызовов[file line] |
| там лежат в обратном порядке имена[name] и места вызовов[origin] | |
| операторов/методов, приведших к ошибке. | операторов/методов, приведших к ошибке. |
| !нужно выключить русский apache: CharsetDisable on | !нужно выключить русский apache: CharsetDisable on |