Новые книги

Рассмотрены правовые основы и теоретические аспекты регламентации рекламной деятельности в Российской Федерации. Освещены актуальные вопросы, связанные с регулированием этого вида деятельности: общие и специальные требования к отдельным видам рекламы; правовой статус рекламодателей, производителей и распространителей рекламы; государственное регулирование и контроль; саморегулирование; договоры; авторское право и смежные права; правовая охрана средств индивидуализации товаров, работ, услуг, участников экономических отношений; юридическая ответственность в сфере рекламы. Изложены особенности правового регулирования рекламной деятельности в зарубежных странах. Дается словарь основных терминов и понятий.

Для студентов высших учебных заведений, получающих образование по направлению (специальности) «Реклама». Может использоваться при подготовке кадров по специальностям и направлениям, предусматривающим изучение дисциплины «Правовое регулирование рекламной деятельности», ее отдельных разделов и тем. Представляет интерес для широкого круга специалистов в сфере рекламы.

Допущено Учебно-методическим объединением по образованию в области коммерции в качестве учебного пособия для студентов высших учебных заведений, обучающихся по специальности «Реклама»
Первая и на текущий момент единственная большая книга о создании, ведении и развитии бизнеса интернет-магазина в России, написанная магазинщиком с 20-летним опытом в электронной коммерции, который до сих пор у руля.

Книга описывает не только теоретические аспекты поиска ниши, планирования ассортимента и создания сайта, в ней автор рассказывает о своём многолетнем практическом опыте создания, раскрутки и реорганизации интернет-магазинов. Речь пойдёт о логистике и складе, работе с поставщиками и партнёрами, сравнении передачи процессов на аутсорсинг или выполнении своими силами, о нюансах локальной и региональной доставки, самовывоза и многом другом.

Также немало внимания уделено интернет-маркетингу. Рассказывается не только о типичных каналах привлечения покупателей и их эффективном использовании, но и об использовании нестандартных решений, о защите от недобросовестных площадок, из-за которых многие рекламодатели многократно переплачивают за привлечение покупателей. О социальных сетях, мониторинге, работе с клиентами после заказа, лояльности, мотивации, информационной безопасности, а также неожиданном взгляде автора на веб-аналитику.

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

Читая книгу «Ваш интернет-магазин от А до Я», вы с головой погрузитесь в увлекательный мир электронной коммерции, сможете значительно повысить эффективность бизнеса интернет-магазина, либо создать новый, сделав всё правильно с первого раза.

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

PHP и COM

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

Глава 52. PHP и COM

PHP может использоваться для доступа к COM и DCOM-объектам на платформе Win32.

1. Я построил DLL для расчётов. Есть ли способ запустить эту DLL под PHP ?
2. Что означает 'Unsupported variant type: xxxx (0xxxxx)' ?
3. Можно ли манипулировать визуальными объектами в PHP ?
4. Могу ли я сохранить COM-объект в сессии ?
5. Как я могу отловить COM-ошибки ?
6. Могу ли я генерировать DLL-файлы в PHP-скриптах, как я это делаю в Perl ?
7. Что означает 'Unable to obtain IDispatch interface for CLSID {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}' ?
8. Как я могу запустить COM-объект с удалённого сервера ?
9. Я получил 'DCOM is disabled in C:\path...\scriptname.php on line 6', что я могу сделать ?
10. Можно ли загрузить/манипулировать ActiveX-объектом на странице с помощью РНP ?
11. Можно ли получить работающий экземпляр компонента ?
12. Есть ли способ обработать событие, посланное от COM-объекта ?
13. У меня появились проблемы при попытке вызвать метод COM-объекта, имеющего не один интерфейс. Что можно предпринять ?
14. Итак, PHP работает COM, а как насчёт COM+ ?
15. Если PHP может манипулировать COM-объектами, можно ли представить использование MTS для обслуживания ресурсов компонентов в соединении с PHP ?

1. Я построил DLL для расчётов. Есть ли способ запустить эту DLL под PHP ?

Если это простая DLL, то пока нет способа запустить её из PHP. Если DLL-библиотека содержит COM-сервер, вы можете получить к ней доступ, если она реализует интерфейс IDispatch.

2. Что означает 'Unsupported variant type: xxxx (0xxxxx)' ?

Имеются десятки типов VARIANT и их комбинаций. Большинство из них уже поддерживается, но некоторые ещё ждут своей реализации. Массивы поддерживаются неполностью. Только одномерные массивы можно передавать между PHP и COM. Если вы обнаружили другие типы, которые не поддерживаются, сообщите, пожалуйста, о них как о bug (если это ещё не сделано) и предоставьте как можно более подробную информацию.

3. Можно ли манипулировать визуальными объектами в PHP ?

Вообще-то да, но, поскольку PHP в основном используется как язык web-скриптинга, он работает в контексте web-серверов; таким образом, визуальные объекты никогда не появляются на рабочем столе серверов. Если вы используете PHP для скриптинга приложений, например, в соединении с PHP-GTK, нет никаких ограничений при доступе и манипуляциях с визуальными объектами через COM.

4. Могу ли я сохранить COM-объект в сессии ?

Нет, не можете. COM-экземпляры рассматриваются как ресурсы, и поэтому они могут быть доступны только в контексте отдельного скрипта.

5. Как я могу отловить COM-ошибки ?

В настоящее время невозможно отлавливать COM-ошибки другими способами, помимо тех, которые предоставлены в самом PHP (@, track_errors, ..), но мы думаем над реализацией этого.

6. Могу ли я генерировать DLL-файлы в PHP-скриптах, как я это делаю в Perl ?

Нет, к сожалению, такой утилиты для PHP нет.

7. Что означает 'Unable to obtain IDispatch interface for CLSID {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}' ?

Эта ошибка может появиться по разным причинам:

  • неправильный CLSID

  • запрошенная DLL отсутствует

  • запрошенный компонент не реализует интерфейс IDispatch

8. Как я могу запустить COM-объект с удалённого сервера ?

Точно так же, как вы запускаете локальные объекты. Вы только должны передать IP удалённой машины как второй параметр COM-конструктору.

Убедитесь, что вы установили com.allow_dcom=true в вашем php.ini.

9. Я получил 'DCOM is disabled in C:\path...\scriptname.php on line 6', что я могу сделать ?

Отредактируйте ваш php.ini и установите com.allow_dcom=true.

10. Можно ли загрузить/манипулировать ActiveX-объектом на странице с помощью РНP ?

В PHP ничего сделать нельзя. ActiveX-объекты загружаются на стороне клиента, если запрашиваются HTML-документом. Никакой связи с PHP-скриптом нет, и, следовательно, нет возможности прямого взаимодействия на сервере.

11. Можно ли получить работающий экземпляр компонента ?

Это можно сделать с помощью клички/moniker. Если вы хотите получить несколько ссылок на один экземпляр word, вы можете создать этот экземпляр так:

$word = new COM("C:\docs\word.doc");

Это создаст новый экземпляр, если нет доступного работающего экземпляра, или буде возвращён дескриптор/handle работающего экземпляра, если он имеется.

12. Есть ли способ обработать событие, посланное от COM-объекта ?

Пока нет.

13. У меня появились проблемы при попытке вызвать метод COM-объекта, имеющего не один интерфейс. Что можно предпринять ?

Ни шиша. Я точно не знаю, но думаю, что ничего. Если кто-нибудь имеет информацию об этом, пожалуйста, дайте мне знать.

14. Итак, PHP работает COM, а как насчёт COM+ ?

COM+ расширяет COM с помощью каркаса для обслуживания компонентов через MTS и MSMQ, но нет ничего специального для обслуживания таких компонентов в PHP.

15. Если PHP может манипулировать COM-объектами, можно ли представить использование MTS для обслуживания ресурсов компонентов в соединении с PHP ?

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


Назад Оглавление Вперёд
PHP и HTML Вверх PHP и другие языки