====== Глобальные функции Limb3 из пакета CORE ====== Пакет CORE содержит набор следующих служебных функций: ===== Функции для перевода из одного стиля написания строк в другой ===== ^Функция^Назначение^Пример использования^ |**lmb_under_scores($string)**|Переводит строку в under_scores| lmb_under_scores('MyData'); /* вернет my_data */| |**lmb_camel_case($string)**|Переводит строку в CamelCase| lmb_camel_case('my_data'); /* вернет MyData */| |**lmb_humanize($string)**|Переводит строку в "удобную для просмотра человеком"| lmb_humanize('MyData'); /* вернет my data */| ===== Функции для работы с относительными путями с учетом include_path ===== ^Функция^Назначение^Пример использования^ |**lmb_is_path_absolute($path)** |Возращает true, если $path - абсолютный. Реализована достаточно тривиальная проверка, но которой хватает в 99% случаев.|lmb_is_path_absolute('limb/core/common.inc.php') /* вернет false */| |**lmb_get_include_path_items()**| Возвращает в виде массива элементы include_path|lmb_get_include_path_items();| |**lmb_is_readable($path)**|Возвращает true, если файл существует. Учитывает то, что путь до файла может быть относительным include_path. Необходимость этой функции появилась из-за того, что php-функция file_exists() не учитывает include_path, а fopen() - учитывает. | lmb_is_readable('limb/core/common.inc.php'); | |**lmb_resolve_include_path($path)**|Находит абсолютный путь до файла по относительному имени с учетом include_path| lmb_resolve_include_path('limb/core/common.inc.php'); /* вернет что-то типа /var/dev/limb/core/common.inc.php */ | |**lmb_glob($glob)**|Аналог php-glob() с тем отличием, что если дан относительный путь, то он будет рассмотрен у учетом include_path, и функция в этом случае вернет объединенный результат| lmb_glob('limb/*/src/');| ===== Функции для подключения классов и отложенной загрузки кода ===== ^Функция^Назначение^Пример использования^ |**lmb_require($file_path, $optional = false)**| Типичное назначение данной функции - пометить какой-либо файл с классом для отложенной загрузки, которая произойдет в autoload. Однако реальная работа этой функции будет зависеть от того, какой парамет в нее пришел в $file_path. Если пришел путь до файла с Limb3 классов, например, limb/core/src/lmbObject.class.php, тогда lmb_require запомнит, что класс lmbObject лежит в файле limb/core/src/lmbObject.class.php и при необходимости подключит его. Если пришел путь в виде limb/core/src/*.class.php, то lmb_require найдет и пометит для себя все файлы классов, находящиеся в данной директории. Если же парамет $file_path имеет иной вид, без суффикса .class.php, тогда lmb_require() работает полностью как обычная php-функция require_once(). Обратите внимание, что lmb_require, если использована * (звездочка) не ищет файлы рекурсивно вниз по иерархии) Если параметр $optional = true, то это означает, что подключение файла опционально и не найденный файл не вызовет ошибки|lmb_require('limb/core/common.inc.php') | |**lmb_require_optional($file_path)**|Алиас для вызова lmb_require($file_path, true)| | |**lmb_autoload($path)**|Функция для подключение файла класса ранее помеченного к загрузке через lmb_require(). Эта функция автоматически подключается как одна из autoload-функции при помощи spl_autoload_register() в файле common.inc.php| | ===== Дополнительные служебные функции ===== ^Функция^Назначение^Пример использования^ |**lmb_var_dump($obj, $echo = false)**|Выводит или возвращает (завис от параметра echo) значение var_dump от $obj| lmb_var_dump($my_object); |