Корпоративный сайт. Эффективный инструмент бизнеса



     индивидуалки минска |     

Язык программирования PHP

Язык PHP был разработан как инструмент для решения чисто практических задач. Его создатель, Расмус Лердорф, хотел знать, сколько человек читают его online-резюме, и написал для этого простенькую CGI-оболочку на языке Perl, т.е. это был набор Perl-скриптов, предназначенных исключительно для определенной цели – сбора статистики посещений.
Для справки. CGI (Common Gateway Interface – общий интерфейс шлюзов) является стандартом, который предназначен для создания серверных приложений, работающих по протоколу HTTP. Такие приложения (их называют шлюзами или CGI-программами) запускаются сервером в режиме реального времени. Сервер передает запросы пользователя CGI-программе, которая их обрабатывает и возвращает результат своей работы на экран пользователя. Таким образом, посетитель получает динамическую информацию, которая может изменяться в результате влияния различных факторов. Сам шлюз (скрипт CGI) может быть написан на различных языках программирования – Cи/C++, Fortran, Perl, TCL, UNIX Shell, Visual Basic, Python и др.
Вскоре выяснилось, что оболочка обладает небольшой производительностью, и пришлось переписать ее заново, но уже на языке Си. После этого исходники были выложены на всеобщее обозрение для исправления ошибок и дополнения. Пользователи сервера, где располагался сайт с первой версией PHP, заинтересовались инструментом, появились желающие его использовать. Так что скоро PHP превратился в самостоятельный проект, и в начале 1995 года вышла первая известная версия продукта, называвшаяся Personal Home Page Tools (средства для персональной домашней страницы). Средства эти были более чем скромными: анализатор кода, понимающий всего лишь несколько специальных команд, и набор утилит, полезных для создания гостевой книги, счетчика посещений, чата и т.п.

История PHP
К середине 1995 года после основательной переработки появилась вторая версия продукта, названная PHP/FI (Personal Home Page / Forms Interpreter – персональная домашняя страница/ интерпретатор форм). Она включала набор базовых возможностей сегодняшнего PHP, возможность автоматически обрабатывать html-формы и встраиваться в html-коды. Синтаксис PHP/FI сильно напоминал синтаксис Perl, но был более простым.

Возможности PHP
Возможности PHP - 2
Установка и настройка ПО
Установка Apache 1.3.29 под Windows XP
Установка PHP 4.3.4 под Windows
Установка PHP 4.3.4 под Windows - 2
Установка PHP под Linux
Установка PHP под Linux - 2
Дистрибутив Денвер
Первая PHP-программа

Основной синтаксис
Первое, что нужно знать относительно синтаксиса PHP, – это то, как он встраивается в HTML-код, как интерпретатор узнает, что это код на языке PHP. В предыдущей лекции мы уже говорили об этом. Повторяться не будем, отметим только, что в примерах мы чаще всего будем использовать вариант ?php ?, и иногда сокращенный вариант ? ?.

Разделение инструкций
Комментарии
Переменные, константы и операторы
Переменные
Константы
Операторы
Типы данных
Тип boolean (булев или логический тип)
Тип integer (целые)
Тип float (числа с плавающей точкой)

Оператор if
Здесь выражение есть любое правильное PHP-выражение (т.е. все, что имеет значение). В процессе обработки скрипта выражение преобразуется к логическому типу. Если в результате преобразования значение выражения истинно (True), то выполняется блок_выполнения. В противном случае блок_выполнения игнорируется. Если блок_выполнения содержит несколько команд, то он должен быть заключен в фигурные скобки { }.

Оператор if
Оператор else
Оператор elseif
Альтернативный синтаксис
Оператор switch
Циклы
While
Do... while
For
Foreach

Основы клиент-серверных технологий
В самом начале курса мы уже говорили о том, что PHP – это скриптовый язык, обрабатываемый сервером. Сейчас мы хотим уточнить, что же такое сервер, какие функции он выполняет и какие вообще бывают серверы. Если речь идет о сервере, невольно всплывает в памяти понятие клиента. Все потому, что эти два понятия неразрывно связаны. Объединяет их компьютерная архитектура клиент-сервер. Обычно, когда говорят «сервер», имеют в виду сервер в архитектуре клиент-сервер, а когда говорят «клиент» – имеют в виду клиент в этой же архитектуре. Так что же это за архитектура? Суть ее в том, чтобы разделить функции между двумя подсистемами: клиентом, который отправляет запрос на выполнение каких-либо действий, и сервером, который выполняет этот запрос. Взаимодействие между клиентом и сервером происходит посредством стандартных специальных протоколов, таких как TCP/IP и z39.50.

Протокол HTTP и способы передачи данных
Форма запроса клиента
Методы
Использование HTML-форм для передачи данных
Для метода GET
Для метода POST
Обработка запросов с помощью PHP
Обработка запросов с помощью PHP - 2
Обработка запросов с помощью PHP - 3
Пример обработки запроса с помощью PHP

Функции, определяемые пользователем
Для чего нужны функции? Чтобы ответить на этот вопрос, нужно понять, что вообще представляют собой функции. В программировании, как и в математике, функция есть отображение множества ее аргументов на множество ее значений. То есть функция для каждого набора значений аргумента возвращает какие-то значения, являющиеся результатом ее работы. Зачем нужны функции, попытаемся объяснить на примере. Классический пример функции в программировании – это функция, вычисляющая значение факториала числа. То есть мы задаем ей число, а она возвращает нам его факториал. При этом не нужно для каждого числа, факториал которого мы хотим получить, повторять один и тот же код – достаточно просто вызвать функцию с аргументом, равным этому числу.

Аргументы функций
Аргументы функций - 2
Списки аргументов переменной длины
Списки аргументов переменной длины - 2
Глобальные переменные
Статические переменные
Возвращаемые значения
Возвращение ссылки
Переменные функции
Внутренние (встроенные) функции

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

Инициализация переменных
Объекты
Объекты - 2
Extends
Extends - 2
Конструкторы
Конструкторы - 2
Оператор ::
Оператор parent
Объектная модель PHP5

Массивы
Складывают массивы с помощью стандартного оператора «+». Вообще говоря, эту операцию по отношению к массивам точнее назвать объединением. Если у нас есть два массива, $a и $b, то результатом их сложения (объединения) будет массив $c, состоящий из элементов $a, к которым справа дописаны элементы массива $b. Причем, если встречаются совпадающие ключи, то в результирующий массив включается элемент из первого массива, т.е. из $a. Таким образом, если складываются массивы в языке PHP, от перемены мест слагаемых сумма меняется.

Операции с массивами
Функция count
Функция in_array
Функция array_search
Функция array_keys
Функция array_unique
Сортировка массивов
Функция sort
Функции asort, rsort, arsort
Функции asort, rsort, arsort - 2

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

Поиск элемента в строке
Функция strstr
Функция substr
Функция substr - 2
Функция str_replace
Функция str_replace - 2
Функция substr_replace
Разделение и соединение строки
Разделение и соединение строки - 2
Строки, содержащие html-код

Функция fopen
Вообще говоря, в PHP не существует функции, предназначенной именно для создания файлов . Большинство функций работают с уже существующими файлами в файловой системе сервера. Есть несколько функций, которые позволяют создавать временные файлы, или, что то же самое, файлы с уникальным для текущей директории именем. А вот для того, чтобы создать самый обычный файл, нужно воспользоваться функцией, которая открывает локальный или удаленный файл. Называется эта функция fopen(). Что значит «открывает файл»? Это значит, что fopen связывает данный файл с потоком управления программы. Причем связывание бывает различным в зависимости от того, что мы хотим делать с этим файлом: читать его, записывать в него данные или делать и то и другое

Закрытие соединения с файлом
Функция fwrite
Чтение данных из файла
Функция fread
Функция fgets
Функция fgetss
Функция fgetc
Функция readfile
Функция file
Функция file_get_contents

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

Ключи
Индексирование
СУБД MySQL
СУБД MySQL - 2
Язык SQL
Немного истории
Основные операторы языка SQL
Оператор CREATE TABLE
Оператор CREATE TABLE - 2
Оператор CREATE TABLE - 3

Построение интерфейса для добавления информации
Итак, у нас есть какая-то таблица в базе данных. Чтобы построить интерфейс для добавления информации в эту таблицу, нужно ее структуру (т.е. набор ее полей) отобразить в html-форму.

Установка соединения
Выбор базы данных
Получение списка полей таблицы
Получение списка полей таблицы - 2
Отображение списка полей в html-форму
Запись данных в базу данных
Отображение данных, хранящихся в MySQL
Отображение данных, хранящихся в MySQL - 2
Заключение
Пример 11.0.1

Авторизация доступа
Что такое авторизация доступа? Попробуем объяснить на примере из обычной жизни. Вы хотите взять в библиотеке книгу. Но эта услуга доступна только тем, у кого есть читательский билет. Можно сказать, что с помощью этого билета производится "авторизация доступа" к библиотечным ресурсам. Библиотекарь после предъявления ему читательского билета знает, кто берет книгу, и в случае необходимости (например, книгу долго не возвращают) может принять меры (позвонить должнику домой). Библиотекарь имеет гораздо больше прав, чем обычный посетитель: он может давать или не давать книги определенному посетителю, может выставлять напоказ новинки и убирать в архив редко читаемые книги и т.п.

Механизм сессий
Настройка сессий
Создание сессии
Регистрация переменных сессии
Регистрация переменных сессии - 2
Удаление переменных сессии
Удаление переменных сессии - 2
Безопасность
Заключение
Пример 12.1

Понятие регулярного выражения
Регулярное выражение (regular expression, сокращенно РВ) – это технология, которая позволяет задать шаблон и осуществить поиск данных, соответствующих этому шаблону, в заданном тексте, представленном в виде строки.
Кроме того, с помощью регулярных выражений можно изменить и удалить данные, разбить строку по шаблону на подстроки и многое другое.

Подвыражения (подшаблоны)
Повторения (квантификаторы)
Повторения (квантификаторы) - 2
Модификаторы PCRE
Регулярные выражения для «продвинутых»
Обратная ссылка
Утверждения
Условные подвыражения
Заключение
Пример 13.1

Объектная модель XML-документа
Прежде чем начать изучать способы работы PHP с XML, полезно хотя бы вкратце ознакомиться с самой технологией XML. В первой части лекции будут рассмотрены основные понятия этой технологии, базовый синтаксис XML–документов, области ее применения, а также понятие DOM XML. Вторая часть лекции посвящена непосредственно вопросам обработки XML при помощи PHP. Сюда входит установка расширения DOM XML, описание и примеры использования некоторых встроенных в PHP функций для обработки XML-документов.

Основные понятия
Объектная модель XML-документа
Расширения SAX и DOM XML
Установка расширения DOM XML
Взаимодействие PHP и XML с DOM XML
Перевод данных XML в объекты и классы PHP
Обход дерева объектов
Добавление новых элементов в XML-документ
Заключение
Пример 14.1

Что такое шаблоны и зачем они нужны
В одной из лекций мы уже рассматривали пример шаблона. Это был шаблон для отображения документов. Пользователь создавал строку текста, размеченного с помощью html-тегов, и вставлял в нее специальные метасимволы (вида !имя элемента), которые наша программа впоследствии заменяла на значения соответствующих элементов. Для чего нам был нужен такой шаблон? Чтобы, например, можно было изменить стиль отображения документа, не меняя кода программы.

Шаблоны подстановки
Шаблоны подстановки - 2
Шаблоны FastTemplate
Методы FastTemplate
Метод define
Метод assign
Метод parse
Метод FastPrint
Решение задачи с FastTemplate
Шаблоны Smarty

PHP - статьи

Если Вы планируете создавать свой динамический сайт на платформе Windows, то у Вас скорее всего возникнет задача выбора СУБД для хранения информации (с языком, на котором Вы будете его программировать, судя по всему, вопросов не возникает). Одним из вариантов её решения, может оказаться использование MS Access в качестве SQL-сервера. Далее будет описано, как в скрипте, написанном на PHP, обратиться к базе данных MS Access.
К сожалению, в PHP нет встроенных средств для работы с этой СУБД, что, однако не исключает совместной их работы - для подключения к базе мы будем использовать ODBC.

Работа с MS Access в PHP
Если Вы планируете создавать свой динамический сайт на платформе Windows, то у Вас скорее всего возникнет задача выбора СУБД для хранения информации (с языком, на котором Вы будете его программировать, судя по всему, вопросов не возникает). Одним из вариантов её решения, может оказаться использование MS Access в качестве SQL-сервера. Далее будет описано, как в скрипте, написанном на PHP, обратиться к базе данных MS Access.

Работа с MS Access в PHP
Работа с MS Access в PHP - 2

Аспектно-ориентированная веб-разработка и PHP
Данная статья знакомит читателя с популярной парадигмой аспектно-ориентированной разработки программного обеспечения (AOSD). Статья содержит множество практических примеров, призванных конкретизировать столь абстрактную область как AOSD и помочь быстрее понять и оценить преимущества данного подхода. Статья рассчитана в первую очередь на программистов PHP. Цель ее в том, что бы показать, как можно использовать AOSD в PHP проектах уже сегодня

Аспектно-ориентированная веб-разработка и PHP
Что такое AOSD?
Что такое AOSD? - 2
Основы аспектно-ориентированного подхода
Основы аспектно-ориентированного подхода - 2
Основы аспектно-ориентированного подхода - 3
Основы аспектно-ориентированного подхода - 4
Аспектно-Ориентированная Разработка
Аспектно-Ориентированная Разработка - 2
Заключение

If-Modified-Since, если PHP не установлен как модуль Apache
Наверное, каждый веб-программист, интересующийся кешированием веб-страниц на стороне клиента, знает о таких заголовках HTTP, как If-Modified-Since и If-None-Match. Данные заголовки отправляются браузером при обращении к странице, которая имеется в его кеше. Для правильной организации кеширования на стороне клиента, серверному приложению необходимо отправлять заголовок "HTTP/1.0 304 Not Modified"и прекращать передачу данных в случае, если содержимое запрашиваемой страницы не изменилось с того момента времени, которое указано в присланном заголовке "If-Modified-Since".

If-Modified-Since, если PHP не установлен
If-Modified-Since, если PHP не установлен - 2

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

Применение классов для списков в PHP
Применение классов для списков в PHP - 2
Применение классов для списков в PHP - 3
Применение классов для вывода в PHP - 4
Применение классов для вывода в PHP - 5
Применение классов для вывода в PHP - 6

Register_globals=On? Вы в опасности!
Что представляет собой register_globals? Это опция в php.ini, которая указывает на необходимость регистрации переменных, полученных методом POST или GET в глобальный массив $GLOBALS.

Register_globals=On? Вы в опасности!
Register_globals=On? Вы в опасности! - 2

Сбор статистики на PHP
Статистические сведения о посетителях сайта приносят не мало пользы. По статистике можно подогнать дизайн сайта в соответствии с разрешением большинства посетителей, подогнать дизайн к браузеру, на котором приходят большая часть посетителей да и просто интересно, кто заглядывает к вам на сайт, из под какой OC, а может это поисковый робот яндекса или гугла? Хотя некоторые системы слежения за посетителями бывают черезвычайно сложными, но с помощью довольно простой системы можно получить любопытные сведения о посетителях сайта. Я покажу как сделать с виду простой журнал посещений сайта с помощью PHP и cookies (MySQL не требуется). К тому же мой пример можно легко расширить.

Сбор статистики на PHP
Сбор статистики на PHP - 2

PHP - авторизация доступа

Если вы хотя бы иногда посещаете сайты, на которых есть "защищенная зона", то есть часть, доступ на которую возможен лишь по определенным логину и паролю (например, почтовые службы с web-интерфейсом или сервисы хостинга), то вас наверняка интересовало, как эта авторизация происходит. И наверняка вам хотелось устроить то же самое и на вашем сайте, ведь необходимость в этом иногда возникает. Ниже будет рассказано о технологиях авторизации доступа, основанных на средствах web-сервера и технологии PHP. Думается, значение слова "авторизация" вам понятно - это не что иное, как обеспечение возможности доступа к чему-либо тем и только тем пользователям, которые знают определенные кодовые слова - логин и пароль.

Авторизация средствами web-сервера
Авторизация средствами web-сервера - 2
Авторизация с помощью заголовка
Авторизация с помощью заголовка - 2
Авторизация с помощью заголовка - 3
Авторизация с помощью заголовка - 4
Авторизация с помощью заголовка - 5
Авторизация с помощью заголовка - 6
Авторизация с помощью заголовка - 7
Авторизация с помощью заголовка - 8

Корпоративный сайт. Эффективный инструмент бизнеса

В 1969 году в один из самых "пиковых" моментов международных отношений для того, чтобы решить проблему обмена информацией между научно-исследовательскими институтами и NASA необходимо было создать единую сеть, требования к которой кроме высокой надежности (в случае ядерного удара) учитывали необходимость "связать" различные ЭВМ.
Созданное решение — сеть Arpanet оказалось очень надежным и удобным. Вскоре последовали попытки использовать сеть не только в "милитаристских" целях. Число компьютеров (а это были не привычные теперь всем устройства) росло. Сети и ЭВМ, не входящие в Arpanet, "испытывали неудобства" в связи с тем, что их "желание" войти в единую сеть реализовано не было.
К 1973 году возникла необходимость сформулировать концепцию единой глобальной сети, что было сделано впервые Витоном Серфом и Робертом Каном.
Настоящий расцвет Интернет начался в 1992 году, когда была изобретена новая служба, получившая странное название "Всемирная паутина" (World Wide Web или WWW). Появление этой службы привлекло в ряды пользователей Сети сотни миллионов людей.

Вступление
Настоящий расцвет Интернет начался в 1992 году, когда была изобретена новая служба, получившая странное название "Всемирная паутина" (World Wide Web или WWW). Появление этой службы привлекло в ряды пользователей Сети сотни миллионов людей.

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

Маркетинг
Маркетинг - 2
Продвижение решений. Привлечение клиентов
Привлечение инвестиций
Поиск партнеров и дилеров
Поддержка клиентов, дилеров и партнеров
Поддержка клиентов, дилеров и партнеров - 2
Поддержка клиентов, дилеров и партнеров - 3
Многоязыковая поддержка
Прочие функции сайта

Некоторые вопросы формирования
Кроме Вас и Ваших специалистов этого никто не сделает и не стоит ожидать этого от разработчиков. Почему? Представьте, что Вы вдруг решите продвигать совершенно новые для Вас товары и услуги на совершенно неизвестном Вам рынке в совершенно незнакомой нише клиентов с их терминологией, психологией, потребностями и проблемами. А теперь представьте разработчиков в немного схожей ситуации. Ими возможно неоднократно создавались сайты клиентов той ниши, к которой принадлежите Вы (не забывайте — Вы для разработчика клиент!). Возможно даже, что такими клиентами были и Ваши конкуренты.

Требования к дизайну
Требования к автоматизации процессов
Задачи маркетинга
Задачи поиска информации
Поддержка клиентов, партнеров, дилеров
Системы оплат
Согласование и контроль за действиями
Согласование и контроль за действиями - 2
Регистрация в Интернет — каталогах
Ссылки, баннеры, баннерные сети

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

Некоторые технические аспекты
Некоторые технические аспекты - 2
Некоторые технические аспекты - 3
Создание бизнес-приложений
Создание бизнес-приложений - 2
Создание бизнес-приложений - 3
JavaScript
Java — апплеты
Активные формы
Активные формы - 2

Заключение
В статье кратко освещены основные возможности Интернет-представительств с точки зрения бизнеса. Приведены некие технические подходы к реализации тех или иных сторон. Некоторые аспекты, которые обязаны знать и уметь реализовать разработчики, не рассматривались.

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

Техническое задание
Техническое задание - 2
Техническое задание - 3
Техническое задание - 4


Кортасар Хулио - Киндберг
Информационные технологии
Блеск и нищета информационных технологий
Коростелев Дмитрий - Право На Жизнь
Козлов Сергей - Цыпленок Вечером
Крапивин Владислав - В Глубине Великого Кристалла
Деньги, банки, кредит
Основы функционального программирования
Криптография с открытым ключом
Зарождение криптографии
Кристи Агата - Слоны Помнят Все
Крюков Дмитрий - Хроника Великой Войны
Куликов Роман - Лима
Кук Оскар - По Кускам
Купцов Василий - Моцарт И Сальери, Дубль Два
Документационное обеспечение управления
Photoshop 4-5 - учебный курс
Курс делопроизводства. Документационное обеспечение
Кьяра Пьеро - Соблазны Джулии
Сайтостроительство