ubrouting [2019/07/29 10:57] nightfly [О Исключениях] |
ubrouting [2019/07/30 22:50] (текущий) nightfly |
| | | |
| Кстати да. Это все доступно начиная с Ubilling 1.0.0 rev 6925. | | Кстати да. Это все доступно начиная с Ubilling 1.0.0 rev 6925. |
- | ==== О проверке переменных на существование ==== | + | ===== О проверке переменных на существование ===== |
| | | |
| Если вы уже ранее разрабатывали код для Ubilling или хотя-бы вдумчиво его изучали, то подобные конструкции должны быть для вас очень знакомыми: | | Если вы уже ранее разрабатывали код для Ubilling или хотя-бы вдумчиво его изучали, то подобные конструкции должны быть для вас очень знакомыми: |
| </code> | | </code> |
| (да, мы ожидаем оба поля не пустыми) | | (да, мы ожидаем оба поля не пустыми) |
- | ==== О получении значений переменных ==== | + | ===== О получении значений переменных ===== |
| | | |
| Окей. С проверкой данных на сам факт их прилета разобрались. А как теперь получать их значения? Да вообще без проблем. Давайте на примере той же формы. | | Окей. С проверкой данных на сам факт их прилета разобрались. А как теперь получать их значения? Да вообще без проблем. Давайте на примере той же формы. |
| | | |
| Кстати, в случае, если вы пытаетесь получить переменную при помощи **::get** или **::post** а ее нету (да, она тупо не isset) оба этих метода будут честно возвращать **false**. Не забываем, что для таких проверок следует использовать сравнение типа !==false а не прямой if (!ubRouting::get('somevar')) так как он будет срабатывать как в случае пустой переменной так и ее несуществования в принципе. | | Кстати, в случае, если вы пытаетесь получить переменную при помощи **::get** или **::post** а ее нету (да, она тупо не isset) оба этих метода будут честно возвращать **false**. Не забываем, что для таких проверок следует использовать сравнение типа !==false а не прямой if (!ubRouting::get('somevar')) так как он будет срабатывать как в случае пустой переменной так и ее несуществования в принципе. |
- | ==== О их фильтрации ==== | + | ===== О их фильтрации ===== |
| | | |
| Также вы можете фильтровать данные прямо в процессе их получения, налету. Допустим, мы хотим быть уверенными, что в newname у нас будут буковки, циферки и вообще что угодно но отфильтрованое для записи в MySQL а в newsize - только циферки. | | Также вы можете фильтровать данные прямо в процессе их получения, налету. Допустим, мы хотим быть уверенными, что в newname у нас будут буковки, циферки и вообще что угодно но отфильтрованое для записи в MySQL а в newsize - только циферки. |
| $data = ubRouting::get('another','fi',FILTER_SANITIZE_NUMBER_INT); | | $data = ubRouting::get('another','fi',FILTER_SANITIZE_NUMBER_INT); |
| </code> | | </code> |
- | ==== О навигации ==== | + | ===== О навигации ===== |
| | | |
| Возможно вам захочется делать при помощи этого же объекта какую-то внутреннюю навигацию. Для этого есть короткий и удобный метод nav($url) который вы можете использовать как-то так: | | Возможно вам захочется делать при помощи этого же объекта какую-то внутреннюю навигацию. Для этого есть короткий и удобный метод nav($url) который вы можете использовать как-то так: |
| Да, это всего навсего просто удобный и короткий алиас для rcms_redirect($url) | | Да, это всего навсего просто удобный и короткий алиас для rcms_redirect($url) |
| | | |
- | ==== Сырые данные ==== | + | ===== Сырые данные ===== |
| | | |
| Также можно получать копии суперглобальных массивов $_GET и $_POST целиком, при помощи соответствующих методов. | | Также можно получать копии суперглобальных массивов $_GET и $_POST целиком, при помощи соответствующих методов. |
| | | |
| | | |
- | ==== О Исключениях ==== | + | ===== О Исключениях ===== |
| | | |
| При попытках использования недопустимых $filtering или неверном указании коллбек-функции в ::get/::post методах а также пустых параметрах для ::check методов, будут выброшены соответствующие исключения: | | При попытках использования недопустимых $filtering или неверном указании коллбек-функции в ::get/::post методах а также пустых параметрах для ::check методов, будут выброшены соответствующие исключения: |
| * **EX_PARAMS_EMPTY** - пустое имя или массив имен переменных для check | | * **EX_PARAMS_EMPTY** - пустое имя или массив имен переменных для check |
| | | |
- | ==== О синтаксисе ==== | + | ===== О синтаксисе ===== |
| | | |
| Вы вообще можете использовать это как угодно и обращаться к этому как угодно и удобно лично вам, в своей практической деятельности. Хоть так: | | Вы вообще можете использовать это как угодно и обращаться к этому как угодно и удобно лично вам, в своей практической деятельности. Хоть так: |