Как использовать PHP в качестве бэкэнда при использовании React for Frontend

Как использовать PHP в качестве бэкэнда при использовании React for Frontend

23 июля 2025 г.

Введение

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

Понимание отдельных ролей PHP и реагировать

Что такое PHP?

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

Достоинства PHP

Ниже приведены несколько достоинств PHP:

Простота обучения и использования:

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

Широкое принятие и поддержка сообщества:

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

Возможности интеграции:

PHP легко интегрируется с различными базами данных (например, MySQL, PostgreSQL, SQLite), веб -серверами (например, Apache и Nginx) и другими службами. Это делает его универсальным выбором для веб -разработки.

Открытый исходный код:

PHP свободен для использования и распространения. Это снижает стоимость развития, особенно для малых предприятий и стартапов.

Кроссплатформенная совместимость:

PHP может работать на нескольких платформах, включая Windows, Linux и MacOS. Эта гибкость гарантирует, что приложения PHP могут быть развернуты в различных средах без проблем совместимости.

Недостатки PHP

Ниже приведены несколько недостатков PHP.

  1. Непоследовательная функция именования и порядка параметров:

    Одним из общих критических замечаний PHP является его непоследовательная функция, согласно которой соглашения о наименовании и порядок параметров. Например, функции могут иметь разные шаблоны именования (str_replaceпротивstrpos) Заказы параметров (array_filter($array, $callback) против.array_map($callback, $array)) Это несоответствие может привести к путанице и ошибкам, особенно для новых разработчиков.

  2. Исторические вопросы безопасности:

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

  3. Производительность по сравнению с другими языками:

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

  4. Слабая набор:

    Слабая система печати PHP, которая допускает неявные преобразования типа, может привести к неожиданному поведению и ошибкам, которые трудно отслеживать. Например, сравнение строки с числом может дать неожиданные результаты ("123" == 123Это правда, но"123" === 123это ложное. Это может быть проблематично, особенно для больших, сложных кодовых баз.

5Чрезмерная зависимость от старого процедурного кода:

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

Что такое React?

React JS является декларативной, эффективной и гибкой библиотекой JavaScript для создания пользовательских интерфейсов. Это «V» в MVC. ReactJS-это фронтальная библиотека на основе компонентов с открытым исходным кодом, отвечающую только за просмотр слоя приложения. Это поддерживается Facebook.

Достоинства React JS

Ниже приведены несколько достоинств React.js.

  1. Архитектура на основе компонентов:

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

  2. Виртуальный DOM для улучшения производительности:

    React использует виртуальный DOM (модель объекта документа) для оптимизации производительности рендеринга. При изменении состояния приложения отреагирует обновления виртуального DOM, который затем эффективно обновляет фактический DOM, только где это необходимо. Это сводит к минимуму прямые манипуляции с DOM, что приводит к более быстрым и более эффективным обновлениям, особенно полезным для сложных приложений с частыми изменениями пользовательского интерфейса.

  3. Декларативный пользовательский интерфейс:

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

  4. Богатая экосистем и поддержка сообщества:

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

  5. Сильная поддержка JSX:

    React использует JSX (JavaScript XML), расширение синтаксиса, которое позволяет записать HTML в JavaScript. JSX упрощает процесс создания компонентов React и делает код более читабельным, визуально отделяя структуру (HTML) от логики (JavaScript). Эта плотная интеграция разметки с логикой повышает эффективность разработки и снижает переключение контекста для разработчиков.

Недостатки React JS

Ниже приведены несколько недостатков React.js.

  1. Крутая кривая обучения:

    Гибкость React и широкий спектр инструментов и библиотек в ее экосистеме могут сделать кривую обучения крутой для начинающих. Понимание концепций, таких как JSX, компоненты, управление государством и тонкости виртуального DOM, может быть сложной задачей для новых разработчиков.

  2. Шаблон и сложность:

    Настройка проекта React часто включает в себя значительный код и конфигурацию шаблон. Такие инструменты, как Create React App, упрощают начальную настройку, но по мере роста проектов сложность может увеличиться, требуя дополнительной конфигурации и понимания таких инструментов сборки, как WebPack и Babel.

  3. Быстро меняющаяся среда:

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

  4. Бедный SEO:

    По умолчанию React рендегирует приложения на стороне клиента, что может привести к плохой производительности SEO, поскольку сканеры в поисковых системах могут испытывать трудности с индексацией динамического содержания. Хотя существуют решения, такие как рендеринг на стороне сервера (SSR), с такими фреймворками, как Next.js, внедрение их добавляет сложность в проект.

  5. Сложность управления государством:

    Управление состоянием в больших приложениях React может стать сложным. В то время как встроенное управление государством React хорошо работает для небольших приложений, для масштабирования требуется более сложные решения для управления состоянием, такие как Redux, Mobx или Context API. Эти решения добавляют еще один уровень сложности и требуют дополнительного обучения и настройки.

Синергия между PHP и реагирует в современных веб -приложениях

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

5 преимуществ использования PHP с React

Примечание: преимущества более пяти, но вот несколько перечисленных!

1. Универсальность полного стека

Интеграция фронта и бэкэнд:

  • Бесплатная обработка данных:React эффективно управляет передней частью, в то время как PHP может обрабатывать логику на стороне сервера и обмены данными, что приводит к когерентной среде разработки.
  • Развитие API, управляемое:Поставляя данные на фронта React с помощью GraphQL или RESTFUL ENDELPOINT, PHP может функционировать как мощный API бэкэнд, что позволяет получить четкое разделение обязанностей.

Эффективность развития:

  • Параллельное развитие:Команды, работающие над проектами, одновременно, могут ускорить разработку и устранить узкие места.
  • Повторно используемые компоненты:Разработка фронта является более модульной и управляемой из-за конструкции на основе компонентов React, что гарантирует, что элементы пользовательского интерфейса используются повторно.

2. Масштабируемость

Управление более высокой нагрузкой:

  • Эффективный бэкэнд:PHP -фреймворки, такие как Laravel, предназначены для эффективного управления огромными объемами данных и запросов пользователей, обработки сложных и масштабируемых процессов бэкэнд.
  • Оптимизация фронта:Даже с замысловатыми и интенсивными приложениями, виртуальные DOM React и эффективная техника различий гарантирует быстрые и отзывчивые изменения пользовательского интерфейса.

Архитектура микросервисов:

  • Модульный подход:Различные услуги могут масштабироваться независимо, когда PHP включен в архитектуру микросервисов. React облегчает масштабируемость, позволяя ему использовать эти услуги по мере необходимости.
  • Распределение бремени:Программа в целом может умело уметь управлять большим трафиком, делясь на бремя между PHP, которая обрабатывает операции на стороне сервера, и реагировать, что обрабатывает взаимодействие на стороне клиента.

3. Производительность

Быстрое время загрузки:

  • Рендеринг на стороне сервера (SSR):Первоначальный HTML может быть предопределен PHP и отправлена клиенту; После этого React может увлажнить его. Этот метод повышает пользовательский опыт и ускоряет начальное время загрузки.
  • Асинхронное извлечение данных:Используя ReAct, данные могут быть извлечены из бэкэнда PHP асинхронно, поддерживая отзывчивый пользовательский интерфейс и эффективную обработку изменений данных.

Усовершенствованное общение:

  • Эффективное управление государством:Особенности управления государством React, такие как контекст и крючки, обеспечивают лучшую обработку изменений состояния пользовательского интерфейса, что сводит к минимуму необходимость бессмысленных повторных ресурсов.
  • Кэширование и оптимизация:PHP может использовать методы кэширования на стороне сервера для ускорения обслуживания статического материала и более низкого спроса в базе данных, что повышает производительность.

Богатые пользовательские интерфейсы

Интерфейс и динамические интерфейсы:

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

Обновления в реальном времени:React способен обрабатывать динамические изменения контента и обновления в режиме реального времени с эффективностью, что делает для плавного и интересного пользовательского опыта.

Улучшенный пользовательский опыт:

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

5. SEO-дружелюбный

Лучшая оптимизация для поисковых систем:

  • Рендеринг на стороне сервера (SSR):Предварительное предоставление HTML-контент с использованием PHP перед предоставлением его клиенту гарантирует лучшую индексацию поисковых систем и SEO.
  • Метатеги и динамический материал:Используя информацию из бэкэнда PHP, React может динамически управлять и обновлять метатеги, названия и другие SEO-релевантные материалы.

Лучшая ползание:

  • Статическое генерация сайта (SSG):React может создавать статические страницы во время сборки, улучшая SEO приложения, сохраняя при сохранении PHP для динамического содержания, используя решения, такие как Next.js, который поддерживает как SSR, так и SSG.
  • Структура URL:React может обрабатывать маршрутизацию и навигацию, убедившись, что посетители и поисковые системы могут легко исследовать сайт, в то время как PHP может управлять четкими, удобными для SEO-структурами URL.

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

Создание PHP и реагирования среды разработки

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

Предварительные условия

Есть вещи, которые вам нужно знать как разработчик или вещи, которые вам нужно иметь, чтобы иметь возможность заставить PHP работать в качестве бэкэнда с React. Вот основной список!

  • Иметь базовые знания о PHP
  • Знай свой React.js
  • Убедитесь, что Node.js, сопровождаемый NPM, установлен на вашей машине.
  • Установите PHP в вашей системе, либо Apache, либо Nginx

Пошаговый процесс использования PHP в качестве бэкэнда с использованием React в качестве фронтального

Шаг для использования PHP в качестве бэкэнда вместе с React довольно прост, и это следующее.

Строительство фронта

Шаг 1:Откройте свой терминал и запустите следующую команду:

npx create-react-app my-react-app

Примечание. Перед выполнением этой команды вы должны пройти CD в каталог, где вы хотите, чтобы ваша папка React была! Путь к CD к вашему желаемому каталогу - добавление этой команды в ваш терминал.

cd Documents

После этого вы будете ждать создания вашего приложения React.

Шаг 2:Перейдите к папке проекта. Только что созданный вами проект должен быть посещен в терминале.

cd my-react-app

Шаг 3:Запустите сервер разработки:

npm start

Создание бэкэнда PHP

Пришло время построить бэкэнд PHP теперь, когда ваше приложение React работает:

Шаг 1:Создайте новую папку для ваших файлов PHP в вашем каталоге приложений React. Чтобы достичь этого, запустите следующую команду на вашем терминале.

mkdir php_backend

Запустив эту команду, вы увидите папку с именем php_backend.

For Emphasis's sake!

Шаг 2:Внутри папки PHP-Backend создайте файл с именемindex.phpПолем ПРИМЕЧАНИЕ: вы можете называть это любое имя. В моем случае я решил использоватьindex.phpПолем

For Emphasis's sake!

Шаг 3:Вindex.phpВы можете начать определять свои конечные точки PHP и логику. Ниже приведено то, что написано в моемphp-backend/index.phpПолем Если вы разработчик PHP, вы будете знакомы с этим синтаксисом.

<?PHP 
$serverName="localhost"; 
$userName="root"; 
$password=""; 
$databaseName="react_php"; 
$conn = mysqli_connect($serverName, $userName, $password, $databaseName);

$recText = $_POST['text'];

$query = ("INSERT INTO react_php (texts) VALUES('$recText')");

if (mysqli_query($conn, $query)) { 
  echo "Data has been inserted successfully"; 
}else { 
   echo "Error"; 
} 
?>

Теперь следующее, что нужно сделать, это перейти к коду React, который вы создали ранее, и откройте папку в вашем редакторе кода. Вы увидите папку, какsrc/App.jsи добавьте этот синтаксис ниже.

import React, { Component } from 'react';
 // import logo from './logo.svg';
import axios from 'axios'; //Import Axios
import './App.css';

class App extends Component{
state = {
  text : ""
}
handleAdd = async e =>{
 await this.setState({
   text : e.target.value
 }) 
}
handleSubmit = e =>{
 e.preventDefault();
 console.log(this.state.text);
 let formData = new FormData();
 formData.append("text", this.state.text);
 const url = "http://localhost:80/react-backend/"
 axios.post(url,formData)
 .then(res=> console.log(res.data))
 .catch(err=> console.log(err))
}
render(){
  return(
    <div className="App-header">
     <input 
       onChange={this.handleAdd}
       className="form-control" 
       // value={this.state.text}
       type="text" 
       id='text' 
       placeholder='Enter Some Text!'/> 
       <br/>
       <button 
        onClick={this.handleSubmit}
        className="btn btn-success" 
        id='submit'>  Save</button>
    </div>
  );
}

}
export default App;

Примечание: то, что позволяет PHP работатьAxiosПолем Посмотрите на фрагмент кода ниже. Вы увидите, как мы его использовали!

В публичной папке вашего проекта вы увидитеindex.htmlВ этом файле я добавил Bootstrap CDN в качестве фреймворка, которую я использую.

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/css/bootstrap.min.css">

Итак, вот небольшой стиль.

.App {
  text-align: center;
}

.App-logo {
  height: 40vmin;
  pointer-events: none;
}

@media (prefers-reduced-motion: no-preference) {
  .App-logo {
   animation: App-logo-spin infinite 20s linear;
  }
}

 .App-header {
   background-color: #282c34;
   min-height: 100vh;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   font-size: calc(10px + 2vmin);
   color: white;
 }

 .App-link {
   color: #61dafb;
 }

 @keyframes App-logo-spin {
 from {
  transform: rotate(0deg);
 }
 to {
  transform: rotate(360deg);
 }
}

Попробовав все это, вот взгляд, который вы увидите.

View of what you’ll see!

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

The Database Table.

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

Sample Of What The Inserted Table Looks Like

Это шаг, который я использовал в React и PHP в одном приложении.

Заключение

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

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

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

Об авторе

Застройщик Laravel Pull-StackЭммануэль Околиимеет4+Многолетний опыт разработки программного обеспечения. Он разработал полноценные навыки, объединяя разработку программного обеспечения, написание и обучение другим тому, что он делает.

Его стеки включаютReactJSВLaravelВPHPВJavaScriptи другие языки и рамки. Как фрилансер, он создает веб -сайты для клиентов и пишет технические гиды, чтобы показать людям, как делать то, что он делает.

Если дай шанс,Эммануэль ОколиМне понравится говорить с вами. Пожалуйста, иди и следуй за ним на еговеб -сайт, Facebook,GitHubВLinkedIn, иTwitterПолем


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE