Новые книги

Книга написана известным экспертом по операционной системе UNIX и посвящена описанию одной из форм межпроцессного взаимодействия, IPC, с использованием которой создается большинство сложных программ. В ней описываются четыре возможности разделения решаемых задач между несколькими процессами или потоками одного процесса: передача сообщений, синхронизация, разделяемая память, удаленный вызов процедур.

Книга содержит большое количество иллюстрирующих примеров и может использоваться как учебник по IPC, и как справочник для опытных программистов.
Главная особенность продаж по телефону состоит в том, что вы не видите собеседника, а следовательно, ваша задача как менеджера по продажам значительно усложняется.

Нет врожденных продавцов. Есть люди, которые умеют правильно использовать технологии продаж. Продажи – это приобретенный навык. На сегодняшний день телефонные продажи весьма распространены, а менеджеры, владеющие этим искусством, ценятся на вес золота. Чтобы научиться успешно продавать себя или свой товар, необходимо встраивать продажи в свое общение с внешним миром.

Из этой книги вы узнаете о ПЯТИ ОСНОВНЫХ УСЛОВИЯХ, при которых осуществляется телефонная продажа; о ТРЕХ ГЛАВНЫХ ПРАВИЛАХ в телефонных продажах; о ДЕВЯТИ ПРИЕМАХ обработки возражений. Вы получите полную и готовую к применению систему продаж по телефону и скайпу, с помощью которой сможете продавать любые товары или услуги на холодную аудиторию (тем, кто не знает вас и то, что вы продаете, с вами незнакомы), а также программу продаж личного обучения, коучинга или консалтинга, полностью закроете для себя тему дополнительного заработка и перестанете нуждаться в любой дополнительной информации (книги, тренинги, курсы) касательно продаж по телефону и скайпу. В этой книге есть все самое нужное и важное.

Возвращаемые Значения

Учебник РНР
Назад Вперёд

Глава 36. Возвращаемые значения

Возвращение значений из ваших функций в PHP было кратко описано в предыдущем разделе; в этом разделе дана информация о деталях. Return-значения передаются через переменную return_value, которая передаётся в вашу функцию как аргумент. Аргумент return_value состоит из zval-контейнера (см. ранее обсуждение интерфейса вызова), который вы можете модифицировать. Этот контейнер всегда размещается самостоятельно, поэтому вам не нужно запускать в нём MAKE_STD_ZVAL. Вместо этого вы можете выполнять прямой доступ к его членам.

Чтобы облегчить возвращение значений из функций и предотвратить нестыковки при доступе к внутренним структурам zval-контейнера, имеется набор предопределённых макросов (как всегда). Эти макросы автоматически устанавливают соответствующие тип и значение, как описано в Таблицах 9.14 и 9.15.

Рисунок 36-1. Таблица 9.14. Предопределённые макросы для возвращаемых из функций значений
Примечание: Макрос в Таблице 9.14 автоматически возвращает из вашей функции.

МакросОписание
RETURN_RESOURCE(resource)Возвращает ресурс.
RETURN_BOOL(bool)Возвращает Boolean.
RETURN_NULL()Не возвращает ничего (значение NULL).
RETURN_LONG(long)Возвращает long.
RETURN_DOUBLE(double)Возвращает double.
RETURN_STRING(string,duplicate)Возвращает строку. Флаг duplicate указывает, должна ли строка дублироваться с использованием estrdup().
RETURN_STRINGL(string, length, duplicate) Возвращает строку специфицированной длины; иначе поведение аналогично RETURN_STRING. Этот макрос, однако, быстрее и безопасен в двоичном режиме.
RETURN_EMPTY_STRING()Возвращает пустую строку.
RETURN_FALSEВозвращает Boolean false.
RETURN_TRUEВозвращает Boolean true.
Рисунок 36-2. Таблица 9.15. Предопределённые макросы
для установки Return-значения функции
Примечание: Макросы в Таблице 9.15 только устанавливают return-значение;
они не выполняют возврат из вашей функции.

МакросыОписание
RETVAL_RESOURCE(resource)Устанавливает return-значение специфицированного ресурса.
RETVAL_BOOL(bool)Устанавливает return-значение специфицированного Boolean.
RETVAL_NULLУстанавливает return-значение NULL.
RETVAL_LONG(long)Устанавливает return-значение специфицированного long.
RETVAL_DOUBLE(double)Устанавливает return-значение специфицированного double.
RETVAL_STRING(string, duplicate)Устанавливает return-значение специфицированной строки и дублирует его во внутренней памяти Zend, если нужно (см. также RETURN_STRING).
RETVAL_STRINGL(string, length, duplicate) Устанавливает return-значение специфицированной строки и форсирует длину как length (см. также RETVAL_STRING). Этот макрос быстрее и безопаснее и должен использоваться, если длина строки известна.
RETVAL_EMPTY_STRINGУстанавливает return-значение - пустую строку.
RETVAL_FALSEУстанавливает return-значение - Boolean false.
RETVAL_TRUEУстанавливает return-значение - Boolean true.

Сложные типы, такие как массивы и объекты, можно возвращать с помощью array_init() и object_init(), а также соответствующих хэш-функций в return_value. Поскольку эти типы не могут быть сконструированы из обычной информации, для них нет предопределённых макросов.


НазадОглавление Вперёд
Дублирование содержимого переменной: конструктор Copy ВверхПечать информации