Как подключить библиотеку в PHP. Простой путь
Библиотека — это программный код, оформленный в виде отдельного компонента, который используют для решения изолированной задачи.
Назначение библиотек
Уровень разработчика определяется не только знанием языка, но и умением искать и выбирать подходящие инструменты для решения задачи. Если есть возможность использовать качественное готовое решение, то это лучший выбор.
Готовые решения помогают писать меньше кода и сосредоточиться на предметной области проекта. Большинство библиотек свободно распространяются в интернете и доступны для бесплатного использования.
Обычно библиотека — это набор PHP-сценариев, запакованных в архив. При установке файлы распаковываются из архива в определённую папку внутри вашего проекта. Как правило, один проект использует несколько библиотек.
Когда использовать библиотеку
Готовые решения используют для упрощения работы с базовыми операциями, которые часто встречаются в любом веб-проекте.
Примеры: отправка сообщений электронной почты, валидация форм, работа с графикой, изменение размера изображений, работа с архивами.
Библиотеки не заменят весь код проекта, но помогут в большой части рутинных действий.
При выборе библиотеки обратите внимание на наличие качественной документации. Она описывает возможности библиотеки и способы её использования. Если документация неполная, устаревшая или отсутствует, то использовать эту библиотеку будет очень сложно. Придётся самостоятельно разбираться в её исходном коде.
Второе важное качество библиотеки — это частота её использования другими программистами. Как узнать этот показатель? Можно ориентироваться на количество звёзд на GitHub, количество результатов при поиске или данные сервиса Google Trends.
Почему это важно? Чем больше у библиотеки пользователей, тем проще будет найти ответ в затруднительной ситуации или разобраться в особенностях использования.
Последний критерий, определяющий правильный выбор библиотеки — это набор предлагаемых возможностей. Для решения одной задачи существует несколько библиотек-конкурентов. И отличаются они не только документацией и пользовательской базой, но и общей функциональностью. Чтобы не забивать гвозди микроскопом, постарайтесь определить, не будет ли выбранное решение слишком громоздким для задачи. Если это так, то лучше найти более простое решение.
Пример подключения и использования библиотеки
Работа с библиотекой состоит из трёх шагов:
- установка
- подключение
- использование
Всё просто: нужно зайти на сайт с библиотекой, скачать архив и распаковать его в папку с PHP-сценариями.
Затем необходимо подключить сценарии с классами библиотеки. Далее в коде происходит создание новых объектов этих классов и вызов их методов. Такая процедура работы типична для любой библиотеки.
Зависимости библиотеки
Мы используем библиотеки, чтобы писать меньше кода и сосредоточиться на главном. Ирония в том, что авторы библиотек поступают точно так же. В коде библиотек они сами используют другие библиотеки для облегчения своей работы.
Вот пример: мы скачали библиотеку «А», а она, в свою очередь, использует библиотеку «Б». При этом код библиотеки «Б» мы не загружали и не устанавливали. Тогда библиотекой «А» воспользоваться не получится, потому что она не будет работать, пока дополнительно не будет установлена библиотека «Б». Такие отношения между библиотеками называются зависимостями.
Всё ещё больше усложняется, когда зависимость включает не только название библиотеки, но и конкретную версию.
«Доктайп» — журнал о фронтенде. Читайте, слушайте и учитесь с нами.
PHP Introduction
The term PHP is an acronym for – Hypertext Preprocessor . PHP is a server-side scripting language designed specifically for web development. It is open-source which means it is free to download and use. It is very simple to learn and use. The file extension of PHP is “.php”.
PHP was introduced by Rasmus Lerdorf in the first version and participated in the later versions. It is an interpreted language and it does not require a compiler.
Characteristics of PHP
- PHP code is executed in the server.
- It can be integrated with many databases such as Oracle, Microsoft SQL Server, MySQL, PostgreSQL, Sybase, and Informix.
- It is powerful to hold a content management system like WordPress and can be used to control user access.
- It supports main protocols like HTTP Basic, HTTP Digest, IMAP, FTP, and others.
- Websites like www.facebook.com and www.yahoo.com are also built on PHP.
- One of the main reasons behind this is that PHP can be easily embedded in HTML files and HTML codes can also be written in a PHP file.
- The thing that differentiates PHP from the client-side language like HTML is, that PHP codes are executed on the server whereas HTML codes are directly rendered on the browser. PHP codes are first executed on the server and then the result is returned to the browser.
- The only information that the client or browser knows is the result returned after executing the PHP script on the server and not the actual PHP codes present in the PHP file. Also, PHP files can support other client-side scripting languages like CSS and JavaScript.
Origin and History
- PHP was created by Rasmus Lerdorf in 1994 and initially stood for “Personal Home Page.” Over the years, it evolved into “PHP: Hypertext Preprocessor.”
- PHP is open-source and has a large community of developers contributing to its development.
Purpose of using PHP
- PHP is primarily used for server-side web development. It enables the creation of dynamic web pages by embedding PHP code within HTML.
- PHP can perform various tasks, including handling form data, generating dynamic page content, managing databases, and interacting with servers.
Syntax
Example:
HTML
< title >PHP Hello World title >
Output:
Hello, World! This is PHP code
Features of PHP
- Dynamic Typing: PHP is dynamically typed, meaning you don’t need to declare the data type of a variable explicitly.
- Cross-Platform: PHP runs on various platforms, making it compatible with different operating systems.
- Database Integration: PHP provides built-in support for interacting with databases, such as MySQL, PostgreSQL, and others.
- Server-Side Scripting: PHP scripts are executed on the server, generating HTML that is sent to the client’s browser.
Why should we use PHP?
PHP can actually do anything related to server-side scripting or more popularly known as the backend of a website. For example, PHP can receive data from forms, generate dynamic page content, can work with databases, create sessions, send and receive cookies, send emails, etc. There are also many hash functions available in PHP to encrypt users’ data which makes PHP secure and reliable to be used as a server-side scripting language. So these are some of PHP’s abilities that make it suitable to be used as a server-side scripting language. You will get to know more of these abilities in further tutorials.
Even if the above abilities do not convince you of PHP, there are some more features of PHP. PHP can run on all major operating systems like Windows, Linux, Unix, Mac OS X, etc. Almost all of the major servers available today like Apache supports PHP. PHP allows using a wide range of databases. And the most important factor is that it is free to use and download and anyone can download PHP from its official source: www.php.net .
Please refer to setting up the development environment to setup and run PHP programs.
What’s new in PHP 7.0?
- PHP 7 is faster than the previous versions.
- PHP 7 supports new operators.
- PHP 7 supports better Error Handling functionalities.
- PHP 7 supports stricter declarations for types in function parameters.
Advantages of PHP
- Open Source: PHP is an open-source language, making it freely available for use and distribution. This encourages a large community of developers, contributing to its growth and improvement.
- Easy to Learn: PHP syntax is similar to C and other programming languages, making it relatively easy for developers to learn, especially for those with a background in programming.
- Web Integration: PHP is designed specifically for web development and is embedded within HTML. It seamlessly integrates with various web technologies, facilitating the creation of dynamic and interactive web pages.
- Database Support: PHP has excellent support for various databases, including MySQL, PostgreSQL, SQLite, and more. This makes it easy to connect and interact with databases, a crucial aspect of many web applications.
- Cross-Platform Compatibility: PHP is platform-independent and runs on various operating systems, including Windows, Linux, macOS, and others. This ensures compatibility across different environments.
- Large Community and Documentation: PHP has a vast and active community of developers. The abundance of online resources, tutorials, and documentation makes it easier for developers to find solutions and seek help when needed.
- Frameworks and CMS: There are popular PHP frameworks like Laravel, Symfony, and CodeIgniter, which provide pre-built modules and features, aiding in rapid development. Additionally, PHP supports widely used content management systems (CMS) like WordPress and Joomla.
- Server-Side Scripting: PHP scripts are executed on the server, reducing the load on the client’s side. This server-side scripting capability is crucial for generating dynamic content and performing server-related tasks.
- Community Support: The PHP community actively contributes to the language’s development, ensuring regular updates, security patches, and improvements.
Disadvantages of PHP
- Inconsistency: PHP has been criticized for inconsistencies in function names and parameter orders. This can lead to confusion for developers, especially when working with a mix of older and newer functions.
- Security Concerns: If not handled properly, PHP code may be susceptible to security vulnerabilities, such as SQL injection and cross-site scripting (XSS). Developers need to be cautious and follow best practices to secure PHP applications.
- Performance: While PHP performs well for many web applications, it may not be as fast as some compiled languages like C or Java. However, advancements and optimizations in recent versions have improved performance.
- Lack of Modern Features: Compared to newer languages, PHP may lack some modern language features. However, recent versions of PHP have introduced improvements and features to address this concern.
- Scalability Challenges: PHP can face challenges when it comes to scaling large and complex applications. Developers may need to adopt additional tools or frameworks to address scalability issues.
- Not Suitable for Large-Scale Applications: While PHP is suitable for small to medium-sized projects, it might not be the best choice for extremely large and complex applications where more structured languages might be preferred.
- Limited Object-Oriented Programming (OOP) Support: Although PHP supports OOP, its implementation has been criticized for not being as robust as in some other languages. However, recent versions have introduced improvements to enhance OOP capabilities.
Работа библиотеки PHP с драйвером MongoDB (PHPLIB)
После первоначальной настройки драйвера продолжится объяснение того, как начать работу с драйвером MongoDB и пользовательской библиотекой чтобы создать первый проект.
Установка библиотеки PHP через Composer
Последнее, что необходимо установить перед тем, как начать писать приложение, — это библиотека PHP.
Библиотеку будем устанавливать через пакетный менеджер » Composer. Инструкции по установке Composer на разные платформы опубликованы на его сайте.
Библиотеку устанавливают так:
$ composer require mongodb/mongodb
Будет выведено что-то вроде:
./composer.json has been created Loading composer repositories with package information Updating dependencies (including require-dev) - Installing mongodb/mongodb (1.0.0) Downloading: 100% Writing lock file Generating autoload files
Composer создаст несколько файлов: composer.json , composer.lock и директорию vendor , содержащую саму библиотеку и другие зависимости, которые потребуются в проекте.
Работа с библиотекой PHP
Кроме управления зависимостями, Composer также содержит автозагрузчик классов для этих зависимостей. Необходимо убедиться, что этот автозагрузчик включён в начало скрипта или в код начальной загрузки приложения:
// Этот путь должен указывать на автозагрузчик Composer
require ‘vendor/autoload.php’ ;?php
После этого можно использовать библиотеку как описано » в документации.
Если ранее приходилось работать с драйвером MongoDB в других языках, API библиотеки будет выглядеть знакомым. Он содержит класс » Client для соединения с MongoDB, класс » Database для операций уровня базы данных (например, команды, управление коллекциями) и класс » Collection для операций уровня коллекций (например, операций » CRUD, управление индексами).
Например, вот как вставить документ в коллекцию beers базы данных demo:
require ‘vendor/autoload.php’ ; // подключаем автозагрузчик классов Composer
?php
$client = new MongoDB\Client ( «mongodb://localhost:27017» );
$collection = $client -> demo -> beers ;
$result = $collection -> insertOne ( [ ‘name’ => ‘Hinterland’ , ‘brewery’ => ‘BrewDog’ ] );
echo «Идентификатор вставленного документа ‘ < $result ->getInsertedId ()> ‘» ;
?>
Поскольку вставленный документ не содержал поля _id , драйвер сгенерирует для сервера объект MongoDB\BSON\ObjectId , чтобы использовать как _id . Это значение также становится доступно вызываемому на объекте результата методу insertOne .
После вставки можно запросить только что вставленные данные. Для этого вызывают метод find , который возвращает итерируемый курсор:
require ‘vendor/autoload.php’ ; // подключаем автозагрузчик классов Composer
?php
$client = new MongoDB\Client ( «mongodb://localhost:27017» );
$collection = $client -> demo -> beers ;
$result = $collection -> find ( [ ‘name’ => ‘Hinterland’ , ‘brewery’ => ‘BrewDog’ ] );
foreach ( $result as $entry ) echo $entry [ ‘_id’ ], ‘: ‘ , $entry [ ‘name’ ], «\n» ;
>
?>
Хотя после знакомства с примерами может быть неочевидно, но документы BSON и массивы по умолчанию десериализованы как типы классов в библиотеке. Эти классы дают гарантию, что значения сохранят типы при сериализации обратно в BSON, что исключает проблемы со старыми драйверами, когда массивы могли преобразоваться в документы и наоборот. А также этот тип классов расширяет класс ArrayObject , что повышает удобство работы с ними. Подробнее о сериализации и десериализации между переменными PHP и BSON рассказано в спецификации Постоянные данные.
Composer: пакетный менеджер для PHP
Пакетный менеджер — это программа для поиска и установки библиотек по их названию.
Пакетный менеджер избавляет от необходимости самостоятельно искать библиотеки, скачивать, распаковывать, разрешать зависимости — все эти задачи он берёт на себя.
Что умеет пакетный менеджер?
- Находить библиотеки по имени, скачивать и распаковывать их;
- Автоматически скачивать и устанавливать зависимости для каждой библиотеки;
- Подключать классы библиотек внутри сценариев;
- Обновлять библиотеки вместе с зависимостями.
Composer: пакетный менеджер для PHP
В PHP для управления библиотеками используют пакетный менеджер Composer. Это мощный и удобный инструмент, он легко справляется со всеми задачами по установке и разрешению зависимостей у библиотек.
Как начать работу с Composer:
- Скачать Composer;
- Инициализировать его в проекте;
- Подключить файл автозагрузки в нужный сценарий;
- Установить нужную библиотеку.
Установка
Скачайте Composer для Windows. Это обычный установочный файл с режимом «мастера», который проведёт вас по процессу установки. В конце проверьте работу, открыв командную строку. Если выполнить команду composer , то увидите длинный перечень его возможностей.
Инициализация в проекте
Перейдём в рабочую папку проекта (если вы установили OpenServer в стандартную папку, то, например, так: cd C:\ospanel\domains\localhost ). Выполним последовательно команды composer init и composer install . На этом инициализация закончена. В проекте появилась новая папка с именем vendor .
Подключение сценария автозагрузки
Composer упрощает не только установку библиотек, но и их использование. Он подключает все необходимые файлы классов библиотеки. За это отвечает специальный сценарий autoload.php — единственный файл, который необходимо подключить для использования любых библиотек.
autoload.php использует механизм «автозагрузки». Он перехватывает обращение к классам библиотек и подключает все необходимые сценарии «на лету».
Чтобы это всё работало, подключите autoload.php в вашем сценарии:
require_once "vendor/autoload.php";
Установка библиотеки из Composer
Composer скачивает и устанавливает библиотеки по их имени. Чтобы узнать имя библиотеки, перейдите на её сайт, и найдите в описании имя. Например, название одной из библиотек: fzaninotto/faker
Для установки библиотеки введите команду composer require . Composer загрузит и установит библиотеку в папку vendor . Останется подключить установленную библиотеку в сценарии и можно её использовать.
Подключение библиотеки в сценариях
Рассмотрим подключения и использования на примере библиотеки для валидации форм — GUMP . Установим её командой: composer require wixel/gump .
Подключим библиотеку в сценарии, где происходит валидация формы:
'required|valid_email', 'password' => 'required|min_len,8', 'login' => 'required|alpha_numeric', 'phone' => 'phone_number' ]; $gump = new GUMP('ru'); $gump->validation_rules($rules); $validated_data = $gump->run($_POST);
Подключаем универсальный файл автозагрузки, который отвечает за подключение классов библиотеки: vendor/autoload.php .
Затем создаём новый объект валидатора и вызываем его методы для передачи правил валидации и проверки формы. Всё готово.
«Доктайп» — журнал о фронтенде. Читайте, слушайте и учитесь с нами.
Читать дальше
Как работает протокол HTTP
HTTP был разработан в 1990-х годах для создания первого интерактивного текстового веб-браузера. За эти годы протокол менялся и совершенствовался, становился более гибким и постепенно превратился в современный интернет. В статье рассмотрим принцип работы протокола и что важно знать о нём разработчику.
- 8 февраля 2023
10 популярных функций в MYSQL, которые вам нужно знать
Без лишних слов принесли вам некоторые популярные функции MySQL, без которых вы точно не обойдётесь в работе.
- 17 января 2023
Подключение файлов в PHP. Метод require()
Способность вызывать сценарий из отдельного файла по его имени называется в PHP подключением файлов. Подключают PHP-сценарии, любые текстовые файлы или HTML-страницы.
- 21 ноября 2022
Массивы в PHP
Массив — это ещё один тип данных, вроде числа или строки. Главное отличие массива от остальных типов данных заключается в его способности хранить в переменной больше одного значения. В предыдущих примерах имя переменной всегда ассоциировалось только с одним значением:
- $name = «Иннокентий»
- $age = 42
А если мы хотим узнать не только пол, имя и возраст пользователя, но и, допустим, любимые сериалы? Очень непросто назвать один самый любимый сериал, а вот вспомнить несколько — намного легче. Сохранение в переменную-массив нескольких значений выглядит так:
$fav_shows = ["game of thrones", "american horror story", "walking dead"];
В этом примере мы сохранили в переменной $fav_shows сразу три значения. Но сохранить эти данные — это только половина дела. Как с ними потом работать? Уже знакомый вам способ вывода переменной на экран не будет работать с массивами:
Так увидеть список любимых сериалов не получится. Дело в том, что массив — это не обычная переменная. Массив хранит не простые типы, вроде текста или чисел (их ещё называют «скалярными типами»), а более сложную структуру данных, поэтому здесь нужен особый подход.
Внутри массива у каждого значения есть адрес, по которому к нему можно обратиться. Такой адрес называется индексом. Индекс — это просто порядковый номер значения внутри массива. Индексация начинается с нуля, так что первый элемент получает индекс — 0 , второй — 1 , и так далее.
Чтобы получить определенный элемент массива, необходимо знать его индекс (ключ). Напечатаем названия всех сериалов из массива через запятую:
Теперь можно дать определение массива: Массив — это совокупность множества элементов вида «ключ: значение».
Массивы позволяют перезаписывать существующие значения и добавлять новые. Добавить новое значение в массив можно так:
$fav_shows[] = "the big bang theory";
Новый элемент автоматически получит индекс равный максимальному индексу из существующих + 1. «Теория большого взрыва» сохранится в массиве под индексом 3 .
Если нам перестал нравиться один из сериалов, так как новый сезон оказался очень плох или появился новый фаворит, значения в массиве можно заменить. Чтобы вычеркнуть старое значение и заменить его новым, нужно присвоить новое значение любому из существующих в массиве индексов:
$fav_shows[4] = "fargo";
Для полного удаления (без замены на другое) значения по его индексу существует функция unset :
unset($fav_shows[4]);
- 10 ноября 2022
Синтаксис PHP
Разберёмся, из чего состоит любой язык программирования.
У каждого языка есть правила и конструкции, следуя которым мы выражаем мысли и делаем их понятными для другого человека. В программировании всё точно так же. Но вместо человеческого языка мы используем язык программирования PHP, а в роли нашего собеседника выступает PHP-интерпретатор. Поэтому, чтобы выразить свою мысль, мы должны сделать её понятной для интерпретатора.
- 27 октября 2022
Массивы $_POST и $_GET в PHP. Обработка форм
Формы — это часть языка HTML. Формы нужны для передачи данных от клиента на сервер. Чаще всего формы используются для регистрации пользователей, заполнения анкет, оформления заказа в интернет магазине, и так далее.
Через формы можно отправлять как простую текстовую информацию, так и файлы.
Большую часть времени программирования на PHP вы будете так или иначе работать с формами и данными из них.
HTML описывает то, из каких элементов состоит форма, и как она выглядит. Но без принимающей стороны, то есть сервера, который принимает эти данные и обрабатывает их нужным образом, создавать формы нет никакого смысла.
PHP содержит множество средств для работы с формами. Это позволяет очень просто решать типичные задачи, которые часто возникают в веб-программировании:
- Регистрация и аутентификация пользователя;
- Отправка комментариев на форумах и социальных сетях;
- Оформление заказов.
Практически любой современный сайт содержит как минимум несколько разных HTML-форм.
- 20 октября 2022
Учебник по PHP
- Знакомство с языком
- Что такое PHP
- Синтаксис PHP
- Массивы
- Циклы
- Функции
- Шаблонизация и подключение файлов
- Подключение файлов
- Шаблонизация
- Протокол HTTP и формы
- Протокол HTTP
- Формы
- Уязвимости
- Идентификация пользователя на сайте
- Аутентификация пользователя
- Базы данных
- База данных
- SQL
- MySQL в PHP
- Безопасность в MySQL
- Объекты и использование библиотек
- Объекты
- Библиотеки
- Composer
- 10 сентября 2022
Протокол HTTP и работа с заголовками
Весь современный веб построен на модели взаимодействия клиента и сервера. Как она работает:
- браузер пользователя (клиент) отправляет на сервер запрос с адресом сайта (URL);
- сервер получает запрос и отдаёт клиенту запрошенный контент.
Для реализации процесса используется универсальный протокол HTTP.
- 10 сентября 2022
Защита от SQL-инъекций
Внедрение SQL-кода (SQL инъекция) — один из распространённых способов взлома сайтов, работающих с базами данных. Способ основан на внедрении в запрос произвольного SQL-кода. Внедрение SQL позволяет хакеру выполнить произвольный запрос к базе данных (прочитать содержимое любых таблиц, удалить, изменить или добавить данные).
Атака этого типа возможна, когда недостаточно фильтруются входные данные при использовании в SQL-запросах.
- 10 сентября 2022
Объекты и классы в PHP
Объекты в PHP — это просто ещё один тип данных. Объект позволяет хранить в переменной набор из свойств и их значений, а также встроенные функции. Это делает объекты похожими по своей структуре на ассоциативные массивы. Но отличие от массивов всё-таки есть, и при этом достаточно важное — объекты могут иметь внутреннее состояние.
- 10 сентября 2022