Язык программирования 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, – это то, как он встраивается в HTML-код, как интерпретатор узнает, что это код на языке PHP. В предыдущей лекции мы уже говорили об этом. Повторяться не будем, отметим только, что в примерах мы чаще всего будем использовать вариант ?php ?, и иногда сокращенный вариант ? ?.
Оператор if
Здесь выражение есть любое правильное PHP-выражение (т.е. все, что имеет значение). В процессе обработки скрипта выражение преобразуется к логическому типу. Если в результате преобразования значение выражения истинно (True), то выполняется блок_выполнения. В противном случае блок_выполнения игнорируется. Если блок_выполнения содержит несколько команд, то он должен быть заключен в фигурные скобки { }.
Основы клиент-серверных технологий
В самом начале курса мы уже говорили о том, что PHP – это скриптовый язык, обрабатываемый сервером. Сейчас мы хотим уточнить, что же такое сервер, какие функции он выполняет и какие вообще бывают серверы. Если речь идет о сервере, невольно всплывает в памяти понятие клиента. Все потому, что эти два понятия неразрывно связаны. Объединяет их компьютерная архитектура клиент-сервер. Обычно, когда говорят «сервер», имеют в виду сервер в архитектуре клиент-сервер, а когда говорят «клиент» – имеют в виду клиент в этой же архитектуре. Так что же это за архитектура? Суть ее в том, чтобы разделить функции между двумя подсистемами: клиентом, который отправляет запрос на выполнение каких-либо действий, и сервером, который выполняет этот запрос. Взаимодействие между клиентом и сервером происходит посредством стандартных специальных протоколов, таких как TCP/IP и z39.50.
Функции, определяемые пользователем
Для чего нужны функции? Чтобы ответить на этот вопрос, нужно понять, что вообще представляют собой функции. В программировании, как и в математике, функция есть отображение множества ее аргументов на множество ее значений. То есть функция для каждого набора значений аргумента возвращает какие-то значения, являющиеся результатом ее работы. Зачем нужны функции, попытаемся объяснить на примере. Классический пример функции в программировании – это функция, вычисляющая значение факториала числа. То есть мы задаем ей число, а она возвращает нам его факториал. При этом не нужно для каждого числа, факториал которого мы хотим получить, повторять один и тот же код – достаточно просто вызвать функцию с аргументом, равным этому числу.
Классы и объекты
Начнем с основных понятий объектно-ориентированного программирования – класса и объекта. Существует множество определений этих понятий. Мы дадим следующее: объект – это структурированная переменная, содержащая всю информацию о некотором физическом предмете или реализуемом в программе понятии, класс – это описание таких объектов и действий, которые можно с ними выполнять.
Массивы
Складывают массивы с помощью стандартного оператора «+». Вообще говоря, эту операцию по отношению к массивам точнее назвать объединением. Если у нас есть два массива, $a и $b, то результатом их сложения (объединения) будет массив $c, состоящий из элементов $a, к которым справа дописаны элементы массива $b. Причем, если встречаются совпадающие ключи, то в результирующий массив включается элемент из первого массива, т.е. из $a. Таким образом, если складываются массивы в языке PHP, от перемены мест слагаемых сумма меняется.
Строки
Вероятно, читатели примерно представляют, что такое тип данных «строка» и как создать переменную такого типа. В одной из первых лекций мы приводили три способа задания строк: с помощью одинарных кавычек, двойных кавычек и с помощью heredoc–синтаксиса. Отмечали мы и основные различия между этими способами. В основном они касаются обработки переменных и управляющих последовательностей внутри строки.
Функция fopen
Вообще говоря, в PHP не существует функции, предназначенной именно для создания файлов . Большинство функций работают с уже существующими файлами в файловой системе сервера. Есть несколько функций, которые позволяют создавать временные файлы, или, что то же самое, файлы с уникальным для текущей директории именем. А вот для того, чтобы создать самый обычный файл, нужно воспользоваться функцией, которая открывает локальный или удаленный файл. Называется эта функция fopen(). Что значит «открывает файл»? Это значит, что fopen связывает данный файл с потоком управления программы. Причем связывание бывает различным в зависимости от того, что мы хотим делать с этим файлом: читать его, записывать в него данные или делать и то и другое
Базы данных: основные понятия
В жизни мы часто сталкиваемся с необходимостью хранить какую-либо информацию, а потому часто имеем дело и с базами данных. Например, мы используем записную книжку для хранения номеров телефонов своих друзей и планирования своего времени. Телефонная книга содержит информацию о людях, живущих в одном городе. Все это своего рода базы данных. Ну а раз это базы данных, то посмотрим, как в них хранятся данные.
Построение интерфейса для добавления информации
Итак, у нас есть какая-то таблица в базе данных. Чтобы построить интерфейс для добавления информации в эту таблицу, нужно ее структуру (т.е. набор ее полей) отобразить в html-форму.
Авторизация доступа
Что такое авторизация доступа? Попробуем объяснить на примере из обычной жизни. Вы хотите взять в библиотеке книгу. Но эта услуга доступна только тем, у кого есть читательский билет. Можно сказать, что с помощью этого билета производится "авторизация доступа" к библиотечным ресурсам. Библиотекарь после предъявления ему читательского билета знает, кто берет книгу, и в случае необходимости (например, книгу долго не возвращают) может принять меры (позвонить должнику домой). Библиотекарь имеет гораздо больше прав, чем обычный посетитель: он может давать или не давать книги определенному посетителю, может выставлять напоказ новинки и убирать в архив редко читаемые книги и т.п.
Понятие регулярного выражения
Регулярное выражение (regular expression, сокращенно РВ) – это технология, которая позволяет задать шаблон и осуществить поиск данных, соответствующих этому шаблону, в заданном тексте, представленном в виде строки.
Кроме того, с помощью регулярных выражений можно изменить и удалить данные, разбить строку по шаблону на подстроки и многое другое.
Объектная модель XML-документа
Прежде чем начать изучать способы работы PHP с XML, полезно хотя бы вкратце ознакомиться с самой технологией XML. В первой части лекции будут рассмотрены основные понятия этой технологии, базовый синтаксис XML–документов, области ее применения, а также понятие DOM XML. Вторая часть лекции посвящена непосредственно вопросам обработки XML при помощи PHP. Сюда входит установка расширения DOM XML, описание и примеры использования некоторых встроенных в PHP функций для обработки XML-документов.
Что такое шаблоны и зачем они нужны
В одной из лекций мы уже рассматривали пример шаблона. Это был шаблон для отображения документов. Пользователь создавал строку текста, размеченного с помощью html-тегов, и вставлял в нее специальные метасимволы (вида !имя элемента), которые наша программа впоследствии заменяла на значения соответствующих элементов. Для чего нам был нужен такой шаблон? Чтобы, например, можно было изменить стиль отображения документа, не меняя кода программы.
PHP - статьи
Если Вы планируете создавать свой динамический сайт на платформе Windows, то у Вас скорее всего возникнет задача выбора СУБД для хранения информации (с языком, на котором Вы будете его программировать, судя по всему, вопросов не возникает). Одним из вариантов её решения, может оказаться использование MS Access в качестве SQL-сервера. Далее будет описано, как в скрипте, написанном на PHP, обратиться к базе данных MS Access.
К сожалению, в PHP нет встроенных средств для работы с этой СУБД, что, однако не исключает совместной их работы - для подключения к базе мы будем использовать ODBC.
Работа с MS Access в PHP
Если Вы планируете создавать свой динамический сайт на платформе Windows, то у Вас скорее всего возникнет задача выбора СУБД для хранения информации (с языком, на котором Вы будете его программировать, судя по всему, вопросов не возникает). Одним из вариантов её решения, может оказаться использование MS Access в качестве SQL-сервера. Далее будет описано, как в скрипте, написанном на PHP, обратиться к базе данных MS Access.
Аспектно-ориентированная веб-разработка и PHP
Данная статья знакомит читателя с популярной парадигмой аспектно-ориентированной разработки программного обеспечения (AOSD). Статья содержит множество практических примеров, призванных конкретизировать столь абстрактную область как AOSD и помочь быстрее понять и оценить преимущества данного подхода. Статья рассчитана в первую очередь на программистов PHP. Цель ее в том, что бы показать, как можно использовать AOSD в PHP проектах уже сегодня
If-Modified-Since, если PHP не установлен как модуль Apache
Наверное, каждый веб-программист, интересующийся кешированием веб-страниц на стороне клиента, знает о таких заголовках HTTP, как If-Modified-Since и If-None-Match. Данные заголовки отправляются браузером при обращении к странице, которая имеется в его кеше. Для правильной организации кеширования на стороне клиента, серверному приложению необходимо отправлять заголовок "HTTP/1.0 304 Not Modified"и прекращать передачу данных в случае, если содержимое запрашиваемой страницы не изменилось с того момента времени, которое указано в присланном заголовке "If-Modified-Since".
Битва со списками или применение классов для вывода списков в PHP
Каждый раз, набирая подобный код в PHP-редакторе, видишь, что снова и снова проделываешь одну и ту же работу с минимальными вариациями. Различия только в коде SQL-запроса, типе и количестве выводимых полей и в HTML-тэгах, т.е. в дизайне. А если делаешь одну работу два раза, то это повод не только заскучать, но и задуматься о том, как ее себе облегчить. Да и попытки немного изменить дизайн сайта часто требуют модификации именно этого участка кода, а значит и его последующей отладки.
Register_globals=On? Вы в опасности!
Что представляет собой register_globals? Это опция в php.ini, которая указывает на необходимость регистрации переменных, полученных методом POST или GET в глобальный массив $GLOBALS.
Сбор статистики на PHP
Статистические сведения о посетителях сайта приносят не мало пользы. По статистике можно подогнать дизайн сайта в соответствии с разрешением большинства посетителей, подогнать дизайн к браузеру, на котором приходят большая часть посетителей да и просто интересно, кто заглядывает к вам на сайт, из под какой OC, а может это поисковый робот яндекса или гугла? Хотя некоторые системы слежения за посетителями бывают черезвычайно сложными, но с помощью довольно простой системы можно получить любопытные сведения о посетителях сайта. Я покажу как сделать с виду простой журнал посещений сайта с помощью PHP и cookies (MySQL не требуется). К тому же мой пример можно легко расширить.
PHP - авторизация доступа
Если вы хотя бы иногда посещаете сайты, на которых есть "защищенная зона", то есть часть, доступ на которую возможен лишь по определенным логину и паролю (например, почтовые службы с web-интерфейсом или сервисы хостинга), то вас наверняка интересовало, как эта авторизация происходит. И наверняка вам хотелось устроить то же самое и на вашем сайте, ведь необходимость в этом иногда возникает. Ниже будет рассказано о технологиях авторизации доступа, основанных на средствах web-сервера и технологии PHP. Думается, значение слова "авторизация" вам понятно - это не что иное, как обеспечение возможности доступа к чему-либо тем и только тем пользователям, которые знают определенные кодовые слова - логин и пароль.
Корпоративный сайт. Эффективный инструмент бизнеса
В 1969 году в один из самых "пиковых" моментов международных отношений для того, чтобы решить проблему обмена информацией между научно-исследовательскими институтами и NASA необходимо было создать единую сеть, требования к которой кроме высокой надежности (в случае ядерного удара) учитывали необходимость "связать" различные ЭВМ.
Созданное решение — сеть Arpanet оказалось очень надежным и удобным. Вскоре последовали попытки использовать сеть не только в "милитаристских" целях. Число компьютеров (а это были не привычные теперь всем устройства) росло. Сети и ЭВМ, не входящие в Arpanet, "испытывали неудобства" в связи с тем, что их "желание" войти в единую сеть реализовано не было.
К 1973 году возникла необходимость сформулировать концепцию единой глобальной сети, что было сделано впервые Витоном Серфом и Робертом Каном.
Настоящий расцвет Интернет начался в 1992 году, когда была изобретена новая служба, получившая странное название "Всемирная паутина" (World Wide Web или WWW). Появление этой службы привлекло в ряды пользователей Сети сотни миллионов людей.
Вступление
Настоящий расцвет Интернет начался в 1992 году, когда была изобретена новая служба, получившая странное название "Всемирная паутина" (World Wide Web или WWW). Появление этой службы привлекло в ряды пользователей Сети сотни миллионов людей.
"Обязанности" сайта
Исторически сложилось, что развитие Интернет-представительств Российского бизнеса, прежде всего, имело ярко выраженное назначение поднятия имиджа фирм. Действительно, лет 10 назад наличие адреса сайта и адреса электронной почты на визитной карточке сотрудника говорило о фирме многое. В наше время наличие подобной информации на визитных карточках, рекламных материалах является само собой разумеющимся, а отсутствие вызывает порой недоумение и соответствующие мысли о "несерьезности" организации. Таким образом, даже само наличие сайта поднимает имидж фирмы.
Некоторые вопросы формирования
Кроме Вас и Ваших специалистов этого никто не сделает и не стоит ожидать этого от разработчиков. Почему? Представьте, что Вы вдруг решите продвигать совершенно новые для Вас товары и услуги на совершенно неизвестном Вам рынке в совершенно незнакомой нише клиентов с их терминологией, психологией, потребностями и проблемами. А теперь представьте разработчиков в немного схожей ситуации. Ими возможно неоднократно создавались сайты клиентов той ниши, к которой принадлежите Вы (не забывайте — Вы для разработчика клиент!). Возможно даже, что такими клиентами были и Ваши конкуренты.
Некоторые технические аспекты
Распределенное расположение корпоративных Интернет-представительств. Данный способ применим в случае наличия нескольких территориально удаленных подразделений фирмы, холдинга, например, в разных городах, регионах, странах. Такие Интернет-представительства учитывают экономические особенности регионов или стран, на работу с которыми ориентирован сайт, язык и особенности рынка. Как правило, целесообразным является не размещение соответствующей информации в каталогах и разделах одного WWW-сервера, а наличие нескольких серверов.
Заключение
В статье кратко освещены основные возможности Интернет-представительств с точки зрения бизнеса. Приведены некие технические подходы к реализации тех или иных сторон. Некоторые аспекты, которые обязаны знать и уметь реализовать разработчики, не рассматривались.
Пример оформления технического задания
Рассмотрим возможный вариант Технического Задания, который совсем не является неким "образцом", а лишь отражает основные пункты. Наличие этих пунктов является результатом вышеописанной деятельности по подготовке документа.
Кортасар Хулио - Киндберг
Информационные технологии
Блеск и нищета информационных технологий
Коростелев Дмитрий - Право На Жизнь
Козлов Сергей - Цыпленок Вечером
Крапивин Владислав - В Глубине Великого Кристалла
Деньги, банки, кредит
Основы функционального программирования
Криптография с открытым ключом
Зарождение криптографии
Кристи Агата - Слоны Помнят Все
Крюков Дмитрий - Хроника Великой Войны
Куликов Роман - Лима
Кук Оскар - По Кускам
Купцов Василий - Моцарт И Сальери, Дубль Два
Документационное обеспечение управления
Photoshop 4-5 - учебный курс
Курс делопроизводства. Документационное обеспечение
Кьяра Пьеро - Соблазны Джулии
Сайтостроительство
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий