string highlight_file(string filename, boolean return_instead)
Функция highlight_file (листинг 9.83) распечатывает сценарий PHP в браузере с применением синтаксического выделения. Код HTML используется для выделения частей кода PHP, чтобы повысить удобочитаемость. Если необязательный аргумент return_instead имеет значение TRUE, PHP возвращает HTML-код, а не распечатывает его.
Листинг 9.83. Функция highlightfile
<?php
//выделить этот файл highlight_file(_FILE_);
?>
string highlight_string(string code, boolean return_instead)
Функция highlight_string (листинг 9.84) выводит строку кода PHP в браузере с выделением синтаксиса. Если необязательный аргумент return_instead имеет значение TRUE, PHP возвращает HTML-код, а не распечатывает его.
Листинг 9.84. Функция highlight_string
<?php
// создать какой- то код
$code = "<?php print("a string"); ?>"; // выделить образец кода
$source = highlight_string($code, TRUE);
// показать HTML- код, используемый PHP для выделения кода print(htmlentities($source));
?>
array iconv_get_encoding(string type)
Функция iconv_get_encoding возвращает используемые типы кодирования. Аргумент type может принимать значение all, input_encoding, internal_encoding или output_encoding. При значении all PHP возвращает массив ключей, соответствующий всем трем типам кодирования. При выборе одного типа кодирования PHP возвращает строку.
С помощью функции iconv_set_encoding можно установить кодирование iconv. С помощью функции iconv или дескриптора ob_iconv_handler можно транслировать текст.
boolean is_callable(string function, boolean syntax, string name) boolean is_callable(array method, boolean syntax, string name)
Для проверки наличия функции или метода объекта для работы используется функция is_callable (листинг 9.85). Имя функции передается в виде строки или двухэлементного массива, в котором указывается метод объекта. Первый элемент этого массива является именем или экземпляра класса. Второй элемент должен представлять собой строку, содержащую имя метода.
Необязательный аргумент syntax подавляет любую проверку функции. В этом режиме PHP проверяет синтаксис только второго элемента. Необязательный третий аргумент получает имя функции или проверяемого метода. Это имеет смысл только тогда, когда вы хотите сообщить пользователю о том, что функция отсутствует.
Листинг 9.85. Функция iscallable
<?php
//Вызвать функцию, если она доступна function callIfPossible($f, $arg=FALSE)
{
//если нет аргументов, использовать пустой массив
if($arg === FALSE)
$arg = array();
if(is_callable($f, FALSE, $callName))
call_user_func_array($f, $arg);
else
print("Невозможно вызвать $callName<br>");
}}
//Тестируемые функции function a()
{
print('функция a<br>');
}
class c
{
function m()
{
print('метод m<br>');
}
}
// встроенная функция
callIfPossible('print_r', array('print_r<br>')); //технически не является функцией callIfPossible('print', array('print<br>')); // пользовательская функция callIfPossible('a'); //не существует callIfPossible('b'); // метод класса
callIfPossible(array(,c', 'm')); // не существует
callIfPossible(array(,d', 'm')); //метод объекта
$C = new c;
callIfPossible(array($C, 'm')); // не существует
callIfPossible(array($C, 'x'));
?>
boolean leak(integer bytes)
Функция leak (листинг 9.86) занимает часть памяти и полезна для тестирования программ сбора мусора самого PHP. Вы также можете использовать эту функцию для моделирования переполнения памяти.
| Листинг 9.86. Функция leak
<?php
//занять 8 Мбайт leak(8388608);
?>
array localeconv()
Функция localeconv возвращает массив с описанием форматирования, используемого текущей локалью. Эта функция вызывает одноименную C-функцию и информацию о ней можно почерпнуть на соответствующей справочной странице. Это значение можно изменить с помощью функции setlocale. В табл. 9.17 приведены элементы возвращаемого массива.
ТОП-10 популярных
Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...
БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Компьютер для гурманов.«Эксимер ДМ»
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...
В дополнение к календарным типам, предназначенным для хранения даты и времени отдельно, MySQL также поддерживает гибридные типы данных DATETIME и...
Вообще, к изменению настроек сервера прибегают очень редко. В MySQL программа заранее настроена так, чтобы соответствовать самым распространенным и основным...
PHP. Операционная система. Часть Двадцать Вторая.
28-12-2009
<< Предыдущая статья | Следующая статья >> |
PHP. Операционная система. Часть Двадцать Первая. | PHP. Операционная система. Часть Двадцать Третья. |