Новые книги

• Атмосфера взаимоуважения и участия как залог успеха компании.

• Эмоциональный комфорт сотрудников как гарантия роста прибыли и повышения продуктивности работы.

• Корпоративные ценности как незабываемый опыт эмоционального взаимодействия с брендом.

Адресованная в первую очередь бизнесменам-руководителям, «Winning the Hearts: Достучаться до сердец сотрудников» Михаила Воронина и Надежды Маковой о том, как завоевать сердца сотрудников и превратить разношерстный коллектив «подчиненных» в успешную и сплоченную команду коллег, друзей и лояльных потребителей продукции компании. Приведенные авторами результаты исследований убедительно доказывают: индекс счастья сотрудников не менее важный показатель здоровья бизнеса, чем оборот и рентабельность, а значит, радость от работы – «это уже не Wow, это Must».
Еще недавно компаниям требовались десятки лет, чтобы заработать миллиард. Сегодня многие бизнесы, такие как Snapchat, WhatssApp и Uber, проходят этот путь за пару лет. Мы вступили в эпоху высоких скоростей, теперь, чтобы выжить и преуспеть, компании вынуждены стремительно расти. Ключевой вопрос: как успешно конкурировать в этом новом мире? Как избежать пресловутых болезней роста? Ответ – стать экспоненциальной организацией.

Эта книга – практическое руководство по созданию экспоненциальных компаний и управлению ими. Авторы рассказывают об опыте бизнеса, который вписался в новые условия, и дают советы, как адаптировать к переменам существующие организации. Благодаря «Взрывному росту» любая компания, от стартапа до огромной корпорации, научится использовать новые технологии, для того, чтобы добиться экспоненциального роста.

Содержание

Эти функции были размещены здесь, т.к. не подходят не под какую либо категорию.

eval

eval -- Производит выполнение строки содержащей PHP код
Описание
void eval(string code_str);
 
eval() производит выполнение строки, данной в code_str содержащей PHP код. Кстати, это может пригодиться для сохранения кода в текстовом поле базы данных для более позднего выполнения.

Имеются некоторые условия, которые надо иметь в виду при использовании eval(). Не забудьте, что переданная строка должна иметь допустимый PHP код, при включении чего-нибудь подобного завершению кода с точкой с запятой дальнейшее выполнение  не прервется  на строке после eval(), поэтому пропускайте это в code_str.

Также не забудьте, что при изменении переменных значений в eval() эти переменные будут изменены и в основных данных.
 

Пример 1. eval()  - простое объединение текста
<?php
$string = 'cup';
$name = 'coffee';
$str = 'This is a $string with my $name in it.<br>';
echo $str;
eval( "\$str = \"$str\";" );
echo $str;
?>
      

При выполнении вышеприведенного примера будет выведено следующее:

This is a $string with my $name in it.
This is a cup with my coffee in it.

die

die -- Вывод сообщения и завершение текущего скрипта
Описание
void die(string message);
 
Эта функция выводит сообщение и прекращает выполнение текущего скрипта. Не возвращает значение.
 
Пример 1. die 
<?php
$filename = '/path/to/data-file';
$file = fopen($filename, 'r')
  or die "unable to open file ($filename)";
?>
      

exit

exit -- Завершает текущий скрипт
Описание
void exit(void);
 
Эта функция завершает текущий скрипт.  Не возвращает значение.

iptcparse

iptcparse -- Анализирует двоичный IPTC http://www.xe.net/iptc/ блок на одиночные тэги.
Описание
array iptcparse(string iptcblock);
 
Эта функция анализирует двоичный блок IPTC на одиночные теги.  Возвращает массив, использующий tagmarker как индекс и значение как значение. Возвращает false при ошибке или если никаких IPTC данных не было найдено. См. GetImageSize() для примера.

leak

leak -- Отсечение куска памяти
Описание
void leak(int bytes);
 
Leak() отсекает определенный объем памяти.

Это полезно при отладке диспетчера памяти, который автоматически очищает "отсеченную" память при выполнении запроса.


pack

pack -- упаковывает данные в двоичную строку
Описание
string pack(string format, mixed [ args ]...);
 
Упаковывает данные в двоичную строку согласно формату. Возвращает двоичную строку, содержащую данные.

Идея на эту функцию принималась из Perl и всей работы кодов форматирования также как там. Строка формата состоит из кодов формата, сопровождаемые факультативным параметром ретранслятора. Параметр ретранслятора может быть или целочисленное значение или * для повторение до конца входных данных. Для a, A, h, H количество повторов определяет, сколько принимается символов одного параметра данных, для @ это безусловная позиция, где поместить следующие данные, для всего остального количество повторов определяет сколько данных будет использовано и упаковано в возникающую в результате двоичную строку. В настоящее время выполнено:
 

    a строка NUL-заполнений

    A строка SPACE-заполнений

    h Hex строка, младший полубайт вначале

    H Hex строка, старший полубайт вначале

    c signed char

    C unsigned char

    s signed short (всегда 16 бит, machine byte order)

    S unsigned short (всегда 16 бит, machine byte order)

    n unsigned short (всегда 16 бит, big endian byte order)

    v unsigned short (всегда 16 бит, little endian byte order)

    i signed integer (machine dependant размер и byte order)

    I unsigned integer (machine dependant размер и byte order)

    l signed long (всегда 32 бит, machine byte order)

    L unsigned long (всегда 32 бит, machine byte order)

    N unsigned long (всегда 32 бит, big endian byte order)

    V unsigned long (всегда 32 бит, little endian byte order)

    f float (machine dependent размер и representation)

    d double (machine dependent размер и representation)

    x NUL байт

    X Копирует один байт

    @ NUL-Заполнение до конкретной позиции

Пример 1. pack форматируем строку
$binarydata = pack(" nvc* ", 0x1234, 0x5678, 65, 66);
Возникающая в результате двоичная строка будет длиной 6 байтов и содержать последовательность байтов 0x12, 0x34, 0x78, 0x56, 0x41, 0x42. 

Обратите внимание, что различие между знаковыми и без знаковыми значениями эффективно только для функции unpack(), так как  функция pack() дает тот же самый результат для знаковых и без знаковых кодов форматирования.

Также обратите внимание, что PHP хранит интегральные значения как значения со знаком и имеет machine dependant размер. Если вы делаете без знака, то интегральное значение будет сохранено и сконвертировано, при этом конечный результат будет неизвестен.


register_shutdown_function

register_shutdown_function -- Устанавливает функцию, которая будет выполнена при завершении.
Описание
int register_shutdown_function(string func);
 
Устанавливает функцию с именем func, которая будет выполнена при завершении.

serialize

serialize -- Генерирует удобохраниемое представление значения
Описание
string serialize(mixed value);
 
serialize() возвращает строку состоящую из потока байтов при представлениизначения value, которое может где-нибудь сохранено.

Это полезно для сохранения или передачи значений PHP  без потери их типа и структуры..

Чтобы преобразовать строку обратно в PHP значение, используйте unserialize(). serialize() обрабатывает следующие типы:  integer double string array (многомерный) и  object (объект будет преобразован в последовательную форму, но методы при этом будут утеряны).
 

Пример 1. serialize 
// $session_data содержит многомерный массив с информацией о сессии 
// текущего пользователя.  Мы используем serialize() для сохранения
// этого в базе данных в конце запроса.

$conn = odbc_connect("webdb", "php", "chicken");
$stmt = odbc_prepare($conn,
                     "UPDATE sessions SET data = ? WHERE id = ?");
$sqldata = array(serialize($session_data), $PHP_AUTH_USER);
if (!odbc_execute($stmt, &$sqldata)) {
    $stmt = odbc_prepare($conn,
                         "INSERT INTO sessions (id, data) VALUES(?, ?)");
    if (!odbc_execute($stmt, &$sqldata)) {
        /* Что-то сделано неправильно. */
    }
}

sleep

sleep -- Задержка выполнения
Описание
void sleep(int seconds);
 
Sleep фукция выполняет задержку выполненя программы в секундах (seconds).

См. также usleep().


unpack

unpack -- Распаковывает данные из двоичной строки
Описание
array unpack(string format, string data);
 
Распаковывает данные из двоичной строки в массив согласно формату. Возвращает массив, содержащий распакованные элементы.

Unpack работает не так как в Perl поскольку распакованные данные сохранены в ассоциативном массиве. Чтобы сделать это, Вы должны установить различные коды формата, и отделить их наклонной чертой вправо /.
 

Пример 1. Распаковываем строку
$array = unpack("c2chars/nint", $binarydata);
Возникающий в результате массив будет содержать "chars1", "chars2" и "int". 

Для объяснения кодов формата см. также: pack()

Помните, что PHP хранит интегральные значения со знаком. Даже если вы сохраните с указанием что это без знака, и будете извлекать, то все равно непредсказуем результат и может возникнуть ошибка.


unserialize

unserialize -- создает PHP значение из сохраненного представления
Описание
mixed unserialize(string str);
 
unserialize() берет одно сохраненное значение  (см. serialize()) и преобразует обратно в PHP значение. Возвращает преобразованное значение, и может иметь тип:  integer double string array или  object . Если был преобразован object, то методы не востановятся.
 
Пример 1. unserialize 
// Здесь мы используем unserialize() для загрузки данных о сессии из базы данных
// в $session_data.  Этот пример дополняет описанный в месте
// с serialize().

$conn = odbc_connect("webdb", "php", "chicken");
$stmt = odbc_prepare($conn, "SELECT data FROM sessions WHERE id = ?");
$sqldata = array($PHP_AUTH_USER);
if (!odbc_execute($stmt, &$sqldata) || !odbc_fetch_into($stmt, &$tmp)) {
    // Если сбой запуска или выборки , то инициализируем массив
    $session_data = array();
} else {
    // Мы должны иметь представление в $tmp[0].
    $session_data = unserialize($tmp[0]);
    if (!is_array($session_data)) {
        // Что-то неправильно, инициализируем массив
        $session_data = array();
    }
}

uniqid

uniqid -- генерирует уникальный идентификатор
Описание
int uniqid(string prefix);
 
uniqid() возвращает уникальный идентификатор, основанный на текущем времени в микросекундах. Префикс может быть полезен, например, если Вы генерируете идентификаторы одновременно на отдельных хостах, которые, могли бы случилось,  генерировали идентификатор в одной и той же микросекунде. Префикс может быть длиной до 114 символов.

Если Вы нуждаетесь в уникальном идентификаторе или лексеме(маркере), и Вы предполагаете раздавать эту лексему(маркер) пользователю через сеть (то есть сеанс cookies), то рекомендуется, чтобы Вы использовали что - нибудь со строками

$token = md5(uniqid("")); // Не произвольно
$better_token = md5(uniqid(random())); // Намного лучше, труднее подобрать
Это создаст 32 символьный идентификатор (128 бит hex число) который чрезвычайно трудно предсказать.

usleep

usleep -- Задержка выполнения в микросекундах
Описание
void usleep(int micro_seconds);
 
Задержка выполнения программы в микросекундах(micro_seconds).

См. также sleep().

Назад, к содержанию