Php ru

Уроки PHP. На основе дискуссий форума PHP.SU.

Вы начинаете изучать PHP? Ознакомьтесь с вводным курсом обучения PHP.
Так же для новичков наши профессионалы собрали материалы по форуму PHP.SU и разместили это в виде Уроков PHP.

Знаете основы PHP и хотите укрепить свои познания?
Обратитесь непосредственно к разделу "Изучение PHP".
Рекомендуем также ознакомиться с принципами работы PHP с протоколом HTTP.

Вам также потребуется справочник по всем функциям PHP, полностью на русском.
Справочник по функциям PHP оснащен системой поиска функций по ключевым словам.

В PHP есть обширные средства для работы с СУБД, такими, как MySQL.
Вы можете использовать PHP для работы с большим количеством различных типов СУБД.

Наш портал содержит множество статей по PHP, MySQL, Apache, PEAR, регулярным выражениям, XML, другим веб-технологиям.
Общее число статей на данный момент составляет более 250.


У нас Вы найдете большое количество учебников и справочников по PHP, MySQL, HTML, XML, JavaScript и.т.д.

Для того, чтобы заниматься разработкой PHP скриптов и их отладкой, Вам необходим интерпретатор PHP, а также веб-сервер, например, Apache.
Если Вы будете создавать скрипты с использованием баз данных, то хорошим выбором будет MySQL.
Если Вы уже достаточно продвинутый пользователь и хотите самостоятельно установить и сконфигурировать веб-сервер, PHP и MySQL, то Вам в помощь раздел "Подготовка к работе".

Раздел "PHP скрипты" поможет Вам скачать большое количество различных скриптов PHP.

Раздел "Download" поможет Вам скачать необходимые компоненты: PHP, Apache, MySQL, PECL, PEAR, редакторы PHP кода, полезные утилиты для PHP и документацию по PHP, MySQL, PEAR и Apache.

www.php.su

Из истории PHP

Создал данный язык 6 июня 1994 года датский программист Расмус Лердорф. Он использовал набор скриптов на Perl/CGI для вывода и учёта посетителей его онлайн-резюме, обрабатывающий шаблоны HTML-документов. Набор скриптов получил соответствующее название Personal Home Page (Личная Домашняя Страница). Позже Лердорф разработал новый интерпретатор шаблонов PHP/FI уже на языке С (англ. Personal Home Page / Forms Interpreter — «Личная Домашняя Страница / Интерпретатор форм»). Это позволило создавать различные web-приложения.


Php ru

Расмус Лердорф — создатель языка PHP

Позже к разработке нового языка присоединилсь и другие. В частности PHP 3 (1998 год), получивший большую популярность, разрабатывали Лердорф и израильские программисты Энди Гутманс и Зеев Сураски.

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

Что такое PHP

PHP (от англ. PHP: Hypertext Preprocessor — PHP: препроцессор гипертекста; первоначально Personal Home Page Tools — Инструменты для создания персональных веб-страниц) — скриптовый язык программирования общего назначения, который широко применяется для разработки веб-приложений.

Php ru

Язык и его интерпретатор разрабатываются группой энтузиастов в рамках проекта с открытым кодом. Проект распространяется под собственной лицензией, несовместимой с GNU GPL.

Новички! Теперь простым языком о PHP…


При обращении пользователя к странице, написанной на PHP, как правило, готового варианта страницы НЕ существует. Действия PHP выполняются на стороне сервера. То есть ваше обращение к странице index.php любого сайта посылает запрос на сервер, а тот уже начинает собирать запрашиваемую Вами страницу. Что это значит? Ну вот Вы зашли, например, на Вашу почту или в социальную сеть:

Во-первых, будет осуществлена проверка, осуществлён ли вход (сохранены ли Ваши куки (cookies) в Браузере), если да, то он выдаёт страницу с Вашей личной информацией, если нет — форму входа логина и пароля. А это всё одна и та же страница!

Если совсем просто, то если Вы уже авторизовались, то выдаётся команда показать один код страницы, а если нет, то другой.

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

То есть, если Вы обычный пользователь, то при входе, например, на любой сайт, он не покажет Вам блок с админ-панелью)

В-третьих, у Вас на многих сайтах есть Cвои персональные данные — ФИО, город, аватар и тп, так вот Сервер также начинает их собирать. Вашей готовой страницы нигде НЕ существует! Есть одна универсальная, которая собирает данные для каждого пользователя индивидуально (работа PHP и MySQL).


И многое другое, что подразумевает под собой функционал языка PHP.

Продвинутых пользователей прошу не критиковать данное объяснение — нужно же как-то изложить суть новичкам. Причём хотелось коротко, Доступно и не вникая в мелочи, а не заваливать терминами, ссылками на толмуты, в результате чего губить весь Интерес потоком лишней информации…

tradebenefit.ru

Что такое PHP?

PHP — язык создания сценариев, который давно перерос свое название. Дело в том, что PHP — это аббревиатура от слов Personal Home Page. Первая версия PHP была создана Расмусом Лердорфом в 1994 г. и представляла собой набор инструментов для отслеживания посетителей Web-страницы. Со временем PHP из набора инструментов превратился в полноценный язык программирования, а его название было изменено как рекурсивное образование PHP HyperText Preprocessor (препроцессор гипертекста PHP).

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

В настоящее время основной версией PHP является седьмая.

Существуют два основных конкурента PHP: Active Server Pages (ASP) компании Microsoft и ColdFusion компании Allaire. По сравнению с ними PHP обладает рядом преимуществ, в числе которых:


  • Высокая производительность. PHP-программы работают быстрее, чем ASP.
  • Функциональность. Разработку PHP-программы можно отделить от собственно разработки Web-страницы, что упростит жизнь и программисту, и дизайнеру.
  • Цена. PHP абсолютно бесплатен.
  • Простота в использовании. Имеющие опыт программирования на распространенных языках найдут синтаксис PHP хорошо знакомым.
  • Переносимость. Один и тот же PHP-код можно использовать как в среде NT, так и на платформах UNIX.

Общие правила построения PHP-программы

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

Расширение файлов PHP-программ по умолчанию в PHP4 — .php. На основании этого расширения сервер распознает файл как PHP-программу и запускает интерпретатор.

PHP-программа должна быть отделена от обычного HTML-текста. Существует четыре стиля обрамления PHP-кода:

Стиль

Открывающий тег

Закрывающий тег

Сокращенный

<?

?>

XML (стандартный)

<?php

?>

ASP

<%

%>

SCRIPT (программный)

<SCRIPT LANGUAGE=»php»>

</SCRIPT>

Из перечисленных тегов только стандартные и программные работают в любой конфигурации PHP.

Так выглядит простейший смешанный документ, состоящий из HTML-текста и PHP-кода:

Пример 1

 <html> <head>  <title>Документ, состоящий из HTML-текста и PHP-кода</title> </head> <body> <?php echo "А вот и PHP!<br>"; ?> Всё очень просто! </body> </html> 

Здесь содержится один PHP-оператор echo. Этот оператор передает строку-аргумент «А вот и PHP!<br>» в HTML-страницу, которую генерирует сервер. При этом тег <br> сделает свое дело, т.е. осуществит переход на новую строку.

Для разделения операторов (по аналогии с Си) используется точка с запятой.

Комментарии в PHP-программе могут быть трех стилей:

 /* Многострочный комментарий в стиле классического Си */ // Однострочный комментарий в стиле С++ # Однострочный комментарий в стиле Perl 

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

В примере 1 заменим вызов функции echo на вызов встроенной функции phpinfo( ), которая выдаст список параметров PHP-среды.


htmlweb.ru

Сайт дня (как попасть): Самый расширенный поиск на eBay в рунете — ProfitZone.ru

Дорогие друзья, в комментариях к моему недавнему посту Лучшие ресурсы для изучения HTML и CSS было несколько пожеланий о том, что неплохо бы сделать аналогичную подборку полезных ресурсов по PHP. Так как на блоге Shakin.ru девиз «Visitors first» («Все для посетителей»), то предлагаю вашему вниманию мою новую подборку с лучшими ресурсами для изучения PHP и MySQL.

Лучшие ресурсы для изучения PHP и MySQL

Для начала приведу понятия PHP и MySQL.

PHP (англ. Hypertext Preprocessor — «препроцессор гипертекста») — скриптовый язык, изначально созданный для генерирования HTML-страниц на веб-сервере. PHP широко используется для создания веб-сайтов, поэтому знание PHP не только упрощает жизнь вебмастера, но и расширяет его возможности. Знать хотя бы основы PHP желательно каждому вебмастеру.

MySQL — свободная система управления базами данных (СУБД).

На мой взгляд, на данный момент в рунете ниша «PHP и MySQL для новичков» развита недостаточно. В частности, не хватает подробных уроков для новичков, написанных простым языком.

Сайты для изучения PHP и MySQL


PHP.ru- популярный форум PHP программистов. Есть раздел Программирование на PHP для новичков. Также есть разделы форума по MySQL, HTML и CSS, Javascript и Ajax. Кроме этого, есть мануал по PHP и мануал по MySQL на русском.

PHPclub.ru/talk — форум клуба разработчиков PHP. На этом форуме есть все — от теории PHPдо юмора PHP.

PHP.su — полезный ресурс с массой информации по PHP. Есть раздел Учебники по PHP для свободного скачивания, а также форум по PHP.

PHPforum.ru — помимо запоминающегося названия домена, у этого форума много ценной информации по PHP.

SoftTime.ru/forum — форум PHP на сайте известной студии SoftTime, сотрудники которой написали много полезных книг по PHP и MySQL.

Раздел PHP на forum.vingrad.ru — раздел PHP популярного форума программистов.

Раздел PHP на cyberforum.ru — еще один полезный раздел форума по PHP.

Askdev.ru — интересный сервис вопросов и ответов IT специалистов, где помимо PHP, обсуждаются многие другие тематики.

PHP5.ru — самоучитель по PHP, находится в процессе написания, но есть уже несколько глав.

🔥 Кстати! Я планирую выпустить платный курс по продвижению англоязычных сайтов. Если интересует, можете подать заявку в ранний список через эту форму, чтобы первыми узнать о выходе курса и получить специальную скидку.

Приглашаю вас подписаться на мои каналы в Telegram:


@shakinru — продвижение в рунете.
@burzhunet — англоязычное SEO.

Ресурсы по PHP для новичков

Я решил вынести сайты по PHP для новичков в отдельный пункт, так как далеко не все ресурсы подходят для новичков.

PHPbegun.ru — очень полезный блог для новичков по PHP. Этот блог можно было поместить в пункт Блоги, но так как он направлен в первую очередь на новичков, то пусть открывает этот пункт 🙂 .

Уроки PHP на forum.PHP.su — форумный раздел, в котором публикуются подробные уроки PHP для новичков. Вот список уроков со ссылками на них. Мне понравилось, что уроки написаны с юмором, что очень редко встречается.

On-line-teaching.com/PHP — онлайн учебник PHP для новичков.

Раздел PHP на ruseller.com — качественные переводы зарубежных материалов по PHP.

Блоги о PHP

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

Samborsky.com — блог Евгения Самборского.

Simplecoding.org- блог о программировании Владимира Стаценко.

Zhilinsky.ru — блог интернет-разработчика Владимира Жилинского.

Видеокурсы по PHP и MySQL

Плюс видеокурсов в том, что можно купить диск и спокойно заниматься по нему, просматривая видеоуроки.


PHP-mysql-video.ru — известный 22,5 часовой видеокурс по PHP и MySQL от Евгения Попова.

Сообщества по PHP и MySQL

Если вы активно общаетесь в ЖЖ, то в сообществах можно найти единомышленников по изучению PHP и MySQL.

ru_PHP — сообщество любителей PHP на ЖЖ.

ru_mysql — сообщество ЖЖ, посвященное вопросам MySQL.

Англоязычные ресурсы по PHP и MySQL

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

Если не хватает знания английского, во многих случаях понять суть статей поможет Google Переводчик — просто вставляйте в него адрес нужной страницы или текст для перевода. Мне он помогает читать даже сайты на китайском 🙂 .

PHP.net — официальный сайт PHP.

MySQL.com — официальный сайт MySQL.

Раздел PHP на nettuts.com — один из моих любимых ресурсов по PHP. Регулярно публикуются интересные материалы с подробным описанием и готовыми файлами, есть видеоуроки.

Goodphptutorials.com — еще один замечательный ресурс по изучению PHP. Есть хороший выбор уроков PHP для новичков.

W3schools.com/php — подробный справочник PHP на английском.

Dev.mysql.com/doc — документация по MySQL на английском.

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

Дополнительно

PHP-myadmin.ru- сайт PHPMyAdmin — приложения для работы с базами данных MySQL. Также есть форум, где можно задать вопросы.

Sypex Dumper — очень полезный бесплатный скрипт, с помощью которого можно просто и быстро создать резервную копию (бекап) базы данных MySQL, а также восстановить в случае необходимости базу данных из резервной копии.

Big Dump — незаменимый бесплатный скрипт для работы с большими базами данных. Big Dump сэкономил мне много времени и сил, всегда его рекомендую. Позволяет заливать базы данных большого размера, минуя ограничения хостинга. Нужно лишь указать настройки для соединения с базой данных и нужную кодировку. Затем поместите дамп в одну папку со скриптом, и наберите в браузере путь к скрипту.

Woweb.ru — большая коллекция PHP скриптов, которые будут полезны для практики программирования — на них можно тренироваться.

Если знаете другие полезные ресурсы по изучению PHP и MySQL — напишите о них в комментариях, я добавлю их в пост.

Глобатор

Постовой: Надежные gps навигаторы пригодятся всем любителям путешествий.

Новый год тайланд — что может быть интереснее, чем провести Новый год в Тайланде?

Каждая молодая мама думает — вот куплю коляску, и ребенок будет спокойно спать на прогулке.

Десерт на сегодня — костюмы в виде iPhone, причем на экранах все, как у настоящих Айфонов:

Подпишитесь на рассылку блога с полезными материалами по SEO

Оцените, пожалуйста, статью, я старался 🙂 :

shakin.ru

1. Создание функций с переменным числом аргументов

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

Но для начала, вспомним как мы создаём функции обычным образом:

Теперь посмотрим на то, как можно написать функцию с неограниченным количеством аргументов. Для этого будет использовать метод func_get_args():

2. Используем Glob() для поиска файлов

Часто названия функций говорят сами за себя. Такого нельзя сказать о функции glob().

Если не вдаваться в подробности, её функциональность схожа с методом scandir(). Она позволяет найти необходимый файл по шаблону:

Для нахождения файлов нескольких типов надо писать так:

Так же можно в шаблоне указать путь:

Для того чтобы получить полный путь к документу используйте метод realpath():

3. Информация об используемой памяти

Если вы будете отслеживать количество памяти, которое съедается на работу ваших скриптов то, наверное, чаще будете их оптимизировать.

В PHP существует мощный инструмент отслеживания используемой памяти. В разных частях скрипта нагрузки могут быть разные. Для того чтобы получить значение используемой памяти в данный момент, нам следует использовать метод memory_get_usage(). Для фиксации максимального количества используемой памяти используем memory_get_peak_usage()

4. Информация о процессоре

Для этого необходимо использовать метод getrusage(). Но учтите, что на Windows эта функция работать не будет.

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

  • ru_oublock: количество операций блочной записи
  • ru_inblock: количество операций блочного чтения
  • ru_msgsnd: количество отправленных сообщений
  • ru_msgrcv: количество принятых сообщений
  • ru_maxrss: максимальный размер невыгружаемого набора
  • ru_ixrss: общий объем разделяемой памяти
  • ru_idrss: общий объем неразделяемых данных
  • ru_minflt: количество используемых страниц памяти
  • ru_majflt: количество ошибок отсутствия страниц
  • ru_nsignals: количество принятых сигналов
  • ru_nvcsw: количество переключений контекста процессом
  • ru_nivcsw: количество принудительных переключений контекста
  • ru_nswap: количество обращений к диску при подкачке страниц
  • ru_utime.tv_usec: время работы в пользовательском режиме (микросекунды)
  • ru_utime.tv_sec: время работы в пользовательском режиме (секунды)
  • ru_stime.tv_usec: время работы в привилегированном режиме (микросекунды)
  • ru_stime.tv_sec: время работы в привилегированном режиме (секунды)

Для того чтобы узнать какие ресурсы вашего процессора используются скриптом, вам необходимо значение ‘user time’ (время работы в пользовательском режиме) и ’system time’ (время работы в привилегированном режиме). Вы можете получить результат как в секундах, так и в микросекундах. Для того чтобы превратить общее количество секунд в десятичное число, вам необходимо разделить значение микросекунд на 1 миллион и добавить к значению секунд.

Запутанно как-то. Вот пример:

Хотя выполнение скрипта заняло около 3-х секунд, процессор не был сильно нагружен. Дело в том, что при вызове (sleep) скрипт практически не потребляет ресурсов процессора. Вообще существует множество задач, которые занимают значительное время, но при этом не используют процессор. К примеру, ожидание операций связанных с диском. Так что вы не всегда используете процессорное время в своих скриптах.

Вот ещё пример:

Работа скрипта заняла 1.4 секунды процессорного времени. В данном случае, время системных вызовов вообще низкое.

Время работы в привилегированном режиме (System Time) – это время, которое процессор затрачивает на выполнение системных запросов к ядру от имени программы. Пример:

Теперь системного времени затратилось намного больше, чем в прошлом примере. Всё благодаря методу microtime(), который использует ресурсы системы.

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

5. Магические константы

В PHP существует множество магических констант, таких как номер текущей строки (__LINE__), путь к файлу (__FILE__), путь к каталогу (__DIR__), имя функции (__FUNCTION__), имя класса (__CLASS__), имя метода (__METHOD__) и пространства имён (__NAMESPACE__).

Все мы их рассматривать не будем. Посмотрим только лишь парочку:

Используйте __LINE__ при отладке скриптов:

6. Генерирование уникальных ID

Бывают такие моменты, когда вам надо сгенерировать уникальную строку. Множество раз я видел, что для решения этой задачи используют функцию md5():

Но на самом деле для этих целей в PHP есть специальная функция uniqid()

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

Для того чтобы уменьшить шансы получения дубликата, мы можем добавить префикс или использовать второй параметр (увеличит количество символов):

Этот метод генерирует строки размером меньше, чем md5, тем самым вы сможете сэкономить место.

7. Сериализация

Вам когда-нибудь приходилось хранить комплексные данные в базе или в файле? Для того чтобы сконвертировать объект в строку в PHP предусмотрена специальная функция.

Вообще говоря, этих методов 2: serialize() и unserialize()

Вот так вот работают эти функции. Однако из-за бурного роста популярности JSON, в PHP 5.2 были добавлены 2 метода json_encode() и json_decode(). Их работа схожа с serialize():

Этот вариант более компактный и совместимый с другими языками, такими как JavaScript. Однако при работе с очень навороченными объектами может возникнуть потеря данных.

8. Сжатие строк

Кода мы говорим о сжатии, то на ум сразу же приходят архивные файлы в формате ZIP. PHP предоставляет возможность сжатия длинных строк без всяких файлов.

В следующем примере продемонстрируем работу функций gzcompress() и gzuncompress():

В наших силах уменьшить объём текста на 50%. В этих же целях можно использовать методы gzencode() и gzdecode(), которые используют другой алгоритм сжатия.

9. Выполнить перед завершением

В PHP существует функция register_shutdown_function(), которая позволит вам выполнить какой-то код перед завершением работы скрипта.

Допустим, вы хотите узнать какую-то информацию… Время работы скрипта:

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

При использовании метода register_shutdown_function() код выполнится в любом случае:

Вывод

PHP это целая планета, которая не перестаёт нас удивлять своим содержимым. А что думаете вы о данных функциях?

ruseller.com


You May Also Like

About the Author: admind

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

Adblock
detector