Новые книги

Написанная живым и дерзким языком, эта книга – не учебник, а своеобразная исповедь профессионала, который озадачен потерей творческой энергии и находит достойный выход из патовой ситуации. Поиски себя, путешествия в Непал, Арктику, Африку, чтение книг актуальных западных маркетологов, психологов, экономических философов произвели переворот в авторе и позволили ему прийти к собственной системе. Оставаться успешным в условиях современного рыночного социума – и в то же время творить. Неужели это действительно возможно? Поведенческий маркетинг, который «исповедует» автор, основан на стремлении потребителя к удовольствию. Как воскресить творческие силы департаментов маркетинга, вывести их из спячки и сделать эффективными? С помощью customer pleasure management – таков ответ автора, подкрепленный интересными примерами из личного опыта.

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

Арсен Даллакян – один из ведущих экспертов в области поведенческого маркетинга. Специалист по построению клиенто-центричных моделей бизнеса. Руководитель службы маркетинга в компаниях финансовой сферы. Приглашенный эксперт Первого канала, России 24, изданий «Ведомости», «Коммерсантъ», Village и др. Кандидат философских наук, автор работ по культурной идентичности и глобализации.
Comprehensive Real-World Guidance for Every Embedded Developer and Engineer

This book brings together indispensable knowledge for building efficient, high-value, Linux-based embedded products: information that has never been assembled in one place before. Drawing on years of experience as an embedded Linux consultant and field application engineer, Christopher Hallinan offers solutions for the specific technical issues you're most likely to face, demonstrates how to build an effective embedded Linux environment, and shows how to use it as productively as possible.

Hallinan begins by touring a typical Linux-based embedded system, introducing key concepts and components, and calling attention to differences between Linux and traditional embedded environments. Writing from the embedded developer's viewpoint, he thoroughly addresses issues ranging from kernel building and initialization to bootloaders, device drivers to file systems.

Hallinan thoroughly covers the increasingly popular BusyBox utilities; presents a step-by-step walkthrough of porting Linux to custom boards; and introduces real-time configuration via CONFIG_RT--one of today's most exciting developments in embedded Linux. You'll find especially detailed coverage of using development tools to analyze and debug embedded systems--including the art of kernel debugging.

• Compare leading embedded Linux processors

• Understand the details of the Linux kernel initialization process

• Learn about the special role of bootloaders in embedded Linux systems, with specific emphasis on U-Boot

• Use embedded Linux file systems, including JFFS2--with detailed guidelines for building Flash-resident file system images

• Understand the Memory Technology Devices subsystem for flash (and other) memory devices

• Master gdb, KGDB, and hardware JTAG debugging

• Learn many tips and techniques for debugging within the Linux kernel

• Maximize your productivity in cross-development environments

• Prepare your entire development environment, including TFTP, DHCP, and NFS target servers

• Configure, build, and initialize BusyBox to support your unique requirements

include

Учебник РНР
НазадГлава 11. Структуры Управления Вперёд

include()

Оператор include() подключает и вычисляет специфицированный файл.

Нижеследующая документация применима также к require(). Эти две конструкции идентичны во всём, кроме обработки облома. include() выводит Warning!, а require() выдаёт Fatal Error. Иначе говоря, используйте require(), если вы хотите, чтобы отсутствие файла останавливало процессинг страницы. include() не работает таким образом, скрипт продолжит выполнение. Не забудьте также о соответствующей установке include_path.

Когда файл подключён/included, содержащийся в нём код наследует область видимости переменной строки, на которой возникло подключение. Любые переменные, доступные на этой строке в вызывающем файле, будут доступны в вызываемом файле, вперёд от этой точки.

Пример 11-3. Базовый пример include()
vars.php
<?php

$color = 'green';
$fruit = 'apple';

?>

test.php
<?php

echo "A $color $fruit"; // A

include 'vars.php';

echo "A $color $fruit"; // A green apple

?>

Если подключение возникает внутри функции в вызывающем файле, то весь код, содержащийся во включаемом файле, будет работать так, как если бы он был определён внутри. Так что он будет следовать области видимости переменной.

Пример 11-4. Подключение внутри функций
<?php

function foo()
{
global $color;

    include 'vars.php';

    echo "A $color $fruit";
}

/* vars.php находится в области видимости foo(), поэтому *
 * $fruit НЕ доступна вне это области видимости *
 * $color доступна, поскольку мы объявили её как глобальную. */

foo();                    // A green apple
echo "A $color $fruit";   // A green

?>

Когда файл подключается, разбор переходит из режима PHP в режим HTML в начале целевого файла и вновь продолжает после конца. Исходя из этого, любой код внутри файла назначения, который должен выполняться как PHP-код, обязан быть заключён в правильные стартовый и конечный тэги РНР.

Если "URL fopen-оболочки" включены в PHP (как в конфигурации по умолчанию), вы можете специфицировать файл, подключаемый с использованием URL (через HTTP), вместо локального pathname. Если целевой сервер интерпретирует целевой файл как PHP-код, переменные могут передаваться в подключаемый файл с использованием URL-строки запроса, как в HTTP GET. Строго говоря, это не то же самое, что подключение файла и наследование им области видимости переменных родительского файла; ведь скрипт работает на удалённом сервере, а результат затем подключается в локальный скрипт.

Предупреждение!

Windows-версия PHP в настоящее время не поддерживает доступ к удалённым файлам с помощью этой функции, даже если allow_url_fopen включена.

Пример 11-5. include() через HTTP
<?php

/* Здесь предполагается, что www.example.com сконфигурирован для разбора .php *
 * файлов, а не .txt файлов. Также 'работать' здесь означает, что переменные  *
 * $foo и $bar доступны в подключённом файле.				      */

// Не будет работать; file.txt не был обработан www.example.com как PHP
include 'http://www.example.com/file.txt?foo=1&bar=2';

// Не будет работать; ищет файл 'file.php?foo=1&bar=2' в локальной
// файловой системе.
include 'file.php?foo=1&bar=2';

// Работает.
include 'http://www.example.com/file.php?foo=1&bar=2';

$foo = 1;
$bar = 2;
include 'file.txt';  // Работает.
include 'file.php';  // Работает.

?>

См. также Удалённые файлы, fopen() и file().

Поскольку include() и require() являются специальными конструкциями языка, вы обязаны заключить их в блок операторов, если это внутри условного блока.

Пример 11-6. include() и условные блоки
<?php

// Это НЕПРАВИЛЬНО, и не будет работать так, как ожидается.
if ($condition)
    include $file;
else
    include $other;


// Это КОРРЕКТНО.
if ($condition) {
    include $file;
} else {
    include $other;
}

?>

Обработка возвращает: можно выполнить оператор return() внутри подключённого файла, чтобы прервать обработку этого файла и возвратиться в скрипт, вызвавший его. Также можно возвращать значения из подключённых файлов. Вы можете принять значение вызова include как обычно.

Примечание: в PHP 3 возвращаемое значение может не появиться внутри блока, если это не блок функции; в этом случае return() применяется к этой функции, а не ко всему файлу.

Пример 11-7. include() и оператор return()
return.php
<?php

$var = 'PHP';

return $var;

?>

noreturn.php
<?php

$var = 'PHP';

?>

testreturns.php
<?php

$foo = include 'return.php';

echo $foo; // печатает 'PHP'

$bar = include 'noreturn.php';

echo $bar; // печатает 1

?>

$bar имеет значение 1, поскольку подключение было успешным. Обратите внимание на отличия в примерах. Первый использует return() внутри подключённого файла, а другие - нет.

Другие способы "подключения" файлов в переменные имеются при помощи fopen(), file() или путём использования include() вместе с Функциями управления выводом.

См. также require(), require_once(), include_once(), readfile(), virtual() и include_path.


НазадОглавление Вперёд
require() Вверх require_once()